diff --git a/docs/02-schema-layering.md b/docs/02-schema-layering.md index d5987709f..4ca4e8379 100644 --- a/docs/02-schema-layering.md +++ b/docs/02-schema-layering.md @@ -72,10 +72,13 @@ platform behind. ### `entity` and `entity-component` — the nouns -The eleven root schemas (`material`, `model`, `method`, `workflow`, `job`, `project`, `element`, -`context-provider`, and the material variants) plus the components they are assembled from — -`material/material_properties`, `workflow/unit/*`, `model/mixins/*`, `method/unit_method`, and so -on. [Entity anatomy](entity-anatomy.html) covers these in detail. +The fifteen root schemas — `material`, `model`, `method`, `workflow`, `job`, `project`, `element`, +`context-provider` and the material variants on the computational side, `sample`, `instrument`, +`measurement` and `process` on the experimental one — plus the components they are assembled from: +`material/material_properties`, `workflow/unit/*`, `model/mixins/*`, `method/unit_method`, +`sample/layer`, `process/step` and so on. [Entity anatomy](entity-anatomy.html) covers these in +detail, and [Experimental data](experimental-data.html) covers how the two families mirror each +other. ### `category`, `directory` and `application-parsing` — the catalogues diff --git a/docs/03-entity-anatomy.md b/docs/03-entity-anatomy.md index 466c14f9d..0e0b483c6 100644 --- a/docs/03-entity-anatomy.md +++ b/docs/03-entity-anatomy.md @@ -6,10 +6,15 @@ summary: The root entities, how they compose, and why there are four kinds of ma # Entity anatomy -Eleven schemas sit at the top level of `schema/`. They are the nouns of the domain — the things a +Fifteen schemas sit at the top level of `schema/`. They are the nouns of the domain — the things a user creates, names, owns and looks at — and everything else in the repository exists to define, categorize or support them. +Eleven of them describe computational work. The other four — `sample`, `instrument`, `measurement` +and `process` — describe experimental work, and each is built as the mirror of a computational one +rather than as a separate vocabulary. [Experimental data](experimental-data.html) sets out the +correspondence; the sections below cover the computational originals. + ## Material A material is a structure plus what is known about it. It is assembled entirely by composition: @@ -96,7 +101,8 @@ shape: `scalar` (total energy, pressure, band gap), `non-scalar` (band structure states, charge density), `structural`, `elemental` and `workflow` (convergence monitors). They are tied together by `property/holder`, which is the widest schema in the corpus: its `data` -field is a union over every property type, on top of one mixin and one provenance reference. That +field is a union over every property type, on top of one mixin and a `source` whose `info` is +itself a small union over where the value came from: a job, a measurement or a process. That one file is why "what property types exist?" has a single answer, and it is the clearest illustration of the union idiom in ESSE. On the [ontology map](../map/index.html) it is the node with by far the largest fan-out. diff --git a/docs/10-experimental-data.md b/docs/10-experimental-data.md new file mode 100644 index 000000000..c4c014113 --- /dev/null +++ b/docs/10-experimental-data.md @@ -0,0 +1,90 @@ +--- +title: Experimental data +order: 10 +summary: The four experimental entities, and why each one mirrors a computational one. +--- + +# Experimental data + +ESSE began as a description of simulation: a [material](entity-anatomy.html) is characterized by +properties produced by a model, realized by a method, run as a workflow inside a job. Experimental +work has the same shape and different nouns. A specimen is measured on an instrument; a film is +grown by a process on another instrument; the numbers that come out are properties like any other. + +Rather than invent a parallel vocabulary, each experimental entity is built as the **mirror** of the +computational one it corresponds to, composing the same mixins and keeping the fields that transfer. + +## The mirror + +| Computational | Experimental | What the mirror keeps | +| --- | --- | --- | +| `material` | `sample` | the same `named_defaultable` mixin, `formula`, `external`, `src`; `basis` and `lattice` become an optional `_material` reference, because a specimen may have no known structure | +| `software/application` | `instrument` | `shortName` and `summary`; `version` becomes `firmware` and `build` becomes `serialNumber`, which is what identifies a physical unit | +| `job` | `measurement` | `status`, timing, `_project`; `compute` becomes `instrument`, `_material` becomes `_sample` | +| `workflow` | `process` | the five composition branches; `subworkflows` become `stages`, `units` become `steps`, and the `application` a workflow names becomes the instrument each stage runs on | +| `property` | `property` | unchanged — see below | + +Read it as one sentence. A **sample** is characterized by **properties**; those properties are +produced by applying a **technique** on an **instrument** in a **measurement**; the sample itself is +produced by a **process** of **stages** and **steps**; measurements and processes belong to a +**project**, exactly as jobs do. + +## Properties do not fork + +This is the load-bearing decision. A measured film thickness is an ordinary `property/holder`: the +same `data` union, the same `exabyteId`, the same `repetition`. Only the source differs. + +```json +{ + "data": { "name": "film_thickness", "value": 140, "units": "nm" }, + "source": { + "type": "measurement", + "info": { "measurementId": "mXrf0042", "channel": "thickness" } + }, + "exabyteId": ["mXrf0042"], + "repetition": 0 +} +``` + +`source.info` is a union over where a value came from: `core/reference/exabyte` for a computed +result, `core/reference/measurement` for a measured one, `core/reference/process` for something read +off a fabrication record. The measurement reference is deliberately shaped like the job reference — +`measurementId` where a job has `jobId`, `channel` where a job has `unitId` — so a consumer that +already reads job provenance needs no new code path. + +The consequence is that a query for "band gap of this material" and one for "band gap of this +sample" return the same shape, and a plot can mix them. + +## Techniques are categorized, not enumerated + +`techniques_category` narrows the same `core/reusable/categories` tiers that `models_category` and +`methods_category` use. An atomic force microscopy scan is `experimental / characterization / +microscopy / scanning_probe_microscopy / atomic_force_microscopy`, in the same five-tier ladder a +density functional theory model sits in. Techniques that are not yet modelled in detail — sputtering, +molecular beam epitaxy, X-ray diffraction — exist as vocabulary values before they have schemas. + +## Where the split is visible + +The computational and experimental entities sit side by side under `schema/`, as peers, because that +is what they are: `$id` is a public contract and neither family is a sub-domain of the other. What +separates them is: + +- **the ontology map**, which colours the experimental entities as one family; +- **`categories.tier1`**, which is `experimental` on every measurement and process; +- **`source.type`** on a property, which says whether a number was computed or measured. + +None of these is a hand-maintained tag that can disagree with the schemas. Each is derived from the +record or from the path. + +## What a record looks like + +A combinatorial library is a `sample` with `form: library` and a grid of positions; each position is +a child `sample` with a `_parent` and a `position`. That child's identity is the join key: a +measurement points at it with `_sample`, and every property holder produced from that measurement +carries it. This is how a per-position thickness from an X-ray fluorescence map and a per-position +piezoresponse loop end up on the same specimen without a shared spreadsheet. + +Deposition records follow the process shape: one `process` per run, one `stage` per chamber, one +`step` per operation, with material `sources` (targets, precursors, gases) named once per stage and +referenced from the steps that use them. A cycle count lives on the step's `repeat`, which is the +only place it appears. diff --git a/docs/10-glossary.md b/docs/11-glossary.md similarity index 99% rename from docs/10-glossary.md rename to docs/11-glossary.md index bde5f7526..7dccf02ee 100644 --- a/docs/10-glossary.md +++ b/docs/11-glossary.md @@ -1,6 +1,6 @@ --- title: Glossary -order: 10 +order: 11 summary: The vocabulary of the repository, with pointers to where each idea is explained. --- diff --git a/docs/index.md b/docs/index.md index 927900905..2cbee676b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -48,7 +48,9 @@ Then, as you need them: and what the two runtimes do and do not guarantee. 8. **[Consuming ESSE](consuming-esse.html)** — using the schemas from Python and JavaScript. 9. **[Contributing a schema](contributing-a-schema.html)** — a worked example, end to end. -10. **[Glossary](glossary.html)** — the vocabulary, in one place. +10. **[Experimental data](experimental-data.html)** — the four experimental entities, and + why each mirrors a computational one. +11. **[Glossary](glossary.html)** — the vocabulary, in one place. ## Conventions in these pages diff --git a/example/core/abstract/multidimensional_array.json b/example/core/abstract/multidimensional_array.json new file mode 100644 index 000000000..94d3cddeb --- /dev/null +++ b/example/core/abstract/multidimensional_array.json @@ -0,0 +1,26 @@ +{ + "shape": [ + 2, + 3 + ], + "values": [ + 0.1, + 0.2, + 0.3, + 0.4, + 0.5, + 0.6 + ], + "axes": [ + { + "name": "y", + "start": 0, + "step": 0.5 + }, + { + "name": "x", + "start": 0, + "step": 0.5 + } + ] +} diff --git a/example/core/reference/measurement.json b/example/core/reference/measurement.json new file mode 100644 index 000000000..f85dcb5bd --- /dev/null +++ b/example/core/reference/measurement.json @@ -0,0 +1,7 @@ +{ + "type": "measurement", + "measurementId": "mPfmSpectroscopy0005", + "channel": "piezoresponsePhase", + "sampleId": "sAlScN6705p17", + "instrumentId": "iJupiter01" +} diff --git a/example/core/reference/process.json b/example/core/reference/process.json new file mode 100644 index 000000000..8961847f0 --- /dev/null +++ b/example/core/reference/process.json @@ -0,0 +1,6 @@ +{ + "type": "process", + "processId": "pLmc1699", + "stepFlowchartId": "s2", + "sampleId": "sAlScN6705" +} diff --git a/example/core/reusable/array_data.json b/example/core/reusable/array_data.json new file mode 100644 index 000000000..768b1e304 --- /dev/null +++ b/example/core/reusable/array_data.json @@ -0,0 +1,26 @@ +{ + "shape": [ + 256, + 256 + ], + "axes": [ + { + "name": "y", + "start": 0, + "step": 0.0078125 + }, + { + "name": "x", + "start": 0, + "step": 0.0078125 + } + ], + "units": "nm", + "dataType": "float32", + "file": { + "basename": "PFM_DART_raw.ibw", + "format": "asylum_ibw", + "role": "raw" + }, + "datasetPath": "HeightRetrace" +} diff --git a/example/core/reusable/environment.json b/example/core/reusable/environment.json new file mode 100644 index 000000000..46b61019f --- /dev/null +++ b/example/core/reusable/environment.json @@ -0,0 +1,11 @@ +{ + "temperature": { + "value": 295, + "units": "K" + }, + "atmosphere": "ambient", + "humidity": { + "value": 38, + "units": "percent" + } +} diff --git a/example/core/reusable/file_reference.json b/example/core/reusable/file_reference.json new file mode 100644 index 000000000..970dc1dc1 --- /dev/null +++ b/example/core/reusable/file_reference.json @@ -0,0 +1,12 @@ +{ + "basename": "PFM_DART_raw.ibw", + "pathname": "/data/utk/2026-03-13/", + "filetype": "binary", + "format": "asylum_ibw", + "size": 1688293, + "checksum": { + "algorithm": "sha256", + "value": "1a3f9c2b5d7e8f0a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f607182" + }, + "role": "raw" +} diff --git a/example/core/reusable/identifier.json b/example/core/reusable/identifier.json new file mode 100644 index 000000000..9dcd4c59e --- /dev/null +++ b/example/core/reusable/identifier.json @@ -0,0 +1,4 @@ +{ + "scheme": "htem", + "value": "6705" +} diff --git a/example/core/reusable/quantity/current.json b/example/core/reusable/quantity/current.json new file mode 100644 index 000000000..294152c3c --- /dev/null +++ b/example/core/reusable/quantity/current.json @@ -0,0 +1,4 @@ +{ + "value": 1.5, + "units": "nA" +} diff --git a/example/core/reusable/quantity/frequency.json b/example/core/reusable/quantity/frequency.json new file mode 100644 index 000000000..2412242a3 --- /dev/null +++ b/example/core/reusable/quantity/frequency.json @@ -0,0 +1,4 @@ +{ + "value": 372.177, + "units": "kHz" +} diff --git a/example/core/reusable/quantity/length.json b/example/core/reusable/quantity/length.json new file mode 100644 index 000000000..1f3d8f461 --- /dev/null +++ b/example/core/reusable/quantity/length.json @@ -0,0 +1,4 @@ +{ + "value": 140, + "units": "nm" +} diff --git a/example/core/reusable/quantity/pressure.json b/example/core/reusable/quantity/pressure.json new file mode 100644 index 000000000..73f75c57d --- /dev/null +++ b/example/core/reusable/quantity/pressure.json @@ -0,0 +1,4 @@ +{ + "value": 0.004, + "units": "Torr" +} diff --git a/example/core/reusable/quantity/temperature.json b/example/core/reusable/quantity/temperature.json new file mode 100644 index 000000000..965c0969d --- /dev/null +++ b/example/core/reusable/quantity/temperature.json @@ -0,0 +1,4 @@ +{ + "value": 300, + "units": "degC" +} diff --git a/example/core/reusable/quantity/time.json b/example/core/reusable/quantity/time.json new file mode 100644 index 000000000..96a9ffd75 --- /dev/null +++ b/example/core/reusable/quantity/time.json @@ -0,0 +1,4 @@ +{ + "value": 30, + "units": "min" +} diff --git a/example/core/reusable/quantity/voltage.json b/example/core/reusable/quantity/voltage.json new file mode 100644 index 000000000..4de77cb73 --- /dev/null +++ b/example/core/reusable/quantity/voltage.json @@ -0,0 +1,4 @@ +{ + "value": 0.5, + "units": "V" +} diff --git a/example/instrument.json b/example/instrument.json new file mode 100644 index 000000000..b1c5edb39 --- /dev/null +++ b/example/instrument.json @@ -0,0 +1,39 @@ +{ + "_id": "iJupiter01", + "name": "Jupiter scanning probe microscope", + "isDefault": true, + "shortName": "jupiter", + "summary": "Asylum Research Jupiter atomic force microscope with dual-frequency resonance tracking", + "vendor": "Asylum Research", + "model": "Jupiter", + "firmware": "19.34.88", + "techniques": [ + { + "tier1": "experimental", + "tier2": "characterization", + "tier3": "microscopy", + "type": "scanning_probe_microscopy", + "subtype": "piezoresponse_force_microscopy" + } + ], + "components": [ + { + "kind": "cantilever", + "name": "Multi75-EG", + "parameters": { + "springConstant": { + "value": 2.1868, + "units": "N/m" + }, + "inverseOpticalLeverSensitivity": { + "value": 82.055, + "units": "nm/V" + } + } + } + ], + "location": { + "facility": "University of Tennessee, Knoxville", + "laboratory": "Kalinin group" + } +} diff --git a/example/instrument/component.json b/example/instrument/component.json new file mode 100644 index 000000000..eb0214768 --- /dev/null +++ b/example/instrument/component.json @@ -0,0 +1,15 @@ +{ + "kind": "cantilever", + "name": "Multi75-EG", + "vendor": "BudgetSensors", + "parameters": { + "springConstant": { + "value": 2.1868, + "units": "N/m" + }, + "resonanceFrequency": { + "value": 372.177, + "units": "kHz" + } + } +} diff --git a/example/instrument/instrument_properties.json b/example/instrument/instrument_properties.json new file mode 100644 index 000000000..baf46800d --- /dev/null +++ b/example/instrument/instrument_properties.json @@ -0,0 +1,15 @@ +{ + "shortName": "pdac_com5", + "summary": "Combinatorial magnetron sputtering chamber", + "vendor": "National Laboratory of the Rockies", + "model": "PDAC COM5", + "techniques": [ + { + "tier1": "experimental", + "tier2": "synthesis", + "tier3": "vapor_deposition", + "type": "physical_vapor_deposition", + "subtype": "sputtering" + } + ] +} diff --git a/example/instrument/instrument_property.json b/example/instrument/instrument_property.json new file mode 100644 index 000000000..c80eb3a5a --- /dev/null +++ b/example/instrument/instrument_property.json @@ -0,0 +1,9 @@ +{ + "instrument": { + "_id": "iJupiter01", + "name": "Jupiter scanning probe microscope", + "vendor": "Asylum Research", + "model": "Jupiter", + "firmware": "19.34.88" + } +} diff --git a/example/measurement.json b/example/measurement.json new file mode 100644 index 000000000..580168d19 --- /dev/null +++ b/example/measurement.json @@ -0,0 +1,187 @@ +{ + "_id": "mPfmImage0004", + "name": "PFM scan of AlScN library 6705 position 17, 2 um", + "isDefault": false, + "status": "finished", + "startTime": "2026-03-13T18:05:58Z", + "endTime": "2026-03-13T18:13:24Z", + "operators": [ + { + "name": "Boris Slautin", + "affiliation": "University of Tennessee, Knoxville" + } + ], + "categories": { + "tier1": "experimental", + "tier2": "characterization", + "tier3": "microscopy", + "type": "scanning_probe_microscopy", + "subtype": "piezoresponse_force_microscopy" + }, + "_sample": { + "_id": "sAlScN6705p17", + "cls": "Sample", + "slug": "alscn-library-6705-position-17" + }, + "samplePosition": { + "index": 17, + "coordinate": [ + 25.4, + 19.15 + ], + "units": "mm", + "coordinateSystem": "library_grid" + }, + "instrument": { + "_id": "iJupiter01", + "name": "Jupiter scanning probe microscope", + "shortName": "jupiter", + "vendor": "Asylum Research", + "model": "Jupiter", + "firmware": "19.34.88" + }, + "environment": { + "temperature": { + "value": 295, + "units": "K" + }, + "atmosphere": "ambient", + "humidity": { + "value": 38, + "units": "percent" + } + }, + "parameters": { + "mode": "dual_ac_resonance_tracking", + "scanRange": { + "x": { + "value": 2, + "units": "um" + }, + "y": { + "value": 2, + "units": "um" + } + }, + "scanOffset": { + "x": { + "value": -1.476, + "units": "um" + }, + "y": { + "value": 0.8707, + "units": "um" + } + }, + "scanAngle": { + "value": 90, + "units": "degree" + }, + "scanPoints": { + "x": 256, + "y": 256 + }, + "scanRate": { + "value": 2.0032, + "units": "Hz" + }, + "scanDirection": "down", + "setpoint": { + "value": 0.8, + "units": "V" + }, + "driveAmplitude": { + "value": 0.5, + "units": "V" + }, + "driveFrequency": { + "value": 372.177, + "units": "kHz" + }, + "probe": { + "kind": "cantilever", + "name": "Multi75-EG", + "parameters": { + "springConstant": { + "value": 2.1868, + "units": "N/m" + } + } + } + }, + "data": [ + { + "name": "height", + "direction": "backward", + "description": "Topography, from the HeightRetrace layer of the source file", + "data": { + "shape": [ + 256, + 256 + ], + "axes": [ + { + "name": "y", + "start": 0, + "step": 0.0078125 + }, + { + "name": "x", + "start": 0, + "step": 0.0078125 + } + ], + "units": "um", + "dataType": "float32", + "file": { + "basename": "PFM_DART_raw.ibw", + "format": "asylum_ibw", + "size": 1688293, + "role": "raw" + }, + "datasetPath": "HeightRetrace" + } + }, + { + "name": "piezoresponsePhase", + "direction": "backward", + "data": { + "shape": [ + 256, + 256 + ], + "axes": [ + { + "name": "y", + "start": 0, + "step": 0.0078125 + }, + { + "name": "x", + "start": 0, + "step": 0.0078125 + } + ], + "units": "degree", + "dataType": "float32", + "file": { + "basename": "PFM_DART_raw.ibw", + "format": "asylum_ibw", + "role": "raw" + }, + "datasetPath": "Phase1Retrace" + } + } + ], + "rawFiles": [ + { + "basename": "PFM_DART_raw.ibw", + "format": "asylum_ibw", + "size": 1688293, + "role": "raw" + } + ], + "metadata": { + "imagingMode": "PFM Mode" + } +} diff --git a/example/measurement/base.json b/example/measurement/base.json new file mode 100644 index 000000000..af3ea744a --- /dev/null +++ b/example/measurement/base.json @@ -0,0 +1,61 @@ +{ + "_id": "mPfmSpectroscopy0005", + "name": "PFM switching spectroscopy, PLZT film", + "status": "finished", + "startTime": "2026-07-07T17:36:48Z", + "categories": { + "tier1": "experimental", + "tier2": "characterization", + "tier3": "microscopy", + "type": "scanning_probe_microscopy", + "subtype": "piezoresponse_force_microscopy" + }, + "_sample": { + "_id": "sPlzt0005", + "cls": "Sample", + "slug": "plzt-sol-gel-film" + }, + "parameters": { + "mode": "dual_ac_resonance_tracking", + "scanRange": { + "x": { + "value": 3.75, + "units": "um" + }, + "y": { + "value": 3.75, + "units": "um" + } + }, + "driveAmplitude": { + "value": 0.5, + "units": "V" + }, + "driveFrequency": { + "value": 372.7, + "units": "kHz" + }, + "biasWaveform": { + "type": "triangle_square", + "amplitude": { + "value": 9, + "units": "V" + }, + "frequency": { + "value": 0.9058, + "units": "Hz" + }, + "cycles": 2, + "pointsPerSecond": 2000, + "offField": true + } + }, + "rawFiles": [ + { + "basename": "PLZT_0005.ibw", + "format": "asylum_ibw", + "size": 226514, + "role": "raw" + } + ] +} diff --git a/example/measurement/data/channel.json b/example/measurement/data/channel.json new file mode 100644 index 000000000..42577e938 --- /dev/null +++ b/example/measurement/data/channel.json @@ -0,0 +1,31 @@ +{ + "name": "piezoresponsePhase", + "direction": "backward", + "description": "Off-field phase against tip bias at one point of a switching-spectroscopy grid", + "data": { + "xAxis": { + "label": "bias", + "units": "V" + }, + "yAxis": { + "label": "phase", + "units": "degree" + }, + "xDataArray": [ + -9, + -4.5, + 0, + 4.5, + 9 + ], + "yDataSeries": [ + [ + 178.2, + 175.4, + 20.1, + 4.3, + 3.1 + ] + ] + } +} diff --git a/example/measurement/parameters/scanning_probe_microscopy.json b/example/measurement/parameters/scanning_probe_microscopy.json new file mode 100644 index 000000000..683dfc0aa --- /dev/null +++ b/example/measurement/parameters/scanning_probe_microscopy.json @@ -0,0 +1,40 @@ +{ + "mode": "tapping", + "scanRange": { + "x": { + "value": 2, + "units": "um" + }, + "y": { + "value": 2, + "units": "um" + } + }, + "scanPoints": { + "x": 256, + "y": 256 + }, + "scanRate": { + "value": 1, + "units": "Hz" + }, + "scanDirection": "down", + "setpoint": { + "value": 0.7, + "units": "V" + }, + "driveFrequency": { + "value": 305.2, + "units": "kHz" + }, + "probe": { + "kind": "cantilever", + "name": "AC160TS", + "parameters": { + "springConstant": { + "value": 26, + "units": "N/m" + } + } + } +} diff --git a/example/process.json b/example/process.json new file mode 100644 index 000000000..4d40b98a7 --- /dev/null +++ b/example/process.json @@ -0,0 +1,282 @@ +{ + "_id": "pLmc1699", + "name": "LaMoN deposition and anneal, run 1699", + "description": "Three-stage combinatorial sputter run recorded by the National Laboratory of the Rockies lab system: an aluminium deposition, a lanthanum and molybdenum co-deposition with an in-situ anneal, and a second aluminium deposition.", + "status": "finished", + "startTime": "2022-11-14T00:00:00Z", + "operators": [ + { + "name": "Rebecca Smaha", + "affiliation": "National Laboratory of the Rockies" + } + ], + "categories": { + "tier1": "experimental", + "tier2": "synthesis", + "tier3": "vapor_deposition", + "type": "physical_vapor_deposition", + "subtype": "sputtering" + }, + "properties": [ + "film_thickness" + ], + "identifiers": [ + { + "scheme": "lmc", + "value": "1699" + } + ], + "_inputSamples": [ + { + "_id": "sSubstratePSi", + "cls": "Sample", + "slug": "p-type-silicon-substrate" + } + ], + "stages": [ + { + "name": "Aluminium deposition", + "index": 1, + "categories": { + "tier1": "experimental", + "tier2": "synthesis", + "tier3": "vapor_deposition", + "type": "physical_vapor_deposition", + "subtype": "sputtering" + }, + "instrument": { + "_id": "iPdacCom5", + "name": "PDAC COM5 combinatorial sputtering chamber", + "shortName": "pdac_com5", + "vendor": "National Laboratory of the Rockies", + "model": "PDAC COM5" + }, + "sources": [ + { + "kind": "target", + "id": "aluminium", + "formula": "Al", + "position": "BC", + "supply": "rf", + "power": { + "forward": { + "value": 60, + "units": "W" + }, + "reflected": { + "value": 0, + "units": "W" + } + }, + "voltage": { + "value": 245, + "units": "V" + } + }, + { + "kind": "gas", + "id": "nitrogen", + "formula": "N2", + "role": "reactive", + "flowRate": { + "value": 5, + "units": "sccm" + } + }, + { + "kind": "gas", + "id": "argon", + "formula": "Ar", + "role": "sputtering", + "flowRate": { + "value": 8, + "units": "sccm" + } + } + ], + "environment": { + "pressure": { + "value": 0.004, + "units": "Torr" + }, + "atmosphere": "vacuum" + }, + "notes": "Base pressure measured before deposition. Substrate: half a p-type Si(100) wafer with tungsten on the back. Rotation 60 rpm.", + "steps": [ + { + "name": "Pre-sputter", + "flowchartId": "s1-presputter", + "head": true, + "next": "s1-deposition", + "type": "pre_sputter", + "status": "finished", + "duration": { + "value": 30, + "units": "min" + } + }, + { + "name": "Deposition", + "flowchartId": "s1-deposition", + "type": "deposition", + "status": "finished", + "duration": { + "value": 30, + "units": "min" + }, + "setpoints": { + "temperature": { + "value": 20, + "units": "degC" + }, + "pressure": { + "value": 0.004, + "units": "Torr" + }, + "substrateRotation": { + "value": 60, + "units": "rpm" + } + } + } + ] + }, + { + "name": "Lanthanum and molybdenum co-deposition with anneal", + "index": 2, + "categories": { + "tier1": "experimental", + "tier2": "synthesis", + "tier3": "vapor_deposition", + "type": "physical_vapor_deposition", + "subtype": "sputtering" + }, + "instrument": { + "_id": "iPdacCom5", + "name": "PDAC COM5 combinatorial sputtering chamber", + "shortName": "pdac_com5", + "vendor": "National Laboratory of the Rockies", + "model": "PDAC COM5" + }, + "sources": [ + { + "kind": "target", + "id": "lanthanum", + "formula": "La", + "position": "L", + "supply": "rf", + "power": { + "forward": { + "value": 73, + "units": "W" + }, + "reflected": { + "value": 1, + "units": "W" + } + }, + "voltage": { + "value": 207, + "units": "V" + } + }, + { + "kind": "target", + "id": "molybdenum", + "formula": "Mo", + "position": "R", + "supply": "rf", + "power": { + "forward": { + "value": 54, + "units": "W" + }, + "reflected": { + "value": 3, + "units": "W" + } + }, + "voltage": { + "value": 201, + "units": "V" + } + } + ], + "environment": { + "pressure": { + "value": 0.0031, + "units": "Torr" + }, + "atmosphere": "vacuum" + }, + "notes": "Post-deposition anneal 30 min in N2 with the cracker on, heater set point 850 C, read 747 C.", + "steps": [ + { + "name": "Deposition", + "flowchartId": "s2-deposition", + "head": true, + "next": "s2-anneal", + "type": "deposition", + "status": "finished", + "duration": { + "value": 90, + "units": "min" + } + }, + { + "name": "In-situ anneal", + "flowchartId": "s2-anneal", + "type": "anneal", + "status": "finished", + "duration": { + "value": 30, + "units": "min" + }, + "setpoints": { + "temperature": { + "value": 850, + "units": "degC" + }, + "sourceId": "nitrogen" + }, + "logs": [ + { + "xAxis": { + "label": "time", + "units": "min" + }, + "yAxis": { + "label": "temperature", + "units": "degC" + }, + "xDataArray": [ + 0, + 15, + 30 + ], + "yDataSeries": [ + [ + 742, + 747, + 747 + ], + [ + 850, + 850, + 850 + ] + ] + } + ] + } + ] + } + ], + "tags": [ + "alphafilm", + "nlr" + ], + "metadata": { + "sourceFormat": "lmc-1.0" + } +} diff --git a/example/process/base.json b/example/process/base.json new file mode 100644 index 000000000..83cf8a349 --- /dev/null +++ b/example/process/base.json @@ -0,0 +1,96 @@ +{ + "categories": { + "tier1": "experimental", + "tier2": "synthesis", + "tier3": "vapor_deposition", + "type": "chemical_vapor_deposition", + "subtype": "atomic_layer_deposition" + }, + "properties": [ + "film_thickness" + ], + "status": "finished", + "stages": [ + { + "name": "AlN plasma atomic layer deposition", + "index": 1, + "categories": { + "tier1": "experimental", + "tier2": "synthesis", + "tier3": "vapor_deposition", + "type": "chemical_vapor_deposition", + "subtype": "atomic_layer_deposition" + }, + "sources": [ + { + "kind": "precursor", + "id": "trimethylaluminium", + "name": "trimethylaluminium", + "formula": "Al(CH3)3", + "delivery": "bubbler", + "vesselTemperature": { + "value": 20, + "units": "degC" + }, + "carrierGasId": "argon" + }, + { + "kind": "gas", + "id": "ammonia", + "formula": "NH3", + "role": "plasma" + }, + { + "kind": "gas", + "id": "argon", + "formula": "Ar", + "role": "carrier", + "flowRate": { + "value": 30, + "units": "sccm" + } + } + ], + "environment": { + "temperature": { + "value": 300, + "units": "degC" + }, + "pressure": { + "value": 0.15, + "units": "Torr" + } + }, + "steps": [ + { + "name": "Heat to deposition temperature", + "flowchartId": "heat", + "head": true, + "next": "cycle", + "type": "heat", + "status": "finished", + "setpoints": { + "temperature": { + "value": 300, + "units": "degC" + } + } + }, + { + "name": "Deposition cycles", + "flowchartId": "cycle", + "next": "cool", + "type": "cycle", + "status": "finished", + "repeat": 200 + }, + { + "name": "Cool down", + "flowchartId": "cool", + "type": "cool", + "status": "finished" + } + ] + } + ] +} diff --git a/example/process/source.json b/example/process/source.json new file mode 100644 index 000000000..7cf9e3fec --- /dev/null +++ b/example/process/source.json @@ -0,0 +1,18 @@ +{ + "kind": "target", + "id": "aluminium-scandium", + "formula": "AlSc", + "position": "TL", + "supply": "rf", + "power": { + "forward": { + "value": 150, + "units": "W" + }, + "reflected": { + "value": 0, + "units": "W" + } + }, + "gunAngle": 0.3 +} diff --git a/example/process/source/base.json b/example/process/source/base.json new file mode 100644 index 000000000..f5cf7f982 --- /dev/null +++ b/example/process/source/base.json @@ -0,0 +1,9 @@ +{ + "id": "argon", + "name": "argon", + "formula": "Ar", + "purity": { + "value": 99.999, + "units": "percent" + } +} diff --git a/example/process/source/gas.json b/example/process/source/gas.json new file mode 100644 index 000000000..2ce3de170 --- /dev/null +++ b/example/process/source/gas.json @@ -0,0 +1,10 @@ +{ + "kind": "gas", + "id": "nitrogen", + "formula": "N2", + "role": "reactive", + "flowRate": { + "value": 5, + "units": "sccm" + } +} diff --git a/example/process/source/precursor.json b/example/process/source/precursor.json new file mode 100644 index 000000000..3dc1fcc7f --- /dev/null +++ b/example/process/source/precursor.json @@ -0,0 +1,12 @@ +{ + "kind": "precursor", + "id": "trimethylaluminium", + "name": "trimethylaluminium", + "formula": "Al(CH3)3", + "delivery": "bubbler", + "vesselTemperature": { + "value": 20, + "units": "degC" + }, + "carrierGasId": "argon" +} diff --git a/example/process/source/target.json b/example/process/source/target.json new file mode 100644 index 000000000..377df221e --- /dev/null +++ b/example/process/source/target.json @@ -0,0 +1,21 @@ +{ + "kind": "target", + "id": "molybdenum", + "formula": "Mo", + "position": "R", + "supply": "rf", + "power": { + "forward": { + "value": 54, + "units": "W" + }, + "reflected": { + "value": 3, + "units": "W" + } + }, + "voltage": { + "value": 201, + "units": "V" + } +} diff --git a/example/process/stage.json b/example/process/stage.json new file mode 100644 index 000000000..180961cf1 --- /dev/null +++ b/example/process/stage.json @@ -0,0 +1,57 @@ +{ + "name": "Rapid thermal anneal", + "index": 2, + "categories": { + "tier1": "experimental", + "tier2": "synthesis", + "tier3": "post_processing", + "type": "annealing" + }, + "instrument": { + "_id": "iRta1", + "name": "Rapid thermal annealer 1", + "shortName": "rta1", + "vendor": "National Laboratory of the Rockies", + "model": "RTA1" + }, + "sources": [ + { + "kind": "gas", + "id": "nitrogen", + "formula": "N2", + "role": "background", + "flowRate": { + "value": 100, + "units": "sccm" + } + } + ], + "steps": [ + { + "name": "Ramp", + "flowchartId": "ramp", + "head": true, + "next": "hold", + "type": "ramp", + "duration": { + "value": 1, + "units": "min" + } + }, + { + "name": "Hold at temperature", + "flowchartId": "hold", + "type": "hold", + "duration": { + "value": 3, + "units": "min" + }, + "setpoints": { + "temperature": { + "value": 900, + "units": "degC" + } + } + } + ] +} diff --git a/example/process/step.json b/example/process/step.json new file mode 100644 index 000000000..f011aa1bd --- /dev/null +++ b/example/process/step.json @@ -0,0 +1,14 @@ +{ + "name": "Trimethylaluminium pulse", + "flowchartId": "half-cycle-1", + "head": true, + "next": "half-cycle-2", + "type": "pulse", + "duration": { + "value": 0.06, + "units": "s" + }, + "setpoints": { + "sourceId": "trimethylaluminium" + } +} diff --git a/example/properties_directory/non-scalar/hysteresis_loop.json b/example/properties_directory/non-scalar/hysteresis_loop.json new file mode 100644 index 000000000..b334a8476 --- /dev/null +++ b/example/properties_directory/non-scalar/hysteresis_loop.json @@ -0,0 +1,39 @@ +{ + "name": "hysteresis_loop", + "loopType": "phase_bias", + "legend": [ + "on_field", + "off_field" + ], + "xAxis": { + "label": "bias", + "units": "V" + }, + "yAxis": { + "label": "phase", + "units": "degree" + }, + "xDataArray": [ + -9, + -4.5, + 0, + 4.5, + 9 + ], + "yDataSeries": [ + [ + 178.2, + 175.4, + 20.1, + 4.3, + 3.1 + ], + [ + 176.5, + 170.2, + 90.4, + 6.1, + 4.2 + ] + ] +} diff --git a/example/properties_directory/scalar/film_thickness.json b/example/properties_directory/scalar/film_thickness.json new file mode 100644 index 000000000..905865320 --- /dev/null +++ b/example/properties_directory/scalar/film_thickness.json @@ -0,0 +1,6 @@ +{ + "name": "film_thickness", + "value": 140, + "units": "nm", + "layerIndex": 1 +} diff --git a/example/properties_directory/scalar/surface_roughness.json b/example/properties_directory/scalar/surface_roughness.json new file mode 100644 index 000000000..e89888a0e --- /dev/null +++ b/example/properties_directory/scalar/surface_roughness.json @@ -0,0 +1,6 @@ +{ + "name": "surface_roughness", + "statistic": "root_mean_square", + "value": 1.42, + "units": "nm" +} diff --git a/example/sample.json b/example/sample.json new file mode 100644 index 000000000..bd45d4748 --- /dev/null +++ b/example/sample.json @@ -0,0 +1,86 @@ +{ + "_id": "sAlScN6705", + "name": "AlScN combinatorial library 6705", + "isDefault": false, + "form": "library", + "formula": "AlScN", + "identifiers": [ + { + "scheme": "htem", + "value": "6705" + }, + { + "scheme": "internal", + "value": "NREL library 53" + } + ], + "layers": [ + { + "index": 0, + "role": "substrate", + "name": "glass", + "formula": "SiO2" + }, + { + "index": 1, + "role": "film", + "formula": "AlScN", + "crystallinity": "textured" + } + ], + "library": { + "type": "composition_spread", + "grid": { + "rows": 4, + "columns": 11, + "pitch": { + "value": 4, + "units": "mm" + } + }, + "gradients": [ + { + "quantity": "composition", + "element": "Sc", + "axis": "x", + "minimum": 0.1, + "maximum": 0.43, + "units": "fraction" + } + ], + "positions": [ + { + "index": 1, + "row": 1, + "column": 1, + "coordinate": [ + 5.4, + 6.65 + ], + "units": "mm", + "coordinateSystem": "library_grid" + }, + { + "index": 17, + "row": 2, + "column": 6, + "coordinate": [ + 25.4, + 19.15 + ], + "units": "mm", + "coordinateSystem": "library_grid" + } + ] + }, + "external": { + "id": "6705", + "source": "HTEM", + "origin": true, + "url": "https://htem.nlr.gov/finder/sample-libraries/88044180-8476-4811-92fa-5682fe1819c3" + }, + "metadata": { + "sampleDate": "2015-12-18", + "ownerName": "Kevin Talley" + } +} diff --git a/example/sample/layer.json b/example/sample/layer.json new file mode 100644 index 000000000..03ede41bd --- /dev/null +++ b/example/sample/layer.json @@ -0,0 +1,12 @@ +{ + "index": 1, + "role": "film", + "name": "AlScN gradient film", + "formula": "AlScN", + "thickness": { + "value": 140, + "units": "nm" + }, + "crystallinity": "textured", + "orientation": "(0001)" +} diff --git a/example/sample/library.json b/example/sample/library.json new file mode 100644 index 000000000..af00bae23 --- /dev/null +++ b/example/sample/library.json @@ -0,0 +1,34 @@ +{ + "type": "composition_spread", + "grid": { + "rows": 4, + "columns": 11, + "pitch": { + "value": 4, + "units": "mm" + } + }, + "gradients": [ + { + "quantity": "composition", + "element": "Sc", + "axis": "x", + "minimum": 0.1, + "maximum": 0.43, + "units": "fraction" + } + ], + "positions": [ + { + "index": 1, + "row": 1, + "column": 1, + "coordinate": [ + 5.4, + 6.65 + ], + "units": "mm", + "coordinateSystem": "library_grid" + } + ] +} diff --git a/example/sample/metadata.json b/example/sample/metadata.json new file mode 100644 index 000000000..cdc8c7e57 --- /dev/null +++ b/example/sample/metadata.json @@ -0,0 +1,7 @@ +{ + "metadata": { + "sampleDate": "2015-12-18", + "ownerName": "Kevin Talley", + "boxNumber": 11 + } +} diff --git a/example/sample/position.json b/example/sample/position.json new file mode 100644 index 000000000..b5d36c45d --- /dev/null +++ b/example/sample/position.json @@ -0,0 +1,12 @@ +{ + "index": 17, + "label": "R12", + "row": 2, + "column": 6, + "coordinate": [ + 25.4, + 19.15 + ], + "units": "mm", + "coordinateSystem": "library_grid" +} diff --git a/example/sample/sample_properties.json b/example/sample/sample_properties.json new file mode 100644 index 000000000..4714b4608 --- /dev/null +++ b/example/sample/sample_properties.json @@ -0,0 +1,41 @@ +{ + "form": "thin_film", + "formula": "Al0.7Sc0.3N", + "composition": [ + { + "name": "elemental_ratio", + "value": 0.35, + "element": "Al" + }, + { + "name": "elemental_ratio", + "value": 0.15, + "element": "Sc" + }, + { + "name": "elemental_ratio", + "value": 0.5, + "element": "N" + } + ], + "_parent": { + "_id": "sAlScN6705", + "cls": "Sample", + "slug": "alscn-combinatorial-library-6705" + }, + "position": { + "index": 17, + "coordinate": [ + 25.4, + 19.15 + ], + "units": "mm", + "coordinateSystem": "library_grid" + }, + "identifiers": [ + { + "scheme": "htem", + "value": "262118" + } + ] +} diff --git a/example/system/_sample.json b/example/system/_sample.json new file mode 100644 index 000000000..d471fe22e --- /dev/null +++ b/example/system/_sample.json @@ -0,0 +1,5 @@ +{ + "_id": "sAlScN6705p17", + "cls": "Sample", + "slug": "alscn-library-6705-position-17" +} diff --git a/example/system/activity.json b/example/system/activity.json new file mode 100644 index 000000000..d2b918817 --- /dev/null +++ b/example/system/activity.json @@ -0,0 +1,11 @@ +{ + "status": "finished", + "startTime": "2026-03-13T18:05:58Z", + "endTime": "2026-03-13T18:13:24Z", + "operators": [ + { + "name": "Boris Slautin", + "affiliation": "University of Tennessee, Knoxville" + } + ] +} diff --git a/example/techniques_category/experimental.json b/example/techniques_category/experimental.json new file mode 100644 index 000000000..b3d4068a3 --- /dev/null +++ b/example/techniques_category/experimental.json @@ -0,0 +1,4 @@ +{ + "tier1": "experimental", + "tier2": "characterization" +} diff --git a/example/techniques_category/experimental/characterization.json b/example/techniques_category/experimental/characterization.json new file mode 100644 index 000000000..a3cbc751a --- /dev/null +++ b/example/techniques_category/experimental/characterization.json @@ -0,0 +1,7 @@ +{ + "tier1": "experimental", + "tier2": "characterization", + "tier3": "microscopy", + "type": "scanning_probe_microscopy", + "subtype": "piezoresponse_force_microscopy" +} diff --git a/example/techniques_category/experimental/synthesis.json b/example/techniques_category/experimental/synthesis.json new file mode 100644 index 000000000..b068f8f07 --- /dev/null +++ b/example/techniques_category/experimental/synthesis.json @@ -0,0 +1,7 @@ +{ + "tier1": "experimental", + "tier2": "synthesis", + "tier3": "vapor_deposition", + "type": "chemical_vapor_deposition", + "subtype": "atomic_layer_deposition" +} diff --git a/manifest/properties.yaml b/manifest/properties.yaml index 1555fa0ad..c2140a6a5 100644 --- a/manifest/properties.yaml +++ b/manifest/properties.yaml @@ -332,3 +332,23 @@ hubbard_v_nn: units: eV schemaId: properties-directory/non-scalar/hubbard-v-nn isResult: true + +film_thickness: + defaults: + units: nm + schemaId: properties-directory/scalar/film-thickness + +surface_roughness: + defaults: + units: nm + schemaId: properties-directory/scalar/surface-roughness + +hysteresis_loop: + defaults: + xAxis: + label: bias + units: V + yAxis: + label: phase + units: degree + schemaId: properties-directory/non-scalar/hysteresis-loop diff --git a/plan/context/2026-08-16-schema-graph-measurements.md b/plan/context/2026-08-16-schema-graph-measurements.md index 0bc0acb78..d2e84842a 100644 --- a/plan/context/2026-08-16-schema-graph-measurements.md +++ b/plan/context/2026-08-16-schema-graph-measurements.md @@ -33,6 +33,26 @@ stripping JSON-pointer fragments (`file.json#/pointer`). | Reference cycles | **0** (README's no-circular-refs rule holds in practice) | | Isolated schemas (no refs in or out) | 34 | +## Addendum 2026-09-02 (experimental data entities) + +The experimental-data change (`sample`, `instrument`, `measurement`, `process` and the pieces they +compose) moved the baseline. Measured with the same extractor; `tests/js/entityGraph.tests.ts` pins +these figures. + +| Measure | Before | After | +| --- | --- | --- | +| Schema files | 564 | 610 | +| Example files | 209 (37%) | 254 (42%) | +| Cross-schema reference edges | 917 | 1059 | +| — *extends* / *contains* / *variant* | 372 / 375 / 170 | 411 / 461 / 187 | +| Same-document refs | 20 | 20 | +| Root entities | 11 | 15 | +| Isolated schemas | 34 | 33 | + +`property/holder` now has 49 edges: 1 *extends*, 45 *variant* on `data` and 3 *variant* on +`source.info` (the exabyte, measurement and process references); the single *contains* edge to +`core/reference/exabyte` became one of those variants. + ## Domains (top-level directories), by schema count | Domain | Count | | Domain | Count | diff --git a/schema/core/abstract/multidimensional_array.json b/schema/core/abstract/multidimensional_array.json new file mode 100644 index 000000000..8e4e5b61f --- /dev/null +++ b/schema/core/abstract/multidimensional_array.json @@ -0,0 +1,60 @@ +{ + "$id": "core/abstract/multidimensional-array", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "multidimensional array schema", + "description": "Unit-less N-dimensional array: a shape, optional flattened row-major values, and one axis descriptor per dimension. Unit-less like the rest of core/abstract, so the same structure serves a microscopy image, a spectroscopy grid and a logged time series. Note that core/abstract/3d_grid is a k-point mesh descriptor, not a data grid, which is why this schema exists.", + "type": "object", + "properties": { + "shape": { + "description": "Length of each dimension, outermost first, e.g. [256, 256] for a square image.", + "type": "array", + "minItems": 1, + "items": { + "type": "integer", + "minimum": 0 + } + }, + "values": { + "description": "Flattened values in row-major (C) order, length equal to the product of shape. Omitted when the data is stored out of line, which is the normal case for real measurements.", + "type": "array", + "items": { + "type": "number" + } + }, + "axes": { + "description": "One entry per dimension, in shape order. An axis is given either by explicit values or by a start and a step.", + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "description": "Axis name, e.g. x, y, bias, time.", + "type": "string" + }, + "values": { + "description": "Explicit coordinate of each point along this axis.", + "type": "array", + "items": { + "type": "number" + } + }, + "start": { + "description": "Coordinate of the first point, when the axis is evenly spaced.", + "type": "number" + }, + "step": { + "description": "Spacing between points, when the axis is evenly spaced.", + "type": "number" + } + }, + "required": [ + "name" + ] + } + } + }, + "required": [ + "shape", + "axes" + ] +} diff --git a/schema/core/reference/measurement.json b/schema/core/reference/measurement.json new file mode 100644 index 000000000..ebba92afd --- /dev/null +++ b/schema/core/reference/measurement.json @@ -0,0 +1,33 @@ +{ + "$id": "core/reference/measurement", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "info for a value obtained by measurement", + "description": "Provenance of a property obtained from a measurement: the experimental analogue of core/reference/exabyte, where measurementId plays the role of jobId and channel the role of unitId.", + "type": "object", + "properties": { + "type": { + "enum": [ + "measurement" + ] + }, + "measurementId": { + "description": "Measurement's identity", + "type": "string" + }, + "channel": { + "description": "Data channel or analysis step the value was extracted from, e.g. the phase channel of a switching-spectroscopy acquisition", + "type": "string" + }, + "sampleId": { + "description": "Identity of the sample the measurement was taken on", + "type": "string" + }, + "instrumentId": { + "description": "Identity of the instrument the measurement was taken with", + "type": "string" + } + }, + "required": [ + "measurementId" + ] +} diff --git a/schema/core/reference/process.json b/schema/core/reference/process.json new file mode 100644 index 000000000..a8044c529 --- /dev/null +++ b/schema/core/reference/process.json @@ -0,0 +1,29 @@ +{ + "$id": "core/reference/process", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "info for a value obtained from a process", + "description": "Provenance of a property that is a property of a fabrication run rather than of a measurement, e.g. a growth rate read off the deposition record. The process analogue of core/reference/exabyte.", + "type": "object", + "properties": { + "type": { + "enum": [ + "process" + ] + }, + "processId": { + "description": "Process's identity", + "type": "string" + }, + "stepFlowchartId": { + "description": "flowchartId of the step the value came from, the analogue of unitId", + "type": "string" + }, + "sampleId": { + "description": "Identity of the sample the process produced", + "type": "string" + } + }, + "required": [ + "processId" + ] +} diff --git a/schema/core/reusable/array_data.json b/schema/core/reusable/array_data.json new file mode 100644 index 000000000..2c9e4c68f --- /dev/null +++ b/schema/core/reusable/array_data.json @@ -0,0 +1,43 @@ +{ + "$id": "core/reusable/array-data", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "array data schema", + "description": "A multidimensional array with units on its values and axes, held either inline or in a referenced file. Exactly one of the two should be present; this is stated here rather than as an anyOf over required lists because a type-less anyOf makes the pydantic generator emit a root union.", + "$comment": "Inline values are meant for examples and small results: keep them under 65536 elements (a 256x256 image) and reference a file for anything larger.", + "type": "object", + "allOf": [ + { + "$ref": "../abstract/multidimensional_array.json" + } + ], + "properties": { + "units": { + "description": "Units of the values, e.g. nm for a topography channel.", + "type": "string" + }, + "dataType": { + "description": "Storage type of the values in the referenced file.", + "type": "string", + "enum": [ + "float32", + "float64", + "int8", + "int16", + "int32", + "int64", + "uint8", + "uint16", + "uint32", + "uint64" + ] + }, + "file": { + "description": "File the values live in, when they are not inline.", + "$ref": "file_reference.json" + }, + "datasetPath": { + "description": "Path to the dataset inside the file, e.g. an HDF5 path or an Igor layer label such as HeightRetrace.", + "type": "string" + } + } +} diff --git a/schema/core/reusable/environment.json b/schema/core/reusable/environment.json new file mode 100644 index 000000000..0b218878f --- /dev/null +++ b/schema/core/reusable/environment.json @@ -0,0 +1,43 @@ +{ + "$id": "core/reusable/environment", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "environment schema", + "description": "Ambient or chamber conditions during a measurement or a process step.", + "type": "object", + "properties": { + "temperature": { + "$ref": "quantity/temperature.json" + }, + "pressure": { + "$ref": "quantity/pressure.json" + }, + "atmosphere": { + "description": "Gas or vacuum the sample sits in.", + "type": "string", + "enum": [ + "ambient", + "vacuum", + "high_vacuum", + "ultra_high_vacuum", + "nitrogen", + "argon", + "oxygen", + "forming_gas", + "liquid", + "other" + ] + }, + "humidity": { + "description": "Relative humidity, as a percentage.", + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "units": { + "$ref": "../../definitions/units.json#/dimensionless" + } + } + } + } +} diff --git a/schema/core/reusable/file_reference.json b/schema/core/reusable/file_reference.json new file mode 100644 index 000000000..4606fd9e5 --- /dev/null +++ b/schema/core/reusable/file_reference.json @@ -0,0 +1,86 @@ +{ + "$id": "core/reusable/file-reference", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "file reference schema", + "description": "A file kept outside the record: its metadata, the vendor format it is written in, a checksum and where it lives. Unlike system/file_source, which requires the file content as text, this references binary instrument output (an Igor binary wave, a Nanonis scan) without embedding it.", + "type": "object", + "allOf": [ + { + "$ref": "file_metadata.json" + } + ], + "properties": { + "format": { + "description": "Vendor or interchange format the file is written in.", + "type": "string", + "enum": [ + "asylum_ibw", + "nanonis_sxm", + "nanonis_dat", + "gwyddion_gwy", + "bruker_nanoscope", + "nexus_hdf5", + "usid_hdf5", + "hdf5", + "npy", + "csv", + "tsv", + "xlsx", + "tiff", + "png", + "json", + "txt", + "other" + ] + }, + "size": { + "description": "Size of the file in bytes.", + "type": "integer", + "minimum": 0 + }, + "checksum": { + "description": "Content hash, so a referenced file can be identified after it moves.", + "type": "object", + "properties": { + "algorithm": { + "type": "string", + "enum": [ + "md5", + "sha1", + "sha256" + ] + }, + "value": { + "type": "string" + } + }, + "required": [ + "algorithm", + "value" + ] + }, + "url": { + "description": "Location the file can be retrieved from.", + "type": "string" + }, + "objectData": { + "description": "Object storage location, for files held in a bucket.", + "$ref": "object_storage_container_data.json" + }, + "role": { + "description": "What the file is to the record that references it.", + "type": "string", + "enum": [ + "raw", + "processed", + "log", + "image", + "metadata", + "other" + ] + } + }, + "required": [ + "basename" + ] +} diff --git a/schema/core/reusable/identifier.json b/schema/core/reusable/identifier.json new file mode 100644 index 000000000..f571089e7 --- /dev/null +++ b/schema/core/reusable/identifier.json @@ -0,0 +1,31 @@ +{ + "$id": "core/reusable/identifier", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "identifier schema", + "description": "An identifier a record carries in a system other than this one, e.g. an HTEM sample id or a lab-system run number. Kept as a scheme and a value rather than a named field per source, so a new source does not need a schema change.", + "type": "object", + "properties": { + "scheme": { + "description": "Namespace the value is unique within.", + "type": "string", + "enum": [ + "internal", + "htem", + "lmc", + "igsn", + "doi", + "barcode", + "vendor", + "other" + ] + }, + "value": { + "description": "The identifier itself.", + "type": "string" + } + }, + "required": [ + "scheme", + "value" + ] +} diff --git a/schema/core/reusable/quantity/current.json b/schema/core/reusable/quantity/current.json new file mode 100644 index 000000000..6308ab253 --- /dev/null +++ b/schema/core/reusable/quantity/current.json @@ -0,0 +1,21 @@ +{ + "$id": "core/reusable/quantity/current", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "current quantity schema", + "description": "A scalar with current units, e.g. a tunneling current setpoint. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.", + "type": "object", + "allOf": [ + { + "$ref": "../../primitive/scalar.json" + } + ], + "properties": { + "units": { + "$ref": "../../../definitions/units.json#/current" + } + }, + "required": [ + "value", + "units" + ] +} diff --git a/schema/core/reusable/quantity/frequency.json b/schema/core/reusable/quantity/frequency.json new file mode 100644 index 000000000..924839b6a --- /dev/null +++ b/schema/core/reusable/quantity/frequency.json @@ -0,0 +1,21 @@ +{ + "$id": "core/reusable/quantity/frequency", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "frequency quantity schema", + "description": "A scalar with frequency units, e.g. a cantilever drive frequency. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.", + "type": "object", + "allOf": [ + { + "$ref": "../../primitive/scalar.json" + } + ], + "properties": { + "units": { + "$ref": "../../../definitions/units.json#/frequency" + } + }, + "required": [ + "value", + "units" + ] +} diff --git a/schema/core/reusable/quantity/length.json b/schema/core/reusable/quantity/length.json new file mode 100644 index 000000000..851243f16 --- /dev/null +++ b/schema/core/reusable/quantity/length.json @@ -0,0 +1,21 @@ +{ + "$id": "core/reusable/quantity/length", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "length quantity schema", + "description": "A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.", + "type": "object", + "allOf": [ + { + "$ref": "../../primitive/scalar.json" + } + ], + "properties": { + "units": { + "$ref": "../../../definitions/units.json#/length" + } + }, + "required": [ + "value", + "units" + ] +} diff --git a/schema/core/reusable/quantity/pressure.json b/schema/core/reusable/quantity/pressure.json new file mode 100644 index 000000000..5f79b6bac --- /dev/null +++ b/schema/core/reusable/quantity/pressure.json @@ -0,0 +1,21 @@ +{ + "$id": "core/reusable/quantity/pressure", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "pressure quantity schema", + "description": "A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.", + "type": "object", + "allOf": [ + { + "$ref": "../../primitive/scalar.json" + } + ], + "properties": { + "units": { + "$ref": "../../../definitions/units.json#/pressure" + } + }, + "required": [ + "value", + "units" + ] +} diff --git a/schema/core/reusable/quantity/temperature.json b/schema/core/reusable/quantity/temperature.json new file mode 100644 index 000000000..b7e548ca9 --- /dev/null +++ b/schema/core/reusable/quantity/temperature.json @@ -0,0 +1,21 @@ +{ + "$id": "core/reusable/quantity/temperature", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "temperature quantity schema", + "description": "A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.", + "type": "object", + "allOf": [ + { + "$ref": "../../primitive/scalar.json" + } + ], + "properties": { + "units": { + "$ref": "../../../definitions/units.json#/temperature" + } + }, + "required": [ + "value", + "units" + ] +} diff --git a/schema/core/reusable/quantity/time.json b/schema/core/reusable/quantity/time.json new file mode 100644 index 000000000..4fb758fa1 --- /dev/null +++ b/schema/core/reusable/quantity/time.json @@ -0,0 +1,21 @@ +{ + "$id": "core/reusable/quantity/time", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "time quantity schema", + "description": "A scalar with time units, e.g. a process step duration. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.", + "type": "object", + "allOf": [ + { + "$ref": "../../primitive/scalar.json" + } + ], + "properties": { + "units": { + "$ref": "../../../definitions/units.json#/time" + } + }, + "required": [ + "value", + "units" + ] +} diff --git a/schema/core/reusable/quantity/voltage.json b/schema/core/reusable/quantity/voltage.json new file mode 100644 index 000000000..58b903965 --- /dev/null +++ b/schema/core/reusable/quantity/voltage.json @@ -0,0 +1,21 @@ +{ + "$id": "core/reusable/quantity/voltage", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "voltage quantity schema", + "description": "A scalar with voltage units, e.g. a sample bias or drive amplitude. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.", + "type": "object", + "allOf": [ + { + "$ref": "../../primitive/scalar.json" + } + ], + "properties": { + "units": { + "$ref": "../../../definitions/units.json#/voltage" + } + }, + "required": [ + "value", + "units" + ] +} diff --git a/schema/definitions/units.json b/schema/definitions/units.json index f614e7034..65ec689e0 100644 --- a/schema/definitions/units.json +++ b/schema/definitions/units.json @@ -75,7 +75,9 @@ "Ry/a.u.", "newton", "kg*m/s^2", - "eV/a.u." + "eV/a.u.", + "nN", + "pN" ] }, "volume": { @@ -98,13 +100,22 @@ "enum": [ "cm-1", "THz", - "meV" + "meV", + "Hz", + "kHz", + "MHz", + "GHz" ] }, "pressure": { "enum": [ "kbar", - "pa" + "pa", + "Torr", + "mTorr", + "mbar", + "bar", + "atm" ] }, "phononDOS": { @@ -136,5 +147,134 @@ "m/mol", "a.u." ] + }, + "temperature": { + "enum": [ + "K", + "degC" + ], + "default": "K" + }, + "time": { + "enum": [ + "s", + "ms", + "us", + "ns", + "min", + "h" + ], + "default": "s" + }, + "voltage": { + "enum": [ + "V", + "mV", + "uV", + "kV" + ] + }, + "current": { + "enum": [ + "A", + "mA", + "uA", + "nA", + "pA" + ] + }, + "current_density": { + "enum": [ + "A/cm^2", + "mA/cm^2", + "uA/cm^2", + "nA/cm^2", + "A/m^2" + ] + }, + "power": { + "enum": [ + "W", + "mW", + "kW" + ] + }, + "flow_rate": { + "enum": [ + "sccm", + "slm" + ] + }, + "deposition_rate": { + "enum": [ + "nm/s", + "angstrom/s", + "nm/min", + "angstrom/pulse", + "nm/cycle", + "angstrom/cycle" + ] + }, + "fluence": { + "enum": [ + "J/cm^2", + "mJ/cm^2" + ] + }, + "spring_constant": { + "enum": [ + "N/m" + ] + }, + "resistivity": { + "enum": [ + "ohm*m", + "ohm*cm" + ] + }, + "sheet_resistance": { + "enum": [ + "ohm/sq" + ] + }, + "conductivity": { + "enum": [ + "S/m", + "S/cm" + ] + }, + "electric_field": { + "enum": [ + "V/m", + "V/cm", + "kV/cm", + "MV/cm", + "V/nm" + ] + }, + "polarization": { + "enum": [ + "uC/cm^2", + "C/m^2" + ] + }, + "piezoelectric_coefficient": { + "enum": [ + "pm/V", + "pC/N" + ] + }, + "rotation_rate": { + "enum": [ + "rpm" + ] + }, + "dimensionless": { + "enum": [ + "unitless", + "percent", + "ppm", + "fraction" + ] } } diff --git a/schema/instrument.json b/schema/instrument.json new file mode 100644 index 000000000..43d9f191d --- /dev/null +++ b/schema/instrument.json @@ -0,0 +1,15 @@ +{ + "$id": "instrument", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "instrument schema", + "description": "A physical apparatus used to measure or fabricate a sample: a microscope, a deposition chamber, a furnace. The experimental mirror of software/application, composed the same way, because what an application is to a job an instrument is to a measurement.", + "type": "object", + "allOf": [ + { + "$ref": "in_memory_entity/named_defaultable.json" + }, + { + "$ref": "instrument/instrument_properties.json" + } + ] +} diff --git a/schema/instrument/component.json b/schema/instrument/component.json new file mode 100644 index 000000000..eb2d6f36b --- /dev/null +++ b/schema/instrument/component.json @@ -0,0 +1,53 @@ +{ + "$id": "instrument/component", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "instrument component schema", + "description": "A part of an instrument that is worth recording per result, such as the cantilever a scan was taken with or the target a film was sputtered from. Parameters are left open because what matters differs by kind: a cantilever has a spring constant, a laser has a wavelength.", + "type": "object", + "properties": { + "kind": { + "type": "string", + "enum": [ + "probe", + "cantilever", + "scanner", + "laser", + "detector", + "lock_in_amplifier", + "controller", + "heater", + "cryostat", + "chamber", + "stage", + "evaporation_source", + "target_holder", + "gas_line", + "mass_flow_controller", + "pump", + "gauge", + "other" + ] + }, + "name": { + "type": "string" + }, + "vendor": { + "type": "string" + }, + "model": { + "type": "string" + }, + "serialNumber": { + "type": "string" + }, + "parameters": { + "description": "Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever.", + "type": "object", + "additionalProperties": true + } + }, + "required": [ + "kind", + "name" + ] +} diff --git a/schema/instrument/instrument_properties.json b/schema/instrument/instrument_properties.json new file mode 100644 index 000000000..e6c4fed16 --- /dev/null +++ b/schema/instrument/instrument_properties.json @@ -0,0 +1,76 @@ +{ + "$id": "instrument/instrument-properties", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "instrument properties schema", + "description": "Domain-specific fields of an instrument entity, mirroring software/application_properties: shortName and summary carry over unchanged; version becomes firmware and build becomes serialNumber, because those are what identify a physical unit; vendor, model, techniques, components and location are what an apparatus adds over a program. None of them is required: an instrument is identified by the name it inherits from the entity mixin, and a laboratory record often names a chamber only by the short name its operators use, with the vendor and model known separately or not at all.", + "type": "object", + "properties": { + "shortName": { + "description": "The short name of the instrument, e.g. jupiter, pdac_com5", + "type": "string" + }, + "summary": { + "description": "Instrument's short description.", + "type": "string" + }, + "vendor": { + "description": "Manufacturer of the instrument, e.g. Asylum Research", + "type": "string" + }, + "model": { + "description": "Model name, e.g. Jupiter", + "type": "string" + }, + "serialNumber": { + "description": "Vendor serial number identifying this particular unit.", + "type": "string" + }, + "firmware": { + "description": "Controller or acquisition-software version, the analogue of an application version, e.g. 19.34.88", + "type": "string" + }, + "techniques": { + "description": "Techniques this instrument can perform.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "../techniques_category/experimental/characterization.json" + }, + { + "$ref": "../techniques_category/experimental/synthesis.json" + } + ] + } + }, + "components": { + "description": "Parts of the instrument that matter to a result, e.g. the probe a scan was taken with or the source a film was grown from.", + "type": "array", + "items": { + "$ref": "component.json" + } + }, + "controlSoftware": { + "description": "Software driving the instrument, reusing the application entity rather than restating a name and a version.", + "type": "array", + "items": { + "$ref": "../software/application.json" + } + }, + "location": { + "description": "Where the instrument is, which for a multi-institution project is part of the provenance.", + "type": "object", + "properties": { + "facility": { + "type": "string" + }, + "laboratory": { + "type": "string" + }, + "room": { + "type": "string" + } + } + } + } +} diff --git a/schema/instrument/instrument_property.json b/schema/instrument/instrument_property.json new file mode 100644 index 000000000..e63374aa7 --- /dev/null +++ b/schema/instrument/instrument_property.json @@ -0,0 +1,13 @@ +{ + "$id": "instrument/instrument-property", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Instrument Property Schema", + "description": "Behaviour of a record that was produced on an instrument, mirroring job/compute_property. Defined once so a measurement and a process stage say 'has an instrument' the same way. Not required, because records imported from an external database may not name the instrument.", + "type": "object", + "properties": { + "instrument": { + "description": "Instrument the record was produced on.", + "$ref": "../instrument.json" + } + } +} diff --git a/schema/measurement.json b/schema/measurement.json new file mode 100644 index 000000000..f0347f10a --- /dev/null +++ b/schema/measurement.json @@ -0,0 +1,12 @@ +{ + "$id": "measurement", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "measurement schema", + "description": "A characterization run: one acquisition on one instrument against one sample. The experimental mirror of job, which binds a workflow to compute and a material; a measurement binds a technique to an instrument and a sample. Results are not embedded here: they are property holders whose source names this measurement, exactly as job results name a job.", + "type": "object", + "allOf": [ + { + "$ref": "measurement/base.json" + } + ] +} diff --git a/schema/measurement/base.json b/schema/measurement/base.json new file mode 100644 index 000000000..49a99d2f1 --- /dev/null +++ b/schema/measurement/base.json @@ -0,0 +1,65 @@ +{ + "$id": "measurement/base", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "measurement base schema", + "description": "Mirror of job/base: the same platform mixin, an instrument in place of compute, a sample in place of a material, and the activity mixin for status, timing and operators.", + "type": "object", + "allOf": [ + { + "description": "in-memory entity", + "$ref": "../in_memory_entity/named_defaultable_has_metadata.json" + }, + { + "description": "Instrument Property Schema", + "$ref": "../instrument/instrument_property.json" + }, + { + "description": "status, timing, operators and project", + "$ref": "../system/activity.json" + } + ], + "properties": { + "categories": { + "description": "Technique this measurement applies, on the same tier ladder that categorizes a model.", + "$ref": "../techniques_category/experimental/characterization.json" + }, + "_sample": { + "description": "Subset of the full information about the sample that was measured, the analogue of job._material.", + "$ref": "../system/_sample.json" + }, + "samplePosition": { + "description": "Where on the sample the measurement was taken. Together with _sample this is the join key for per-position data on a combinatorial library.", + "$ref": "../sample/position.json" + }, + "parent": { + "description": "Subset of the full information about the parent measurement, e.g. the grid acquisition that a single extracted spectrum belongs to.", + "$ref": "../system/entity_reference.json" + }, + "environment": { + "description": "Ambient conditions during acquisition.", + "$ref": "../core/reusable/environment.json" + }, + "parameters": { + "description": "Technique-specific acquisition parameters. Unconstrained here, the way a model's parameters are unconstrained until a models_directory entry narrows them; measurement/parameters/scanning_probe_microscopy describes the expected shape for scanning probe techniques and will be bound per technique by catalogue entries in a later phase.", + "type": "object" + }, + "data": { + "description": "Channels acquired during the measurement.", + "type": "array", + "items": { + "$ref": "data/channel.json" + } + }, + "rawFiles": { + "description": "Vendor files this record was derived from, referenced rather than embedded.", + "type": "array", + "items": { + "$ref": "../core/reusable/file_reference.json" + } + } + }, + "required": [ + "categories", + "_sample" + ] +} diff --git a/schema/measurement/data/channel.json b/schema/measurement/data/channel.json new file mode 100644 index 000000000..4194ed897 --- /dev/null +++ b/schema/measurement/data/channel.json @@ -0,0 +1,38 @@ +{ + "$id": "measurement/data/channel", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "measurement data channel schema", + "description": "One channel of acquired data. An array for rasters and grids, a 2D plot for curves and spectra. The two branches require different fields, so the union is unambiguous.", + "type": "object", + "properties": { + "name": { + "description": "Channel name, e.g. height, deflection, amplitude, phase, current, bias, piezoresponsePhase.", + "type": "string" + }, + "direction": { + "description": "Scan direction the channel was recorded in, where forward and backward traces are kept separately.", + "type": "string", + "enum": [ + "forward", + "backward" + ] + }, + "description": { + "type": "string" + }, + "data": { + "oneOf": [ + { + "$ref": "../../core/reusable/array_data.json" + }, + { + "$ref": "../../core/abstract/2d_plot.json" + } + ] + } + }, + "required": [ + "name", + "data" + ] +} diff --git a/schema/measurement/parameters/scanning_probe_microscopy.json b/schema/measurement/parameters/scanning_probe_microscopy.json new file mode 100644 index 000000000..e51618faa --- /dev/null +++ b/schema/measurement/parameters/scanning_probe_microscopy.json @@ -0,0 +1,151 @@ +{ + "$id": "measurement/parameters/scanning-probe-microscopy", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "scanning probe microscopy parameters schema", + "description": "Acquisition parameters shared by the scanning probe techniques. Field names follow the NeXus NXspm application definition so a record can be exported to NeXus without a translation table, and cover what an Asylum Research or Nanonis file records about a scan.", + "type": "object", + "properties": { + "mode": { + "description": "Feedback or imaging mode the scan was taken in.", + "type": "string", + "enum": [ + "contact", + "tapping", + "non_contact", + "peak_force", + "lateral_force", + "constant_current", + "constant_height", + "single_frequency", + "dual_ac_resonance_tracking", + "band_excitation", + "contact_resonance" + ] + }, + "scanRange": { + "description": "Size of the scanned area.", + "type": "object", + "properties": { + "x": { + "$ref": "../../core/reusable/quantity/length.json" + }, + "y": { + "$ref": "../../core/reusable/quantity/length.json" + } + } + }, + "scanOffset": { + "description": "Offset of the scan centre from the stage origin.", + "type": "object", + "properties": { + "x": { + "$ref": "../../core/reusable/quantity/length.json" + }, + "y": { + "$ref": "../../core/reusable/quantity/length.json" + } + } + }, + "scanAngle": { + "description": "Rotation of the fast scan axis.", + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "units": { + "$ref": "../../definitions/units.json#/angle" + } + } + }, + "scanPoints": { + "description": "Number of points along each axis, i.e. the pixel dimensions of the image.", + "type": "object", + "properties": { + "x": { + "type": "integer" + }, + "y": { + "type": "integer" + } + } + }, + "scanRate": { + "description": "Line rate of the scan.", + "$ref": "../../core/reusable/quantity/frequency.json" + }, + "scanDirection": { + "description": "Slow-axis direction.", + "type": "string", + "enum": [ + "up", + "down" + ] + }, + "setpoint": { + "description": "Feedback setpoint, in whichever quantity the mode controls on (amplitude in volts, deflection in newtons, current in amperes).", + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "units": { + "type": "string" + } + } + }, + "biasVoltage": { + "description": "Sample bias applied during the scan.", + "$ref": "../../core/reusable/quantity/voltage.json" + }, + "currentSetpoint": { + "description": "Tunneling current setpoint, for scanning tunneling techniques.", + "$ref": "../../core/reusable/quantity/current.json" + }, + "driveAmplitude": { + "description": "Amplitude of the cantilever or tip drive signal.", + "$ref": "../../core/reusable/quantity/voltage.json" + }, + "driveFrequency": { + "description": "Frequency of the cantilever or tip drive signal.", + "$ref": "../../core/reusable/quantity/frequency.json" + }, + "biasWaveform": { + "description": "Bias waveform applied during switching spectroscopy, e.g. the triangle-square sequence a piezoresponse hysteresis loop is measured with.", + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "triangular", + "bipolar_triangular", + "triangle_square", + "sinusoidal", + "step", + "custom" + ] + }, + "amplitude": { + "$ref": "../../core/reusable/quantity/voltage.json" + }, + "frequency": { + "$ref": "../../core/reusable/quantity/frequency.json" + }, + "cycles": { + "type": "integer" + }, + "pointsPerSecond": { + "type": "number" + }, + "offField": { + "description": "Whether the response is read with the dc bias off, which separates the electrostatic background from the piezoresponse.", + "type": "boolean" + } + } + }, + "probe": { + "description": "Probe or cantilever used, referencing the instrument component so the same shape describes a probe listed on an instrument and one recorded per scan.", + "$ref": "../../instrument/component.json" + } + } +} diff --git a/schema/process.json b/schema/process.json new file mode 100644 index 000000000..1ad13e99d --- /dev/null +++ b/schema/process.json @@ -0,0 +1,24 @@ +{ + "$id": "process", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "process schema", + "description": "A synthesis or fabrication run and the recipe it followed: a deposition, an anneal, a sequence of both. The experimental mirror of workflow, composed the same way, with stages in place of subworkflows and steps in place of units. One record covers both recipe and run, as a workflow embedded in a job does: a recipe has status draft and no start time, an executed run carries per-step status and logs.", + "type": "object", + "allOf": [ + { + "$ref": "in_memory_entity/named.json" + }, + { + "$ref": "system/metadata.json" + }, + { + "$ref": "process/base.json" + }, + { + "$ref": "system/description.json" + }, + { + "$ref": "system/tags.json" + } + ] +} diff --git a/schema/process/base.json b/schema/process/base.json new file mode 100644 index 000000000..56056c475 --- /dev/null +++ b/schema/process/base.json @@ -0,0 +1,72 @@ +{ + "$id": "process/base", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "base process schema", + "description": "Mirror of workflow/base: properties (the names of what the run yields) carries over; units become steps grouped into stages; the application a workflow names becomes the instrument each stage runs on; the samples consumed and produced are what a physical process adds.", + "type": "object", + "allOf": [ + { + "description": "status, timing, operators and project", + "$ref": "../system/activity.json" + } + ], + "properties": { + "categories": { + "description": "Technique this process applies. A measurement protocol is a process with characterization categories, which is why both branches are allowed; anyOf rather than oneOf because a record classified only to tier1 satisfies both and must not be rejected as ambiguous.", + "anyOf": [ + { + "$ref": "../techniques_category/experimental/synthesis.json" + }, + { + "$ref": "../techniques_category/experimental/characterization.json" + } + ] + }, + "properties": { + "description": "Array of characteristic properties produced by this process, by name, e.g. film_thickness", + "type": "array", + "items": { + "type": "string" + } + }, + "stages": { + "description": "Ordered stages, the analogue of workflow.subworkflows. A stage is the level that binds a technique and an instrument, because a run can move between chambers.", + "type": "array", + "items": { + "$ref": "stage.json" + } + }, + "_inputSamples": { + "description": "Subsets of the full information about the samples consumed, e.g. the substrates loaded into the chamber.", + "type": "array", + "items": { + "$ref": "../system/_sample.json" + } + }, + "_outputSamples": { + "description": "Subsets of the full information about the samples produced or modified by the run.", + "type": "array", + "items": { + "$ref": "../system/_sample.json" + } + }, + "identifiers": { + "description": "Identifiers this run carries in other systems, e.g. a lab-system run number.", + "type": "array", + "items": { + "$ref": "../core/reusable/identifier.json" + } + }, + "logFiles": { + "description": "Tool logs this record was derived from.", + "type": "array", + "items": { + "$ref": "../core/reusable/file_reference.json" + } + } + }, + "required": [ + "categories", + "stages" + ] +} diff --git a/schema/process/source.json b/schema/process/source.json new file mode 100644 index 000000000..b6617f468 --- /dev/null +++ b/schema/process/source.json @@ -0,0 +1,23 @@ +{ + "$id": "process/source", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "process source schema", + "description": "A material source a deposition draws on. Discriminated on kind, the way a workflow unit is discriminated on type: a sputtering target, a chemical precursor and a process gas are described by different fields.", + "oneOf": [ + { + "$ref": "source/target.json" + }, + { + "$ref": "source/precursor.json" + }, + { + "$ref": "source/gas.json" + } + ], + "discriminator": { + "propertyName": "kind" + }, + "required": [ + "kind" + ] +} diff --git a/schema/process/source/base.json b/schema/process/source/base.json new file mode 100644 index 000000000..b06a81cbb --- /dev/null +++ b/schema/process/source/base.json @@ -0,0 +1,42 @@ +{ + "$id": "process/source/base", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "process source base schema", + "description": "Fields common to every material source. The identifier is what a step's setpoints point at, so a step can say which source it is pulsing without repeating the source itself.", + "type": "object", + "properties": { + "id": { + "description": "Identifier for this source within the stage, referenced from a step's setpoints.", + "type": "string" + }, + "name": { + "type": "string" + }, + "formula": { + "description": "Chemical formula of the source material, e.g. Al(CH3)3", + "type": "string" + }, + "purity": { + "description": "Purity of the source material.", + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "units": { + "$ref": "../../definitions/units.json#/dimensionless" + } + } + }, + "vendor": { + "type": "string" + }, + "_material": { + "description": "Subset of the full information about the material this source is made of.", + "$ref": "../../system/_material.json" + } + }, + "required": [ + "id" + ] +} diff --git a/schema/process/source/gas.json b/schema/process/source/gas.json new file mode 100644 index 000000000..ff5f69f97 --- /dev/null +++ b/schema/process/source/gas.json @@ -0,0 +1,47 @@ +{ + "$id": "process/source/gas", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "process gas source schema", + "description": "A gas fed into the chamber. The role distinguishes a gas that reacts into the film from one that only carries or sputters, which is what decides whether its flow affects stoichiometry.", + "type": "object", + "allOf": [ + { + "$ref": "base.json" + } + ], + "properties": { + "kind": { + "enum": [ + "gas" + ] + }, + "role": { + "description": "What the gas does in the process.", + "type": "string", + "enum": [ + "carrier", + "reactive", + "purge", + "sputtering", + "plasma", + "background" + ] + }, + "flowRate": { + "description": "Flow rate of the gas.", + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "units": { + "$ref": "../../definitions/units.json#/flow_rate" + } + } + } + }, + "required": [ + "kind", + "id" + ] +} diff --git a/schema/process/source/precursor.json b/schema/process/source/precursor.json new file mode 100644 index 000000000..5f02d19f6 --- /dev/null +++ b/schema/process/source/precursor.json @@ -0,0 +1,44 @@ +{ + "$id": "process/source/precursor", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "precursor source schema", + "description": "A chemical precursor delivered into the chamber, as used in chemical vapor and atomic layer deposition. The delivery mechanism is what sets the parameters that matter, e.g. a bubbler has a vessel temperature and a carrier flow.", + "type": "object", + "allOf": [ + { + "$ref": "base.json" + } + ], + "properties": { + "kind": { + "enum": [ + "precursor" + ] + }, + "delivery": { + "description": "How the precursor is brought into the chamber.", + "type": "string", + "enum": [ + "bubbler", + "flash_evaporator", + "mist", + "direct_liquid_injection", + "solid_sublimation", + "gas_cylinder", + "gas_line" + ] + }, + "vesselTemperature": { + "description": "Temperature of the precursor vessel, which sets its vapor pressure.", + "$ref": "../../core/reusable/quantity/temperature.json" + }, + "carrierGasId": { + "description": "Identifier of the gas source carrying this precursor.", + "type": "string" + } + }, + "required": [ + "kind", + "id" + ] +} diff --git a/schema/process/source/target.json b/schema/process/source/target.json new file mode 100644 index 000000000..52fda8466 --- /dev/null +++ b/schema/process/source/target.json @@ -0,0 +1,73 @@ +{ + "$id": "process/source/target", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sputtering target source schema", + "description": "A sputtering or ablation target: a solid source driven by a power supply. Forward and reflected power are recorded separately because their difference is what actually reaches the target.", + "type": "object", + "allOf": [ + { + "$ref": "base.json" + } + ], + "properties": { + "kind": { + "enum": [ + "target" + ] + }, + "position": { + "description": "Gun position in the chamber, e.g. TL or BC in a multi-gun system.", + "type": "string" + }, + "supply": { + "description": "Type of power supply driving the target.", + "type": "string", + "enum": [ + "rf", + "dc", + "pulsed_dc", + "hipims" + ] + }, + "power": { + "description": "Forward and reflected power at the target.", + "type": "object", + "properties": { + "forward": { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "units": { + "$ref": "../../definitions/units.json#/power" + } + } + }, + "reflected": { + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "units": { + "$ref": "../../definitions/units.json#/power" + } + } + } + } + }, + "voltage": { + "description": "Measured target voltage.", + "$ref": "../../core/reusable/quantity/voltage.json" + }, + "gunAngle": { + "description": "Tilt of the gun toward the substrate, which sets the composition gradient in a combinatorial deposition.", + "type": "number" + } + }, + "required": [ + "kind", + "id" + ] +} diff --git a/schema/process/stage.json b/schema/process/stage.json new file mode 100644 index 000000000..b58441071 --- /dev/null +++ b/schema/process/stage.json @@ -0,0 +1,71 @@ +{ + "$id": "process/stage", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "process stage schema", + "description": "One stage of a process, the analogue of a subworkflow: it binds a technique and an instrument to an ordered list of steps, and names the material sources those steps draw on. Deposition then anneal is two stages, because they run on different instruments. Status and timing come from the activity mixin so a stage and its process share one vocabulary.", + "type": "object", + "allOf": [ + { + "$ref": "../in_memory_entity/named.json" + }, + { + "description": "Instrument Property Schema", + "$ref": "../instrument/instrument_property.json" + }, + { + "description": "status, timing, operators and project", + "$ref": "../system/activity.json" + } + ], + "properties": { + "index": { + "description": "Order of the stage within the process, starting at 1.", + "type": "integer", + "minimum": 1 + }, + "categories": { + "description": "Technique this stage applies.", + "anyOf": [ + { + "$ref": "../techniques_category/experimental/synthesis.json" + }, + { + "$ref": "../techniques_category/experimental/characterization.json" + } + ] + }, + "sources": { + "description": "Material sources available to the steps of this stage: sputtering targets, precursors, process gases.", + "type": "array", + "items": { + "$ref": "source.json" + } + }, + "environment": { + "description": "Chamber conditions for the stage, e.g. base pressure and substrate temperature.", + "$ref": "../core/reusable/environment.json" + }, + "parameters": { + "description": "Technique-specific parameters. Unconstrained here, the way a model's parameters are unconstrained until a models_directory entry narrows them; technique blocks such as measurement/parameters/scanning_probe_microscopy describe the expected shape and will be bound per technique by catalogue entries in a later phase.", + "type": "object" + }, + "steps": { + "description": "Ordered steps of the stage, the analogue of a subworkflow's units.", + "type": "array", + "items": { + "$ref": "step.json" + } + }, + "duration": { + "$ref": "../core/reusable/quantity/time.json" + }, + "notes": { + "description": "Operator notes, kept verbatim: laboratory records carry context that no schema anticipates.", + "type": "string" + } + }, + "required": [ + "categories", + "steps" + ] +} diff --git a/schema/process/step.json b/schema/process/step.json new file mode 100644 index 000000000..efe4dd5b9 --- /dev/null +++ b/schema/process/step.json @@ -0,0 +1,113 @@ +{ + "$id": "process/step", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "process step schema", + "description": "One step of a stage, the analogue of a workflow unit. It composes the workflow unit sequencing mixin unchanged, so a process is walked with the same head, next and flowchartId mechanics as a workflow, and a step carries the unit status vocabulary (idle, active, warning, error, finished) for the same reason a unit inside a job does: run-level states such as draft, planned and cancelled belong to the stage and the process, which compose the activity mixin. repeat is the only place a cycle count lives: an atomic layer deposition of 200 cycles is one step with repeat 200, not a nested list.", + "type": "object", + "allOf": [ + { + "$ref": "../in_memory_entity/named.json" + }, + { + "description": "workflow unit sequencing: head, next, flowchartId and status", + "$ref": "../workflow/unit/mixins/base.json" + } + ], + "properties": { + "type": { + "description": "What the step does.", + "type": "string", + "enum": [ + "setup", + "pump_down", + "heat", + "ramp", + "hold", + "pre_sputter", + "deposition", + "pulse", + "purge", + "plasma", + "cycle", + "anneal", + "cool", + "vent", + "transfer", + "subsample", + "other" + ] + }, + "duration": { + "$ref": "../core/reusable/quantity/time.json" + }, + "repeat": { + "description": "Number of times this step is repeated, e.g. the number of atomic layer deposition cycles.", + "type": "integer", + "minimum": 1, + "default": 1 + }, + "setpoints": { + "description": "Values held or targeted during the step.", + "type": "object", + "properties": { + "temperature": { + "$ref": "../core/reusable/quantity/temperature.json" + }, + "pressure": { + "$ref": "../core/reusable/quantity/pressure.json" + }, + "sourceId": { + "description": "Identifier of the source in the stage's sources list that this step draws on.", + "type": "string" + }, + "flowRate": { + "description": "Gas flow rate held during the step.", + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "units": { + "$ref": "../definitions/units.json#/flow_rate" + } + } + }, + "power": { + "description": "Power applied during the step, e.g. to a plasma source.", + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "units": { + "$ref": "../definitions/units.json#/power" + } + } + }, + "substrateRotation": { + "description": "Substrate rotation rate held during the step.", + "type": "object", + "properties": { + "value": { + "type": "number" + }, + "units": { + "$ref": "../definitions/units.json#/rotation_rate" + } + } + } + } + }, + "logs": { + "description": "Quantities logged over time during the step, as plots against a time axis. A measured trace and its setpoint are two series on one plot.", + "type": "array", + "items": { + "$ref": "../core/abstract/2d_plot.json" + } + } + }, + "required": [ + "type", + "flowchartId" + ] +} diff --git a/schema/properties_directory/enum_options.json b/schema/properties_directory/enum_options.json index 2f15173f2..659912d24 100644 --- a/schema/properties_directory/enum_options.json +++ b/schema/properties_directory/enum_options.json @@ -24,14 +24,16 @@ "enum": [ "defect_formation_energy", "fermi_energy", + "film_thickness", "formation_energy", "homo_energy", + "interfacial_energy", "ionization_potential", "lumo_energy", "pressure", "reaction_energy_barrier", "surface_energy", - "interfacial_energy", + "surface_roughness", "thermal_correction_to_energy", "thermal_correction_to_enthalpy", "total_energy", @@ -56,6 +58,7 @@ "hubbard_u", "hubbard_v", "hubbard_v_nn", + "hysteresis_loop", "is_relaxed", "jupyter_notebook_endpoint", "phonon_dispersions", @@ -101,4 +104,3 @@ } } } - diff --git a/schema/properties_directory/non-scalar/hysteresis_loop.json b/schema/properties_directory/non-scalar/hysteresis_loop.json new file mode 100644 index 000000000..fa8a854bb --- /dev/null +++ b/schema/properties_directory/non-scalar/hysteresis_loop.json @@ -0,0 +1,41 @@ +{ + "$id": "properties-directory/non-scalar/hysteresis-loop", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Hysteresis loop property schema", + "description": "A hysteresis loop measured against a swept field or bias, e.g. the piezoresponse phase against tip bias that a switching-spectroscopy measurement produces. Built on the same 2D plot as a density of states, with the legend naming each series: on-field and off-field branches are two series of one loop.", + "type": "object", + "allOf": [ + { + "$ref": "../../core/abstract/2d_plot.json" + } + ], + "properties": { + "name": { + "enum": [ + "hysteresis_loop" + ] + }, + "loopType": { + "description": "Which pair of quantities the loop relates.", + "type": "string", + "enum": [ + "polarization_electric_field", + "piezoresponse_bias", + "amplitude_bias", + "phase_bias", + "current_voltage" + ] + }, + "legend": { + "description": "Label for each series in yDataSeries, e.g. on_field and off_field.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "name", + "loopType" + ] +} diff --git a/schema/properties_directory/scalar/film_thickness.json b/schema/properties_directory/scalar/film_thickness.json new file mode 100644 index 000000000..13e643d47 --- /dev/null +++ b/schema/properties_directory/scalar/film_thickness.json @@ -0,0 +1,30 @@ +{ + "$id": "properties-directory/scalar/film-thickness", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Film thickness property schema", + "description": "Physical thickness of a deposited film, as measured. Distinct from the slab thickness in material metadata, which counts atomic layers.", + "type": "object", + "allOf": [ + { + "$ref": "../../core/primitive/scalar.json" + } + ], + "properties": { + "name": { + "enum": [ + "film_thickness" + ] + }, + "units": { + "$ref": "../../definitions/units.json#/length" + }, + "layerIndex": { + "description": "Index of the layer in the sample's stack this thickness refers to.", + "type": "integer" + } + }, + "required": [ + "name", + "units" + ] +} diff --git a/schema/properties_directory/scalar/surface_roughness.json b/schema/properties_directory/scalar/surface_roughness.json new file mode 100644 index 000000000..4290d22a5 --- /dev/null +++ b/schema/properties_directory/scalar/surface_roughness.json @@ -0,0 +1,35 @@ +{ + "$id": "properties-directory/scalar/surface-roughness", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Surface roughness property schema", + "description": "Roughness of a measured surface. The statistic is part of the value: a root-mean-square roughness and a peak-to-valley height of the same scan are different numbers.", + "type": "object", + "allOf": [ + { + "$ref": "../../core/primitive/scalar.json" + } + ], + "properties": { + "name": { + "enum": [ + "surface_roughness" + ] + }, + "statistic": { + "description": "Estimator the value was computed with.", + "type": "string", + "enum": [ + "root_mean_square", + "arithmetic_average", + "peak_to_valley" + ] + }, + "units": { + "$ref": "../../definitions/units.json#/length" + } + }, + "required": [ + "name", + "units" + ] +} diff --git a/schema/property/holder.json b/schema/property/holder.json index 5999bbaef..82617ce02 100644 --- a/schema/property/holder.json +++ b/schema/property/holder.json @@ -143,6 +143,15 @@ }, { "$ref": "../properties_directory/jupyter_notebook_endpoint.json" + }, + { + "$ref": "../properties_directory/scalar/film_thickness.json" + }, + { + "$ref": "../properties_directory/scalar/surface_roughness.json" + }, + { + "$ref": "../properties_directory/non-scalar/hysteresis_loop.json" } ], "discriminator": { @@ -157,13 +166,24 @@ "type": "string" }, "info": { - "$ref": "../core/reference/exabyte.json" + "oneOf": [ + { + "$ref": "../core/reference/exabyte.json" + }, + { + "$ref": "../core/reference/measurement.json" + }, + { + "$ref": "../core/reference/process.json" + } + ] } }, "required": [ "type", "info" - ] + ], + "$comment": "type is a free string today (\"exabyte\" in existing records); making source a discriminated union on it is a separate migration with its own ticket." }, "exabyteId": { "description": "Id of the corresponding item in the entity bank that this property is obtained for", @@ -205,4 +225,3 @@ "exabyteId" ] } - diff --git a/schema/sample.json b/schema/sample.json new file mode 100644 index 000000000..a8d275de0 --- /dev/null +++ b/schema/sample.json @@ -0,0 +1,19 @@ +{ + "$id": "sample", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sample schema", + "description": "A physical specimen: a substrate, a film stack, a combinatorial library, a piece cut from one, or a device. The experimental mirror of material, composed exactly as material.json is, with sample_properties in place of material_properties. A sample does not require a basis and a lattice because a specimen may have unknown or non-crystalline structure; the nominal structure is referenced through _material instead.", + "type": "object", + "allOf": [ + { + "description": "in-memory entity", + "$ref": "in_memory_entity/named_defaultable.json" + }, + { + "$ref": "sample/sample_properties.json" + }, + { + "$ref": "sample/metadata.json" + } + ] +} diff --git a/schema/sample/layer.json b/schema/sample/layer.json new file mode 100644 index 000000000..2c708efea --- /dev/null +++ b/schema/sample/layer.json @@ -0,0 +1,66 @@ +{ + "$id": "sample/layer", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sample layer schema", + "description": "One layer of a sample's stack. The role says what the layer is for, which is what distinguishes an electrode from the film under study when both are the same material.", + "type": "object", + "properties": { + "index": { + "description": "Order in the stack, 0 being the substrate and increasing upward.", + "type": "integer", + "minimum": 0 + }, + "role": { + "description": "What this layer does in the stack.", + "type": "string", + "enum": [ + "substrate", + "buffer", + "seed", + "adhesion", + "bottom_electrode", + "film", + "top_electrode", + "capping", + "other" + ] + }, + "name": { + "type": "string" + }, + "formula": { + "description": "Chemical formula of the layer, e.g. AlScN", + "type": "string" + }, + "_material": { + "description": "Subset of the full information about the material this layer is made of.", + "$ref": "../system/_material.json" + }, + "thickness": { + "description": "Physical thickness of the layer, in length units. Note that material/metadata/slab_properties thickness counts atomic layers instead.", + "$ref": "../core/reusable/quantity/length.json" + }, + "crystallinity": { + "type": "string", + "enum": [ + "single_crystal", + "epitaxial", + "textured", + "polycrystalline", + "amorphous", + "unknown" + ] + }, + "orientation": { + "description": "Out-of-plane orientation, e.g. (0001)", + "type": "string" + }, + "_process": { + "description": "Subset of the full information about the process that produced this layer.", + "$ref": "../system/entity_reference.json" + } + }, + "required": [ + "role" + ] +} diff --git a/schema/sample/library.json b/schema/sample/library.json new file mode 100644 index 000000000..776d3d751 --- /dev/null +++ b/schema/sample/library.json @@ -0,0 +1,90 @@ +{ + "$id": "sample/library", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sample library schema", + "description": "A combinatorial library: one substrate carrying a spread of composition, thickness or temperature, measured at a grid of positions. Positions are listed here so the grid can be read without fetching the child sample of every point.", + "type": "object", + "properties": { + "type": { + "description": "What varies across the library.", + "type": "string", + "enum": [ + "composition_spread", + "thickness_gradient", + "temperature_gradient", + "discrete_array", + "other" + ] + }, + "grid": { + "description": "Regular arrangement of the positions.", + "type": "object", + "properties": { + "rows": { + "type": "integer" + }, + "columns": { + "type": "integer" + }, + "pitch": { + "description": "Spacing between adjacent positions.", + "$ref": "../core/reusable/quantity/length.json" + } + } + }, + "gradients": { + "description": "Quantities that vary across the library and the direction they vary in.", + "type": "array", + "items": { + "type": "object", + "properties": { + "quantity": { + "type": "string", + "enum": [ + "composition", + "thickness", + "temperature", + "other" + ] + }, + "element": { + "description": "Element the gradient is in, when the quantity is composition.", + "type": "string" + }, + "axis": { + "type": "string", + "enum": [ + "x", + "y", + "radial", + "custom" + ] + }, + "minimum": { + "type": "number" + }, + "maximum": { + "type": "number" + }, + "units": { + "type": "string" + } + }, + "required": [ + "quantity" + ] + } + }, + "positions": { + "description": "The positions themselves, in index order.", + "type": "array", + "items": { + "$ref": "position.json" + } + } + }, + "required": [ + "type", + "positions" + ] +} diff --git a/schema/sample/metadata.json b/schema/sample/metadata.json new file mode 100644 index 000000000..b4c57a157 --- /dev/null +++ b/schema/sample/metadata.json @@ -0,0 +1,14 @@ +{ + "$id": "sample/metadata", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sample metadata schema", + "description": "Open metadata bag for a sample, mirroring material/metadata. Deliberately unconstrained so a laboratory can record what its workflow needs without a schema change.", + "type": "object", + "properties": { + "metadata": { + "type": "object", + "default": {}, + "additionalProperties": true + } + } +} diff --git a/schema/sample/position.json b/schema/sample/position.json new file mode 100644 index 000000000..1ed640035 --- /dev/null +++ b/schema/sample/position.json @@ -0,0 +1,47 @@ +{ + "$id": "sample/position", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sample position schema", + "description": "A location on a sample. Together with the identity of the sample it is the join key that ties a per-position measurement on a combinatorial library to the point it was taken at.", + "type": "object", + "properties": { + "index": { + "description": "Position number within the parent, e.g. 1 to 44 on an HTEM library.", + "type": "integer", + "minimum": 0 + }, + "label": { + "description": "Human-readable label for the position, e.g. a sub-sample identifier such as R12.", + "type": "string" + }, + "row": { + "type": "integer" + }, + "column": { + "type": "integer" + }, + "coordinate": { + "description": "In-plane coordinate of the position, reusing the abstract 2D coordinate.", + "$ref": "../core/abstract/coordinate_2d.json" + }, + "units": { + "$ref": "../definitions/units.json#/length" + }, + "coordinateSystem": { + "description": "Origin and orientation the coordinate is given in.", + "type": "string", + "enum": [ + "wafer_center", + "wafer_flat", + "library_grid", + "stage", + "custom" + ], + "default": "wafer_center" + } + }, + "required": [ + "coordinate", + "units" + ] +} diff --git a/schema/sample/sample_properties.json b/schema/sample/sample_properties.json new file mode 100644 index 000000000..84430da8c --- /dev/null +++ b/schema/sample/sample_properties.json @@ -0,0 +1,77 @@ +{ + "$id": "sample/sample-properties", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "sample properties schema", + "description": "Domain-specific fields of a sample entity, mirroring material/material_properties: formula, external and src are kept as they are on a material; basis and lattice are replaced by an optional reference to the nominal material; form, layers, library, position, _parent, composition and identifiers describe the physical specimen.", + "type": "object", + "properties": { + "formula": { + "description": "Nominal reduced chemical formula of the sample, or of its top layer for a stack, e.g. Al0.7Sc0.3N", + "type": "string" + }, + "form": { + "description": "Physical form of the specimen.", + "type": "string", + "enum": [ + "bulk", + "thin_film", + "multilayer", + "powder", + "wafer", + "library", + "piece", + "device", + "liquid", + "other" + ] + }, + "composition": { + "description": "Measured or nominal elemental fractions, reusing the elemental ratio property so a composition from XRF and one from a calculation have the same shape.", + "type": "array", + "items": { + "$ref": "../properties_directory/structural/elemental_ratio.json" + } + }, + "_material": { + "description": "Subset of the full information about the nominal (idealized) material structure of this sample.", + "$ref": "../system/_material.json" + }, + "_parent": { + "description": "Subset of the full information about the sample this one was cut, diced or selected from, e.g. the library a position belongs to.", + "$ref": "../system/_sample.json" + }, + "position": { + "description": "Location of this sample on its parent, e.g. which position of a combinatorial library it is.", + "$ref": "position.json" + }, + "identifiers": { + "description": "Identifiers this sample carries in other systems, e.g. an HTEM sample id or a lab-system run number.", + "type": "array", + "items": { + "$ref": "../core/reusable/identifier.json" + } + }, + "layers": { + "description": "Layer stack, ordered from the substrate upward.", + "type": "array", + "items": { + "$ref": "layer.json" + } + }, + "library": { + "description": "Combinatorial library definition, present when form is library.", + "$ref": "library.json" + }, + "external": { + "description": "Record of this sample in a third-party database, e.g. HTEM.", + "$ref": "../system/database_source.json" + }, + "src": { + "description": "File information if the sample record was imported from a file such as a sample sheet.", + "$ref": "../system/file_source.json" + } + }, + "required": [ + "form" + ] +} diff --git a/schema/system/_sample.json b/schema/system/_sample.json new file mode 100644 index 000000000..0246b2fda --- /dev/null +++ b/schema/system/_sample.json @@ -0,0 +1,21 @@ +{ + "$id": "system/-sample", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Sample entity reference schema", + "description": "Reference to a sample entity, the experimental mirror of system/_material.", + "type": "object", + "allOf": [ + { + "$ref": "entity_reference.json" + } + ], + "properties": { + "cls": { + "description": "Sample class", + "type": "string", + "enum": [ + "Sample" + ] + } + } +} diff --git a/schema/system/activity.json b/schema/system/activity.json new file mode 100644 index 000000000..48eee5d85 --- /dev/null +++ b/schema/system/activity.json @@ -0,0 +1,59 @@ +{ + "$id": "system/activity", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "activity schema", + "description": "Behaviour of a record of something that was done: its status, when it started and ended, who ran it and which project it belongs to. Measurement and process both compose this, so the two cannot drift apart the way two hand-maintained status lists would.", + "type": "object", + "properties": { + "status": { + "description": "Lifecycle state. 'draft' marks a recipe or protocol that has not been executed.", + "type": "string", + "enum": [ + "draft", + "planned", + "active", + "finished", + "error", + "cancelled" + ] + }, + "startTime": { + "description": "When the activity started, as an ISO 8601 timestamp. A string rather than an epoch number so it stays readable without a converter, matching job.startTime.", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "When the activity finished, as an ISO 8601 timestamp.", + "type": "string", + "format": "date-time" + }, + "operators": { + "description": "People who ran the activity. A name and an optional affiliation rather than the bibliographic author shape used for citations: a laboratory record identifies an operator by whatever the instrument logged, often a single username, and a citation's requirement of a surname does not hold there.", + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "description": "Operator's name as recorded, e.g. a username.", + "type": "string" + }, + "affiliation": { + "description": "Institution the operator belongs to.", + "type": "string" + }, + "_account": { + "description": "Subset of the full information about the platform account of the operator, when they have one.", + "$ref": "entity_reference.json" + } + }, + "required": [ + "name" + ] + } + }, + "_project": { + "description": "Subset of the full information about the project that this activity belongs to.", + "$ref": "entity_reference.json" + } + } +} diff --git a/schema/techniques_category/enum_options.json b/schema/techniques_category/enum_options.json new file mode 100644 index 000000000..d3f1327a6 --- /dev/null +++ b/schema/techniques_category/enum_options.json @@ -0,0 +1,77 @@ +{ + "$id": "techniques-category/enum-options", + "experimental": { + "enum": [ + "experimental" + ] + }, + "characterization": { + "enum": [ + "characterization" + ] + }, + "synthesis": { + "enum": [ + "synthesis" + ] + }, + "characterizationTier3": { + "enum": [ + "microscopy", + "spectroscopy", + "diffraction", + "electrical", + "optical" + ] + }, + "synthesisTier3": { + "enum": [ + "vapor_deposition", + "solution_processing", + "bulk_growth", + "post_processing" + ] + }, + "characterizationTypes": { + "enum": [ + "scanning_probe_microscopy", + "electron_microscopy", + "x_ray", + "transport", + "dielectric", + "ultraviolet_visible_near_infrared" + ] + }, + "synthesisTypes": { + "enum": [ + "physical_vapor_deposition", + "chemical_vapor_deposition", + "annealing" + ] + }, + "characterizationSubtypes": { + "enum": [ + "atomic_force_microscopy", + "scanning_tunneling_microscopy", + "scanning_tunneling_spectroscopy", + "piezoresponse_force_microscopy", + "kelvin_probe_force_microscopy", + "conductive_atomic_force_microscopy", + "magnetic_force_microscopy" + ] + }, + "synthesisSubtypes": { + "enum": [ + "pulsed_laser_deposition", + "sputtering", + "molecular_beam_epitaxy", + "thermal_evaporation", + "electron_beam_evaporation", + "atomic_layer_deposition", + "plasma_enhanced_atomic_layer_deposition", + "thermal_chemical_vapor_deposition", + "metalorganic_chemical_vapor_deposition", + "plasma_enhanced_chemical_vapor_deposition" + ] + } +} diff --git a/schema/techniques_category/experimental.json b/schema/techniques_category/experimental.json new file mode 100644 index 000000000..4466bbd6f --- /dev/null +++ b/schema/techniques_category/experimental.json @@ -0,0 +1,17 @@ +{ + "$id": "techniques-category/experimental", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "experimental technique category schema", + "description": "Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.", + "type": "object", + "allOf": [ + { + "$ref": "../core/reusable/categories.json" + } + ], + "properties": { + "tier1": { + "$ref": "enum_options.json#/experimental" + } + } +} diff --git a/schema/techniques_category/experimental/characterization.json b/schema/techniques_category/experimental/characterization.json new file mode 100644 index 000000000..cadace791 --- /dev/null +++ b/schema/techniques_category/experimental/characterization.json @@ -0,0 +1,26 @@ +{ + "$id": "techniques-category/experimental/characterization", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "characterization technique category schema", + "description": "Techniques that measure a sample without intending to change it: microscopy, spectroscopy, diffraction, electrical and optical. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.", + "type": "object", + "allOf": [ + { + "$ref": "../experimental.json" + } + ], + "properties": { + "tier2": { + "$ref": "../enum_options.json#/characterization" + }, + "tier3": { + "$ref": "../enum_options.json#/characterizationTier3" + }, + "type": { + "$ref": "../enum_options.json#/characterizationTypes" + }, + "subtype": { + "$ref": "../enum_options.json#/characterizationSubtypes" + } + } +} diff --git a/schema/techniques_category/experimental/synthesis.json b/schema/techniques_category/experimental/synthesis.json new file mode 100644 index 000000000..36cabc707 --- /dev/null +++ b/schema/techniques_category/experimental/synthesis.json @@ -0,0 +1,26 @@ +{ + "$id": "techniques-category/experimental/synthesis", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "synthesis technique category schema", + "description": "Techniques that create or modify a sample: vapor deposition, solution processing, bulk growth and post-processing such as annealing. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.", + "type": "object", + "allOf": [ + { + "$ref": "../experimental.json" + } + ], + "properties": { + "tier2": { + "$ref": "../enum_options.json#/synthesis" + }, + "tier3": { + "$ref": "../enum_options.json#/synthesisTier3" + }, + "type": { + "$ref": "../enum_options.json#/synthesisTypes" + }, + "subtype": { + "$ref": "../enum_options.json#/synthesisSubtypes" + } + } +} diff --git a/src/html/map/map.js b/src/html/map/map.js index 9d6d46f37..5c479f9e0 100644 --- a/src/html/map/map.js +++ b/src/html/map/map.js @@ -2,9 +2,11 @@ /* eslint-disable no-use-before-define */ // ── Encoding ────────────────────────────────────────────────────────────────── -// Colour groups the 22 source directories into eight families. Twenty-two hues -// would be indistinguishable; these eight are the divisions a reader actually -// navigates by. +// Colour groups the source directories into nine families. One hue per directory +// would be indistinguishable; these nine are the divisions a reader actually +// navigates by. The experiment family covers the components of the four experimental +// root entities (sample, instrument, measurement, process) and their technique +// vocabulary; the root files themselves take the root-entity colour like every root. const FAMILIES = [ { key: "entities", label: "Root entities", color: "#e6b422", domains: ["(root)"] }, { @@ -50,6 +52,18 @@ const FAMILIES = [ color: "#d7ba7d", domains: ["software", "software_directory", "apse", "context_providers_directory"], }, + { + key: "experiment", + label: "Experimental components & techniques", + color: "#f47067", + domains: [ + "sample", + "instrument", + "measurement", + "process", + "techniques_category", + ], + }, { key: "platform", label: "Platform mixins", diff --git a/src/js/scripts/buildEntityGraph.ts b/src/js/scripts/buildEntityGraph.ts index 13ec81939..ec7b17f99 100644 --- a/src/js/scripts/buildEntityGraph.ts +++ b/src/js/scripts/buildEntityGraph.ts @@ -121,6 +121,10 @@ const ENTITY_DOMAINS = [ "job", "software", "compute", + "sample", + "instrument", + "measurement", + "process", ]; /** diff --git a/src/js/scripts/entity_graph.schema.json b/src/js/scripts/entity_graph.schema.json index 127c6356b..3dfe32180 100644 --- a/src/js/scripts/entity_graph.schema.json +++ b/src/js/scripts/entity_graph.schema.json @@ -29,11 +29,7 @@ "type": "integer" } }, - "required": [ - "extends", - "contains", - "variant" - ] + "required": ["extends", "contains", "variant"] }, "layerCounts": { "description": "Number of schemas assigned to each layer", @@ -151,9 +147,7 @@ "type": "string" } }, - "required": [ - "name" - ] + "required": ["name"] } }, "required": [ @@ -187,11 +181,7 @@ }, "kind": { "description": "Relationship expressed by the reference: allOf extends, properties/items contains, oneOf/anyOf is a variant", - "enum": [ - "extends", - "contains", - "variant" - ] + "enum": ["extends", "contains", "variant"] }, "label": { "description": "Property name for contains edges, with a [] suffix when reached through items", @@ -202,17 +192,9 @@ "type": "string" } }, - "required": [ - "source", - "target", - "kind" - ] + "required": ["source", "target", "kind"] } } }, - "required": [ - "meta", - "nodes", - "edges" - ] + "required": ["meta", "nodes", "edges"] } diff --git a/src/py/mat3ra/esse/data/examples.py b/src/py/mat3ra/esse/data/examples.py index ef60c96db..f0d55e4c0 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":{"formula":"SiC","n_atoms":4,"is_elemental":false,"total_energy":-520.004,"total_energy_per_atom":-130.001,"precision_value":8192,"precision_metric":"KPPRA"},"path":"core/reusable/formation_energy_contribution"},{"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","build":"GNU","version":"6.3","hasAdvancedComputeOptions":true,"isUsingMaterial":true},"model":{"method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"},"subtype":"gga","type":"dft","functional":"pbe"},"name":"Band Structure","properties":["band_structure"],"units":[{"application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","build":"GNU","version":"6.3","hasAdvancedComputeOptions":true,"isUsingMaterial":true},"compute":null,"executable":{"name":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","advancedComputeOptions":true,"isDefault":true,"monitors":[{"name":"standard_output"}],"postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"name":"pw_scf","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","input":[{"name":"in.scf","templateId":"dJ7HYz5pQ4AuN5qc9"}],"postProcessors":[],"preProcessors":[],"monitors":[],"results":[]},"flowchartId":"execution","head":true,"input":[{"template":{"name":"kpoints_grid","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}]},"rendered":"K_POINTS automatic\n2 2 2 0 0 0","isManuallyChanged":false}],"monitors":[{"name":"scf_accuracy"},{"name":"standard_output"}],"name":"execution","next":"pw-bands","postProcessors":[],"preProcessors":[],"results":[{"name":"harris_foulkes_estimate"}],"status":"idle","type":"execution","context":[]}]}],"workflows":[],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},{"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},{"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},{"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},{"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},{"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}},{"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},{"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},{"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","functional":"pbe"},"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":"formation_energy_contributions","values":[{"formula":"SiC","n_atoms":4,"is_elemental":false,"total_energy":-520.003969643439,"total_energy_per_atom":-130.00099241085974,"precision_value":8192,"precision_metric":"KPPRA"},{"formula":"Si","n_atoms":2,"is_elemental":true,"total_energy":-261.003969643439,"total_energy_per_atom":-130.5019848217195,"precision_value":8192,"precision_metric":"KPPRA"},{"formula":"C","n_atoms":2,"is_elemental":true,"total_energy":-321.003969643439,"total_energy_per_atom":-160.5019848217195,"precision_value":8000,"precision_metric":"KPPRA"}]},"path":"properties_directory/non-scalar/formation_energy_contributions"},{"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":{"yDataSeries":[[0,0.1,0.3,0.5,0.7,0.9,1,0.9,0.7,0.5,0.3,0.1,0]],"yAxis":{"label":"amplitude"},"xDataArray":[-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6],"xAxis":{"label":"coordinate"},"name":"wavefunction_amplitude"},"path":"properties_directory/non-scalar/wavefunction_amplitude"},{"data":{"name":"defect_formation_energy","units":"eV","value":3.5},"path":"properties_directory/scalar/defect_formation_energy"},{"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":"interfacial_energy","units":"eV/A^2","value":0.02},"path":"properties_directory/scalar/interfacial_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":"thermal_correction_to_energy","units":"kcal/mol","value":15.033},"path":"properties_directory/scalar/thermal_correction_to_energy"},{"data":{"name":"thermal_correction_to_enthalpy","units":"kcal/mol","value":15.626},"path":"properties_directory/scalar/thermal_correction_to_enthalpy"},{"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","build":"GNU","version":"6.3","hasAdvancedComputeOptions":true,"isUsingMaterial":true},"path":"software/application"},{"data":{"name":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","advancedComputeOptions":true,"isDefault":true,"monitors":[{"name":"standard_output"}],"postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"path":"software/executable"},{"data":{"name":"pw_scf","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","input":[{"name":"in.scf","templateId":"dJ7HYz5pQ4AuN5qc9"}],"postProcessors":[],"preProcessors":[],"monitors":[],"results":[]},"path":"software/flavor"},{"data":{"name":"kpoints_grid","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}]},"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":[{"template":{"name":"kpoints_grid","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}]},"rendered":"K_POINTS automatic\n2 2 2 0 0 0","isManuallyChanged":false}],"name":"modeling","status":"idle","type":"execution","preProcessors":[],"postProcessors":[],"monitors":[],"results":[],"context":[],"executable":{"name":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","advancedComputeOptions":true,"isDefault":true,"monitors":[{"name":"standard_output"}],"postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"name":"pw_scf","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","input":[{"name":"in.scf","templateId":"dJ7HYz5pQ4AuN5qc9"}],"postProcessors":[],"preProcessors":[],"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":[{"template":{"name":"kpoints_grid","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}]},"rendered":"K_POINTS automatic\n2 2 2 0 0 0","isManuallyChanged":false}],"name":"scripting","status":"idle","type":"execution","preProcessors":[],"postProcessors":[],"monitors":[],"results":[],"executable":{"name":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","advancedComputeOptions":true,"isDefault":true,"monitors":[{"name":"standard_output"}],"postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"name":"pw_scf","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","input":[{"name":"in.scf","templateId":"dJ7HYz5pQ4AuN5qc9"}],"postProcessors":[],"preProcessors":[],"monitors":[],"results":[]},"context":[]},"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","build":"GNU","version":"6.3","hasAdvancedComputeOptions":true,"isUsingMaterial":true},"model":{"method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"},"subtype":"gga","type":"dft","functional":"pbe"},"name":"Band Structure","properties":["band_structure"],"units":[{"application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","build":"GNU","version":"6.3","hasAdvancedComputeOptions":true,"isUsingMaterial":true},"compute":null,"executable":{"name":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","advancedComputeOptions":true,"isDefault":true,"monitors":[{"name":"standard_output"}],"postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"name":"pw_scf","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","input":[{"name":"in.scf","templateId":"dJ7HYz5pQ4AuN5qc9"}],"postProcessors":[],"preProcessors":[],"monitors":[],"results":[]},"flowchartId":"execution","head":true,"input":[{"template":{"name":"kpoints_grid","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}]},"rendered":"K_POINTS automatic\n2 2 2 0 0 0","isManuallyChanged":false}],"monitors":[{"name":"scf_accuracy"},{"name":"standard_output"}],"name":"execution","next":"pw-bands","postProcessors":[],"preProcessors":[],"results":[{"name":"harris_foulkes_estimate"}],"status":"idle","type":"execution","context":[]}]},"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","build":"GNU","version":"6.3","hasAdvancedComputeOptions":true,"isUsingMaterial":true},"compute":null,"executable":{"name":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","advancedComputeOptions":true,"isDefault":true,"monitors":[{"name":"standard_output"}],"postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"name":"pw_scf","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","input":[{"name":"in.scf","templateId":"dJ7HYz5pQ4AuN5qc9"}],"postProcessors":[],"preProcessors":[],"monitors":[],"results":[]},"flowchartId":"execution","head":true,"input":[{"template":{"name":"kpoints_grid","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}]},"rendered":"K_POINTS automatic\n2 2 2 0 0 0","isManuallyChanged":false}],"monitors":[{"name":"scf_accuracy"},{"name":"standard_output"}],"name":"execution","next":"pw-bands","postProcessors":[],"preProcessors":[],"results":[{"name":"harris_foulkes_estimate"}],"status":"idle","type":"execution","context":[]},"path":"workflow/unit/execution"},{"data":{"name":"N_K_y","scope":"global"},"path":"workflow/unit/input/_inputItemScope"},{"data":{"type":"api","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":{"collection":"features","draft":false,"type":"db_collection"},"path":"workflow/unit/io/db_collection"},{"data":{"ids":["KuAsBRwofzGfHPWiT"],"type":"db_ids"},"path":"workflow/unit/io/db_ids"},{"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","type":"object_storage"},"path":"workflow/unit/io/object_storage"},{"data":{"flowchartId":"io","head":true,"input":[{"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","type":"object_storage"},{"type":"api","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"}],"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":"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":{"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","build":"GNU","version":"6.3","hasAdvancedComputeOptions":true,"isUsingMaterial":true},"model":{"method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"},"subtype":"gga","type":"dft","functional":"pbe"},"name":"Band Structure","properties":["band_structure"],"units":[{"application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","build":"GNU","version":"6.3","hasAdvancedComputeOptions":true,"isUsingMaterial":true},"compute":null,"executable":{"name":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","advancedComputeOptions":true,"isDefault":true,"monitors":[{"name":"standard_output"}],"postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"name":"pw_scf","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","input":[{"name":"in.scf","templateId":"dJ7HYz5pQ4AuN5qc9"}],"postProcessors":[],"preProcessors":[],"monitors":[],"results":[]},"flowchartId":"execution","head":true,"input":[{"template":{"name":"kpoints_grid","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}]},"rendered":"K_POINTS automatic\n2 2 2 0 0 0","isManuallyChanged":false}],"monitors":[{"name":"scf_accuracy"},{"name":"standard_output"}],"name":"execution","next":"pw-bands","postProcessors":[],"preProcessors":[],"results":[{"name":"harris_foulkes_estimate"}],"status":"idle","type":"execution","context":[]}]}],"workflows":[],"tags":["workflow"],"units":[{"_id":"LCthJ6E2QabYCZqf4","flowchartId":"05c362dc27ff1bb98d16fd60","type":"subworkflow","name":"subworkflow unit","preProcessors":[],"postProcessors":[],"monitors":[],"results":[]}]},"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":{"shape":[2,3],"values":[0.1,0.2,0.3,0.4,0.5,0.6],"axes":[{"name":"y","start":0,"step":0.5},{"name":"x","start":0,"step":0.5}]},"path":"core/abstract/multidimensional_array"},{"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":{"type":"measurement","measurementId":"mPfmSpectroscopy0005","channel":"piezoresponsePhase","sampleId":"sAlScN6705p17","instrumentId":"iJupiter01"},"path":"core/reference/measurement"},{"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":{"type":"process","processId":"pLmc1699","stepFlowchartId":"s2","sampleId":"sAlScN6705"},"path":"core/reference/process"},{"data":{"_id":"nDAavgjrT5ezwFgod","owner":{"_id":"HtxACY2wX4b2hS8Rv","cls":"Account","slug":"exabyte"},"title":"My Calculation"},"path":"core/reference"},{"data":{"shape":[256,256],"axes":[{"name":"y","start":0,"step":0.0078125},{"name":"x","start":0,"step":0.0078125}],"units":"nm","dataType":"float32","file":{"basename":"PFM_DART_raw.ibw","format":"asylum_ibw","role":"raw"},"datasetPath":"HeightRetrace"},"path":"core/reusable/array_data"},{"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":{"temperature":{"value":295,"units":"K"},"atmosphere":"ambient","humidity":{"value":38,"units":"percent"}},"path":"core/reusable/environment"},{"data":{"pathname":"/path/to/file/","basename":"some_file.png","filetype":"image"},"path":"core/reusable/file_metadata"},{"data":{"basename":"PFM_DART_raw.ibw","pathname":"/data/utk/2026-03-13/","filetype":"binary","format":"asylum_ibw","size":1688293,"checksum":{"algorithm":"sha256","value":"1a3f9c2b5d7e8f0a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f607182"},"role":"raw"},"path":"core/reusable/file_reference"},{"data":{"formula":"SiC","n_atoms":4,"is_elemental":false,"total_energy":-520.004,"total_energy_per_atom":-130.001,"precision_value":8192,"precision_metric":"KPPRA"},"path":"core/reusable/formation_energy_contribution"},{"data":{"scheme":"htem","value":"6705"},"path":"core/reusable/identifier"},{"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":{"value":1.5,"units":"nA"},"path":"core/reusable/quantity/current"},{"data":{"value":372.177,"units":"kHz"},"path":"core/reusable/quantity/frequency"},{"data":{"value":140,"units":"nm"},"path":"core/reusable/quantity/length"},{"data":{"value":0.004,"units":"Torr"},"path":"core/reusable/quantity/pressure"},{"data":{"value":300,"units":"degC"},"path":"core/reusable/quantity/temperature"},{"data":{"value":30,"units":"min"},"path":"core/reusable/quantity/time"},{"data":{"value":0.5,"units":"V"},"path":"core/reusable/quantity/voltage"},{"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":{"kind":"cantilever","name":"Multi75-EG","vendor":"BudgetSensors","parameters":{"springConstant":{"value":2.1868,"units":"N/m"},"resonanceFrequency":{"value":372.177,"units":"kHz"}}},"path":"instrument/component"},{"data":{"shortName":"pdac_com5","summary":"Combinatorial magnetron sputtering chamber","vendor":"National Laboratory of the Rockies","model":"PDAC COM5","techniques":[{"tier1":"experimental","tier2":"synthesis","tier3":"vapor_deposition","type":"physical_vapor_deposition","subtype":"sputtering"}]},"path":"instrument/instrument_properties"},{"data":{"instrument":{"_id":"iJupiter01","name":"Jupiter scanning probe microscope","vendor":"Asylum Research","model":"Jupiter","firmware":"19.34.88"}},"path":"instrument/instrument_property"},{"data":{"_id":"iJupiter01","name":"Jupiter scanning probe microscope","isDefault":true,"shortName":"jupiter","summary":"Asylum Research Jupiter atomic force microscope with dual-frequency resonance tracking","vendor":"Asylum Research","model":"Jupiter","firmware":"19.34.88","techniques":[{"tier1":"experimental","tier2":"characterization","tier3":"microscopy","type":"scanning_probe_microscopy","subtype":"piezoresponse_force_microscopy"}],"components":[{"kind":"cantilever","name":"Multi75-EG","parameters":{"springConstant":{"value":2.1868,"units":"N/m"},"inverseOpticalLeverSensitivity":{"value":82.055,"units":"nm/V"}}}],"location":{"facility":"University of Tennessee, Knoxville","laboratory":"Kalinin group"}},"path":"instrument"},{"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","build":"GNU","version":"6.3","hasAdvancedComputeOptions":true,"isUsingMaterial":true},"model":{"method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"},"subtype":"gga","type":"dft","functional":"pbe"},"name":"Band Structure","properties":["band_structure"],"units":[{"application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","build":"GNU","version":"6.3","hasAdvancedComputeOptions":true,"isUsingMaterial":true},"compute":null,"executable":{"name":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","advancedComputeOptions":true,"isDefault":true,"monitors":[{"name":"standard_output"}],"postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"name":"pw_scf","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","input":[{"name":"in.scf","templateId":"dJ7HYz5pQ4AuN5qc9"}],"postProcessors":[],"preProcessors":[],"monitors":[],"results":[]},"flowchartId":"execution","head":true,"input":[{"template":{"name":"kpoints_grid","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}]},"rendered":"K_POINTS automatic\n2 2 2 0 0 0","isManuallyChanged":false}],"monitors":[{"name":"scf_accuracy"},{"name":"standard_output"}],"name":"execution","next":"pw-bands","postProcessors":[],"preProcessors":[],"results":[{"name":"harris_foulkes_estimate"}],"status":"idle","type":"execution","context":[]}]}],"workflows":[],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},{"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},{"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},{"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},{"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},{"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}},{"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},{"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},{"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}}}],"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","metadata":{"boundaryConditions":{"type":"pbc","offset":0}}},"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":{"_id":"mPfmSpectroscopy0005","name":"PFM switching spectroscopy, PLZT film","status":"finished","startTime":"2026-07-07T17:36:48Z","categories":{"tier1":"experimental","tier2":"characterization","tier3":"microscopy","type":"scanning_probe_microscopy","subtype":"piezoresponse_force_microscopy"},"_sample":{"_id":"sPlzt0005","cls":"Sample","slug":"plzt-sol-gel-film"},"parameters":{"mode":"dual_ac_resonance_tracking","scanRange":{"x":{"value":3.75,"units":"um"},"y":{"value":3.75,"units":"um"}},"driveAmplitude":{"value":0.5,"units":"V"},"driveFrequency":{"value":372.7,"units":"kHz"},"biasWaveform":{"type":"triangle_square","amplitude":{"value":9,"units":"V"},"frequency":{"value":0.9058,"units":"Hz"},"cycles":2,"pointsPerSecond":2000,"offField":true}},"rawFiles":[{"basename":"PLZT_0005.ibw","format":"asylum_ibw","size":226514,"role":"raw"}]},"path":"measurement/base"},{"data":{"name":"piezoresponsePhase","direction":"backward","description":"Off-field phase against tip bias at one point of a switching-spectroscopy grid","data":{"xAxis":{"label":"bias","units":"V"},"yAxis":{"label":"phase","units":"degree"},"xDataArray":[-9,-4.5,0,4.5,9],"yDataSeries":[[178.2,175.4,20.1,4.3,3.1]]}},"path":"measurement/data/channel"},{"data":{"mode":"tapping","scanRange":{"x":{"value":2,"units":"um"},"y":{"value":2,"units":"um"}},"scanPoints":{"x":256,"y":256},"scanRate":{"value":1,"units":"Hz"},"scanDirection":"down","setpoint":{"value":0.7,"units":"V"},"driveFrequency":{"value":305.2,"units":"kHz"},"probe":{"kind":"cantilever","name":"AC160TS","parameters":{"springConstant":{"value":26,"units":"N/m"}}}},"path":"measurement/parameters/scanning_probe_microscopy"},{"data":{"_id":"mPfmImage0004","name":"PFM scan of AlScN library 6705 position 17, 2 um","isDefault":false,"status":"finished","startTime":"2026-03-13T18:05:58Z","endTime":"2026-03-13T18:13:24Z","operators":[{"name":"Boris Slautin","affiliation":"University of Tennessee, Knoxville"}],"categories":{"tier1":"experimental","tier2":"characterization","tier3":"microscopy","type":"scanning_probe_microscopy","subtype":"piezoresponse_force_microscopy"},"_sample":{"_id":"sAlScN6705p17","cls":"Sample","slug":"alscn-library-6705-position-17"},"samplePosition":{"index":17,"coordinate":[25.4,19.15],"units":"mm","coordinateSystem":"library_grid"},"instrument":{"_id":"iJupiter01","name":"Jupiter scanning probe microscope","shortName":"jupiter","vendor":"Asylum Research","model":"Jupiter","firmware":"19.34.88"},"environment":{"temperature":{"value":295,"units":"K"},"atmosphere":"ambient","humidity":{"value":38,"units":"percent"}},"parameters":{"mode":"dual_ac_resonance_tracking","scanRange":{"x":{"value":2,"units":"um"},"y":{"value":2,"units":"um"}},"scanOffset":{"x":{"value":-1.476,"units":"um"},"y":{"value":0.8707,"units":"um"}},"scanAngle":{"value":90,"units":"degree"},"scanPoints":{"x":256,"y":256},"scanRate":{"value":2.0032,"units":"Hz"},"scanDirection":"down","setpoint":{"value":0.8,"units":"V"},"driveAmplitude":{"value":0.5,"units":"V"},"driveFrequency":{"value":372.177,"units":"kHz"},"probe":{"kind":"cantilever","name":"Multi75-EG","parameters":{"springConstant":{"value":2.1868,"units":"N/m"}}}},"data":[{"name":"height","direction":"backward","description":"Topography, from the HeightRetrace layer of the source file","data":{"shape":[256,256],"axes":[{"name":"y","start":0,"step":0.0078125},{"name":"x","start":0,"step":0.0078125}],"units":"um","dataType":"float32","file":{"basename":"PFM_DART_raw.ibw","format":"asylum_ibw","size":1688293,"role":"raw"},"datasetPath":"HeightRetrace"}},{"name":"piezoresponsePhase","direction":"backward","data":{"shape":[256,256],"axes":[{"name":"y","start":0,"step":0.0078125},{"name":"x","start":0,"step":0.0078125}],"units":"degree","dataType":"float32","file":{"basename":"PFM_DART_raw.ibw","format":"asylum_ibw","role":"raw"},"datasetPath":"Phase1Retrace"}}],"rawFiles":[{"basename":"PFM_DART_raw.ibw","format":"asylum_ibw","size":1688293,"role":"raw"}],"metadata":{"imagingMode":"PFM Mode"}},"path":"measurement"},{"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","functional":"pbe"},"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":{"categories":{"tier1":"experimental","tier2":"synthesis","tier3":"vapor_deposition","type":"chemical_vapor_deposition","subtype":"atomic_layer_deposition"},"properties":["film_thickness"],"status":"finished","stages":[{"name":"AlN plasma atomic layer deposition","index":1,"categories":{"tier1":"experimental","tier2":"synthesis","tier3":"vapor_deposition","type":"chemical_vapor_deposition","subtype":"atomic_layer_deposition"},"sources":[{"kind":"precursor","id":"trimethylaluminium","name":"trimethylaluminium","formula":"Al(CH3)3","delivery":"bubbler","vesselTemperature":{"value":20,"units":"degC"},"carrierGasId":"argon"},{"kind":"gas","id":"ammonia","formula":"NH3","role":"plasma"},{"kind":"gas","id":"argon","formula":"Ar","role":"carrier","flowRate":{"value":30,"units":"sccm"}}],"environment":{"temperature":{"value":300,"units":"degC"},"pressure":{"value":0.15,"units":"Torr"}},"steps":[{"name":"Heat to deposition temperature","flowchartId":"heat","head":true,"next":"cycle","type":"heat","status":"finished","setpoints":{"temperature":{"value":300,"units":"degC"}}},{"name":"Deposition cycles","flowchartId":"cycle","next":"cool","type":"cycle","status":"finished","repeat":200},{"name":"Cool down","flowchartId":"cool","type":"cool","status":"finished"}]}]},"path":"process/base"},{"data":{"id":"argon","name":"argon","formula":"Ar","purity":{"value":99.999,"units":"percent"}},"path":"process/source/base"},{"data":{"kind":"gas","id":"nitrogen","formula":"N2","role":"reactive","flowRate":{"value":5,"units":"sccm"}},"path":"process/source/gas"},{"data":{"kind":"precursor","id":"trimethylaluminium","name":"trimethylaluminium","formula":"Al(CH3)3","delivery":"bubbler","vesselTemperature":{"value":20,"units":"degC"},"carrierGasId":"argon"},"path":"process/source/precursor"},{"data":{"kind":"target","id":"molybdenum","formula":"Mo","position":"R","supply":"rf","power":{"forward":{"value":54,"units":"W"},"reflected":{"value":3,"units":"W"}},"voltage":{"value":201,"units":"V"}},"path":"process/source/target"},{"data":{"kind":"target","id":"aluminium-scandium","formula":"AlSc","position":"TL","supply":"rf","power":{"forward":{"value":150,"units":"W"},"reflected":{"value":0,"units":"W"}},"gunAngle":0.3},"path":"process/source"},{"data":{"name":"Rapid thermal anneal","index":2,"categories":{"tier1":"experimental","tier2":"synthesis","tier3":"post_processing","type":"annealing"},"instrument":{"_id":"iRta1","name":"Rapid thermal annealer 1","shortName":"rta1","vendor":"National Laboratory of the Rockies","model":"RTA1"},"sources":[{"kind":"gas","id":"nitrogen","formula":"N2","role":"background","flowRate":{"value":100,"units":"sccm"}}],"steps":[{"name":"Ramp","flowchartId":"ramp","head":true,"next":"hold","type":"ramp","duration":{"value":1,"units":"min"}},{"name":"Hold at temperature","flowchartId":"hold","type":"hold","duration":{"value":3,"units":"min"},"setpoints":{"temperature":{"value":900,"units":"degC"}}}]},"path":"process/stage"},{"data":{"name":"Trimethylaluminium pulse","flowchartId":"half-cycle-1","head":true,"next":"half-cycle-2","type":"pulse","duration":{"value":0.06,"units":"s"},"setpoints":{"sourceId":"trimethylaluminium"}},"path":"process/step"},{"data":{"_id":"pLmc1699","name":"LaMoN deposition and anneal, run 1699","description":"Three-stage combinatorial sputter run recorded by the National Laboratory of the Rockies lab system: an aluminium deposition, a lanthanum and molybdenum co-deposition with an in-situ anneal, and a second aluminium deposition.","status":"finished","startTime":"2022-11-14T00:00:00Z","operators":[{"name":"Rebecca Smaha","affiliation":"National Laboratory of the Rockies"}],"categories":{"tier1":"experimental","tier2":"synthesis","tier3":"vapor_deposition","type":"physical_vapor_deposition","subtype":"sputtering"},"properties":["film_thickness"],"identifiers":[{"scheme":"lmc","value":"1699"}],"_inputSamples":[{"_id":"sSubstratePSi","cls":"Sample","slug":"p-type-silicon-substrate"}],"stages":[{"name":"Aluminium deposition","index":1,"categories":{"tier1":"experimental","tier2":"synthesis","tier3":"vapor_deposition","type":"physical_vapor_deposition","subtype":"sputtering"},"instrument":{"_id":"iPdacCom5","name":"PDAC COM5 combinatorial sputtering chamber","shortName":"pdac_com5","vendor":"National Laboratory of the Rockies","model":"PDAC COM5"},"sources":[{"kind":"target","id":"aluminium","formula":"Al","position":"BC","supply":"rf","power":{"forward":{"value":60,"units":"W"},"reflected":{"value":0,"units":"W"}},"voltage":{"value":245,"units":"V"}},{"kind":"gas","id":"nitrogen","formula":"N2","role":"reactive","flowRate":{"value":5,"units":"sccm"}},{"kind":"gas","id":"argon","formula":"Ar","role":"sputtering","flowRate":{"value":8,"units":"sccm"}}],"environment":{"pressure":{"value":0.004,"units":"Torr"},"atmosphere":"vacuum"},"notes":"Base pressure measured before deposition. Substrate: half a p-type Si(100) wafer with tungsten on the back. Rotation 60 rpm.","steps":[{"name":"Pre-sputter","flowchartId":"s1-presputter","head":true,"next":"s1-deposition","type":"pre_sputter","status":"finished","duration":{"value":30,"units":"min"}},{"name":"Deposition","flowchartId":"s1-deposition","type":"deposition","status":"finished","duration":{"value":30,"units":"min"},"setpoints":{"temperature":{"value":20,"units":"degC"},"pressure":{"value":0.004,"units":"Torr"},"substrateRotation":{"value":60,"units":"rpm"}}}]},{"name":"Lanthanum and molybdenum co-deposition with anneal","index":2,"categories":{"tier1":"experimental","tier2":"synthesis","tier3":"vapor_deposition","type":"physical_vapor_deposition","subtype":"sputtering"},"instrument":{"_id":"iPdacCom5","name":"PDAC COM5 combinatorial sputtering chamber","shortName":"pdac_com5","vendor":"National Laboratory of the Rockies","model":"PDAC COM5"},"sources":[{"kind":"target","id":"lanthanum","formula":"La","position":"L","supply":"rf","power":{"forward":{"value":73,"units":"W"},"reflected":{"value":1,"units":"W"}},"voltage":{"value":207,"units":"V"}},{"kind":"target","id":"molybdenum","formula":"Mo","position":"R","supply":"rf","power":{"forward":{"value":54,"units":"W"},"reflected":{"value":3,"units":"W"}},"voltage":{"value":201,"units":"V"}}],"environment":{"pressure":{"value":0.0031,"units":"Torr"},"atmosphere":"vacuum"},"notes":"Post-deposition anneal 30 min in N2 with the cracker on, heater set point 850 C, read 747 C.","steps":[{"name":"Deposition","flowchartId":"s2-deposition","head":true,"next":"s2-anneal","type":"deposition","status":"finished","duration":{"value":90,"units":"min"}},{"name":"In-situ anneal","flowchartId":"s2-anneal","type":"anneal","status":"finished","duration":{"value":30,"units":"min"},"setpoints":{"temperature":{"value":850,"units":"degC"},"sourceId":"nitrogen"},"logs":[{"xAxis":{"label":"time","units":"min"},"yAxis":{"label":"temperature","units":"degC"},"xDataArray":[0,15,30],"yDataSeries":[[742,747,747],[850,850,850]]}]}]}],"tags":["alphafilm","nlr"],"metadata":{"sourceFormat":"lmc-1.0"}},"path":"process"},{"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":"formation_energy_contributions","values":[{"formula":"SiC","n_atoms":4,"is_elemental":false,"total_energy":-520.003969643439,"total_energy_per_atom":-130.00099241085974,"precision_value":8192,"precision_metric":"KPPRA"},{"formula":"Si","n_atoms":2,"is_elemental":true,"total_energy":-261.003969643439,"total_energy_per_atom":-130.5019848217195,"precision_value":8192,"precision_metric":"KPPRA"},{"formula":"C","n_atoms":2,"is_elemental":true,"total_energy":-321.003969643439,"total_energy_per_atom":-160.5019848217195,"precision_value":8000,"precision_metric":"KPPRA"}]},"path":"properties_directory/non-scalar/formation_energy_contributions"},{"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":"hysteresis_loop","loopType":"phase_bias","legend":["on_field","off_field"],"xAxis":{"label":"bias","units":"V"},"yAxis":{"label":"phase","units":"degree"},"xDataArray":[-9,-4.5,0,4.5,9],"yDataSeries":[[178.2,175.4,20.1,4.3,3.1],[176.5,170.2,90.4,6.1,4.2]]},"path":"properties_directory/non-scalar/hysteresis_loop"},{"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":{"yDataSeries":[[0,0.1,0.3,0.5,0.7,0.9,1,0.9,0.7,0.5,0.3,0.1,0]],"yAxis":{"label":"amplitude"},"xDataArray":[-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6],"xAxis":{"label":"coordinate"},"name":"wavefunction_amplitude"},"path":"properties_directory/non-scalar/wavefunction_amplitude"},{"data":{"name":"defect_formation_energy","units":"eV","value":3.5},"path":"properties_directory/scalar/defect_formation_energy"},{"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":"film_thickness","value":140,"units":"nm","layerIndex":1},"path":"properties_directory/scalar/film_thickness"},{"data":{"name":"formation_energy","units":"eV","value":-123.43573079},"path":"properties_directory/scalar/formation_energy"},{"data":{"name":"interfacial_energy","units":"eV/A^2","value":0.02},"path":"properties_directory/scalar/interfacial_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":"surface_roughness","statistic":"root_mean_square","value":1.42,"units":"nm"},"path":"properties_directory/scalar/surface_roughness"},{"data":{"name":"thermal_correction_to_energy","units":"kcal/mol","value":15.033},"path":"properties_directory/scalar/thermal_correction_to_energy"},{"data":{"name":"thermal_correction_to_enthalpy","units":"kcal/mol","value":15.626},"path":"properties_directory/scalar/thermal_correction_to_enthalpy"},{"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":{"index":1,"role":"film","name":"AlScN gradient film","formula":"AlScN","thickness":{"value":140,"units":"nm"},"crystallinity":"textured","orientation":"(0001)"},"path":"sample/layer"},{"data":{"type":"composition_spread","grid":{"rows":4,"columns":11,"pitch":{"value":4,"units":"mm"}},"gradients":[{"quantity":"composition","element":"Sc","axis":"x","minimum":0.1,"maximum":0.43,"units":"fraction"}],"positions":[{"index":1,"row":1,"column":1,"coordinate":[5.4,6.65],"units":"mm","coordinateSystem":"library_grid"}]},"path":"sample/library"},{"data":{"metadata":{"sampleDate":"2015-12-18","ownerName":"Kevin Talley","boxNumber":11}},"path":"sample/metadata"},{"data":{"index":17,"label":"R12","row":2,"column":6,"coordinate":[25.4,19.15],"units":"mm","coordinateSystem":"library_grid"},"path":"sample/position"},{"data":{"form":"thin_film","formula":"Al0.7Sc0.3N","composition":[{"name":"elemental_ratio","value":0.35,"element":"Al"},{"name":"elemental_ratio","value":0.15,"element":"Sc"},{"name":"elemental_ratio","value":0.5,"element":"N"}],"_parent":{"_id":"sAlScN6705","cls":"Sample","slug":"alscn-combinatorial-library-6705"},"position":{"index":17,"coordinate":[25.4,19.15],"units":"mm","coordinateSystem":"library_grid"},"identifiers":[{"scheme":"htem","value":"262118"}]},"path":"sample/sample_properties"},{"data":{"_id":"sAlScN6705","name":"AlScN combinatorial library 6705","isDefault":false,"form":"library","formula":"AlScN","identifiers":[{"scheme":"htem","value":"6705"},{"scheme":"internal","value":"NREL library 53"}],"layers":[{"index":0,"role":"substrate","name":"glass","formula":"SiO2"},{"index":1,"role":"film","formula":"AlScN","crystallinity":"textured"}],"library":{"type":"composition_spread","grid":{"rows":4,"columns":11,"pitch":{"value":4,"units":"mm"}},"gradients":[{"quantity":"composition","element":"Sc","axis":"x","minimum":0.1,"maximum":0.43,"units":"fraction"}],"positions":[{"index":1,"row":1,"column":1,"coordinate":[5.4,6.65],"units":"mm","coordinateSystem":"library_grid"},{"index":17,"row":2,"column":6,"coordinate":[25.4,19.15],"units":"mm","coordinateSystem":"library_grid"}]},"external":{"id":"6705","source":"HTEM","origin":true,"url":"https://htem.nlr.gov/finder/sample-libraries/88044180-8476-4811-92fa-5682fe1819c3"},"metadata":{"sampleDate":"2015-12-18","ownerName":"Kevin Talley"}},"path":"sample"},{"data":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","build":"GNU","version":"6.3","hasAdvancedComputeOptions":true,"isUsingMaterial":true},"path":"software/application"},{"data":{"name":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","advancedComputeOptions":true,"isDefault":true,"monitors":[{"name":"standard_output"}],"postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"path":"software/executable"},{"data":{"name":"pw_scf","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","input":[{"name":"in.scf","templateId":"dJ7HYz5pQ4AuN5qc9"}],"postProcessors":[],"preProcessors":[],"monitors":[],"results":[]},"path":"software/flavor"},{"data":{"name":"kpoints_grid","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}]},"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":[{"template":{"name":"kpoints_grid","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}]},"rendered":"K_POINTS automatic\n2 2 2 0 0 0","isManuallyChanged":false}],"name":"modeling","status":"idle","type":"execution","preProcessors":[],"postProcessors":[],"monitors":[],"results":[],"context":[],"executable":{"name":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","advancedComputeOptions":true,"isDefault":true,"monitors":[{"name":"standard_output"}],"postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"name":"pw_scf","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","input":[{"name":"in.scf","templateId":"dJ7HYz5pQ4AuN5qc9"}],"postProcessors":[],"preProcessors":[],"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":[{"template":{"name":"kpoints_grid","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}]},"rendered":"K_POINTS automatic\n2 2 2 0 0 0","isManuallyChanged":false}],"name":"scripting","status":"idle","type":"execution","preProcessors":[],"postProcessors":[],"monitors":[],"results":[],"executable":{"name":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","advancedComputeOptions":true,"isDefault":true,"monitors":[{"name":"standard_output"}],"postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"name":"pw_scf","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","input":[{"name":"in.scf","templateId":"dJ7HYz5pQ4AuN5qc9"}],"postProcessors":[],"preProcessors":[],"monitors":[],"results":[]},"context":[]},"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":{"_id":"sAlScN6705p17","cls":"Sample","slug":"alscn-library-6705-position-17"},"path":"system/_sample"},{"data":{"status":"finished","startTime":"2026-03-13T18:05:58Z","endTime":"2026-03-13T18:13:24Z","operators":[{"name":"Boris Slautin","affiliation":"University of Tennessee, Knoxville"}]},"path":"system/activity"},{"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":{"tier1":"experimental","tier2":"characterization","tier3":"microscopy","type":"scanning_probe_microscopy","subtype":"piezoresponse_force_microscopy"},"path":"techniques_category/experimental/characterization"},{"data":{"tier1":"experimental","tier2":"synthesis","tier3":"vapor_deposition","type":"chemical_vapor_deposition","subtype":"atomic_layer_deposition"},"path":"techniques_category/experimental/synthesis"},{"data":{"tier1":"experimental","tier2":"characterization"},"path":"techniques_category/experimental"},{"data":{"_id":"LCthJ6E2QabYCZqf4","application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","build":"GNU","version":"6.3","hasAdvancedComputeOptions":true,"isUsingMaterial":true},"model":{"method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"},"subtype":"gga","type":"dft","functional":"pbe"},"name":"Band Structure","properties":["band_structure"],"units":[{"application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","build":"GNU","version":"6.3","hasAdvancedComputeOptions":true,"isUsingMaterial":true},"compute":null,"executable":{"name":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","advancedComputeOptions":true,"isDefault":true,"monitors":[{"name":"standard_output"}],"postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"name":"pw_scf","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","input":[{"name":"in.scf","templateId":"dJ7HYz5pQ4AuN5qc9"}],"postProcessors":[],"preProcessors":[],"monitors":[],"results":[]},"flowchartId":"execution","head":true,"input":[{"template":{"name":"kpoints_grid","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}]},"rendered":"K_POINTS automatic\n2 2 2 0 0 0","isManuallyChanged":false}],"monitors":[{"name":"scf_accuracy"},{"name":"standard_output"}],"name":"execution","next":"pw-bands","postProcessors":[],"preProcessors":[],"results":[{"name":"harris_foulkes_estimate"}],"status":"idle","type":"execution","context":[]}]},"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","build":"GNU","version":"6.3","hasAdvancedComputeOptions":true,"isUsingMaterial":true},"compute":null,"executable":{"name":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","advancedComputeOptions":true,"isDefault":true,"monitors":[{"name":"standard_output"}],"postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"name":"pw_scf","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","input":[{"name":"in.scf","templateId":"dJ7HYz5pQ4AuN5qc9"}],"postProcessors":[],"preProcessors":[],"monitors":[],"results":[]},"flowchartId":"execution","head":true,"input":[{"template":{"name":"kpoints_grid","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}]},"rendered":"K_POINTS automatic\n2 2 2 0 0 0","isManuallyChanged":false}],"monitors":[{"name":"scf_accuracy"},{"name":"standard_output"}],"name":"execution","next":"pw-bands","postProcessors":[],"preProcessors":[],"results":[{"name":"harris_foulkes_estimate"}],"status":"idle","type":"execution","context":[]},"path":"workflow/unit/execution"},{"data":{"name":"N_K_y","scope":"global"},"path":"workflow/unit/input/_inputItemScope"},{"data":{"type":"api","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":{"collection":"features","draft":false,"type":"db_collection"},"path":"workflow/unit/io/db_collection"},{"data":{"ids":["KuAsBRwofzGfHPWiT"],"type":"db_ids"},"path":"workflow/unit/io/db_ids"},{"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","type":"object_storage"},"path":"workflow/unit/io/object_storage"},{"data":{"flowchartId":"io","head":true,"input":[{"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","type":"object_storage"},{"type":"api","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"}],"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":"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":{"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","build":"GNU","version":"6.3","hasAdvancedComputeOptions":true,"isUsingMaterial":true},"model":{"method":{"data":{"pseudo":[]},"subtype":"us","type":"pseudopotential"},"subtype":"gga","type":"dft","functional":"pbe"},"name":"Band Structure","properties":["band_structure"],"units":[{"application":{"name":"espresso","shortName":"qe","summary":"Quantum Espresso","build":"GNU","version":"6.3","hasAdvancedComputeOptions":true,"isUsingMaterial":true},"compute":null,"executable":{"name":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","advancedComputeOptions":true,"isDefault":true,"monitors":[{"name":"standard_output"}],"postProcessors":[],"preProcessors":[],"results":[{"name":"atomic_forces"}]},"flavor":{"name":"pw_scf","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","input":[{"name":"in.scf","templateId":"dJ7HYz5pQ4AuN5qc9"}],"postProcessors":[],"preProcessors":[],"monitors":[],"results":[]},"flowchartId":"execution","head":true,"input":[{"template":{"name":"kpoints_grid","executableName":"pw.x","applicationName":"pw.x","applicationVersion":"7.0","content":"K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0","contextProviders":[{"name":"KGridManagerMixin"}]},"rendered":"K_POINTS automatic\n2 2 2 0 0 0","isManuallyChanged":false}],"monitors":[{"name":"scf_accuracy"},{"name":"standard_output"}],"name":"execution","next":"pw-bands","postProcessors":[],"preProcessors":[],"results":[{"name":"harris_foulkes_estimate"}],"status":"idle","type":"execution","context":[]}]}],"workflows":[],"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/properties.py b/src/py/mat3ra/esse/data/properties.py index dbc091191..37048469f 100644 --- a/src/py/mat3ra/esse/data/properties.py +++ b/src/py/mat3ra/esse/data/properties.py @@ -1,3 +1,3 @@ import json -PROPERTIES_MANIFEST = json.loads(r'''{"convergence_ionic":{"defaults":{"units":"eV"},"schemaId":"properties-directory/workflow/convergence/ionic","isMonitor":true},"convergence_electronic":{"defaults":{"units":"eV"},"schemaId":"properties-directory/workflow/convergence/electronic","isMonitor":true},"pressure":{"defaults":{"units":"kbar"},"schemaId":"properties-directory/scalar/pressure","isResult":true},"total_energy":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/total-energy","isResult":true},"surface_energy":{"defaults":{"units":"eV/A^2"},"schemaId":"properties-directory/scalar/surface-energy","isResult":true},"interfacial_energy":{"defaults":{"units":"eV/A^2"},"schemaId":"properties-directory/scalar/interfacial-energy","isResult":true},"fermi_energy":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/fermi-energy","isResult":true},"homo_energy":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/homo-energy","isResult":true},"lumo_energy":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/lumo-energy","isResult":true},"formation_energy":{"defaults":{"units":"eV/atom"},"schemaId":"properties-directory/scalar/formation-energy","isResult":true},"defect_formation_energy":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/defect-formation-energy","isResult":true},"total_force":{"defaults":{"units":"eV/angstrom"},"schemaId":"properties-directory/scalar/total-force","isResult":true},"zero_point_energy":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/zero-point-energy","isResult":true},"thermal_correction_to_energy":{"defaults":{"units":"kcal/mol"},"schemaId":"properties-directory/scalar/thermal-correction-to-energy","isResult":true},"thermal_correction_to_enthalpy":{"defaults":{"units":"kcal/mol"},"schemaId":"properties-directory/scalar/thermal-correction-to-enthalpy","isResult":true},"reaction_energy_barrier":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/reaction-energy-barrier","isResult":true},"electron_affinity":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/electron-affinity","isResult":true},"ionization_potential":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/ionization-potential","isResult":true},"valence_band_offset":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/valence-band-offset"},"phonon_dos":{"defaults":{"xAxis":{"label":"frequency","units":"cm-1"},"yAxis":{"label":"Phonon DOS","units":"states/cm-1"}},"schemaId":"properties-directory/non-scalar/phonon-dos","isResult":true},"phonon_dispersions":{"defaults":{"xAxis":{"label":"qpoints","units":"crystal"},"yAxis":{"label":"frequency","units":"cm-1"}},"schemaId":"properties-directory/non-scalar/phonon-dispersions","isResult":true},"total_energy_contributions":{"defaults":{"units":"eV"},"schemaId":"properties-directory/non-scalar/total-energy-contributions","isResult":true},"formation_energy_contributions":{"defaults":null,"schemaId":"properties-directory/non-scalar/formation-energy-contributions","isResult":true},"band_gaps":{"types":["direct","indirect"],"defaults":{"units":"eV"},"schemaId":"properties-directory/non-scalar/band-gaps","isResult":true},"stress_tensor":{"defaults":{"units":"kbar"},"schemaId":"properties-directory/non-scalar/stress-tensor","isResult":true},"band_structure":{"defaults":{"xAxis":{"label":"kpoints","units":"crystal"},"yAxis":{"label":"energy","units":"eV"}},"schemaId":"properties-directory/non-scalar/band-structure","isResult":true},"density_of_states":{"defaults":{"xAxis":{"label":"energy","units":"eV"},"yAxis":{"label":"density of states","units":"states/unitcell"}},"schemaId":"properties-directory/non-scalar/density-of-states","isResult":true},"reaction_energy_profile":{"defaults":{"xAxis":{"label":"reaction coordinate"},"yAxis":{"label":"energy","units":"eV"}},"schemaId":"properties-directory/non-scalar/reaction-energy-profile","isResult":true},"potential_profile":{"defaults":{"xAxis":{"label":"z coordinate"},"yAxis":{"label":"energy","units":"eV"}},"schemaId":"properties-directory/non-scalar/potential-profile","isResult":true},"wavefunction_amplitude":{"defaults":{"xAxis":{"label":"coordinate","units":"angstrom"},"yAxis":{"label":"amplitude"}},"schemaId":"properties-directory/non-scalar/wavefunction-amplitude","isResult":true},"charge_density_profile":{"defaults":{"xAxis":{"label":"z coordinate"},"yAxis":{"label":"charge density","units":"e/A"}},"schemaId":"properties-directory/non-scalar/charge-density-profile","isResult":true},"vibrational_spectrum":{"defaults":{"xAxis":{"label":"wavenumber","units":"cm-1"},"yAxis":{"label":"Absorption coefficient","units":"km/mol"}},"schemaId":"properties-directory/non-scalar/vibrational-spectrum","isResult":true},"file_content":{"schemaId":"properties-directory/non-scalar/file-content","isResult":true},"average_potential_profile":{"defaults":{"xAxis":{"label":"z coordinate","units":"angstrom"},"yAxis":{"label":"energy","units":"eV"}},"schemaId":"properties-directory/non-scalar/average-potential-profile","isResult":true},"dielectric_tensor":{"schemaId":"properties-directory/non-scalar/dielectric-tensor","isResult":true},"basis":{"defaults":{"units":"angstrom"},"schemaId":"properties-directory/structural/basis"},"lattice":{"defaults":{"units":"angstrom"},"schemaId":"properties-directory/structural/lattice"},"atomic_forces":{"defaults":{"units":"eV/angstrom"},"schemaId":"properties-directory/structural/atomic-forces","isResult":true},"atomic_constraints":{"schemaId":"properties-directory/structural/basis/atomic-constraints"},"p-norm":{"schemaId":"properties-directory/structural/p-norm"},"volume":{"defaults":{"units":"angstrom^3"},"schemaId":"properties-directory/structural/volume"},"symmetry":{"defaults":{"units":"angstrom"},"schemaId":"properties-directory/structural/symmetry"},"elemental_ratio":{"schemaId":"properties-directory/structural/elemental-ratio"},"density":{"defaults":{"units":"g/cm^3"},"schemaId":"properties-directory/structural/density"},"magnetic_moments":{"defaults":{"units":"uB"},"schemaId":"properties-directory/structural/magnetic-moments","isResult":true},"bonds":{"defaults":{"units":"angstrom"},"schemaId":"properties-directory/structural/basis/bonds"},"inchi":{"schemaId":"properties-directory/structural/inchi"},"inchi_key":{"schemaId":"properties-directory/structural/inchi-key"},"material":{"schemaId":"material"},"hubbard_u":{"defaults":{"units":"eV"},"schemaId":"properties-directory/non-scalar/hubbard-u","isResult":true},"hubbard_v":{"defaults":{"units":"eV"},"schemaId":"properties-directory/non-scalar/hubbard-v","isResult":true},"hubbard_v_nn":{"defaults":{"units":"eV"},"schemaId":"properties-directory/non-scalar/hubbard-v-nn","isResult":true}}''') +PROPERTIES_MANIFEST = json.loads(r'''{"convergence_ionic":{"defaults":{"units":"eV"},"schemaId":"properties-directory/workflow/convergence/ionic","isMonitor":true},"convergence_electronic":{"defaults":{"units":"eV"},"schemaId":"properties-directory/workflow/convergence/electronic","isMonitor":true},"pressure":{"defaults":{"units":"kbar"},"schemaId":"properties-directory/scalar/pressure","isResult":true},"total_energy":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/total-energy","isResult":true},"surface_energy":{"defaults":{"units":"eV/A^2"},"schemaId":"properties-directory/scalar/surface-energy","isResult":true},"interfacial_energy":{"defaults":{"units":"eV/A^2"},"schemaId":"properties-directory/scalar/interfacial-energy","isResult":true},"fermi_energy":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/fermi-energy","isResult":true},"homo_energy":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/homo-energy","isResult":true},"lumo_energy":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/lumo-energy","isResult":true},"formation_energy":{"defaults":{"units":"eV/atom"},"schemaId":"properties-directory/scalar/formation-energy","isResult":true},"defect_formation_energy":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/defect-formation-energy","isResult":true},"total_force":{"defaults":{"units":"eV/angstrom"},"schemaId":"properties-directory/scalar/total-force","isResult":true},"zero_point_energy":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/zero-point-energy","isResult":true},"thermal_correction_to_energy":{"defaults":{"units":"kcal/mol"},"schemaId":"properties-directory/scalar/thermal-correction-to-energy","isResult":true},"thermal_correction_to_enthalpy":{"defaults":{"units":"kcal/mol"},"schemaId":"properties-directory/scalar/thermal-correction-to-enthalpy","isResult":true},"reaction_energy_barrier":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/reaction-energy-barrier","isResult":true},"electron_affinity":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/electron-affinity","isResult":true},"ionization_potential":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/ionization-potential","isResult":true},"valence_band_offset":{"defaults":{"units":"eV"},"schemaId":"properties-directory/scalar/valence-band-offset"},"phonon_dos":{"defaults":{"xAxis":{"label":"frequency","units":"cm-1"},"yAxis":{"label":"Phonon DOS","units":"states/cm-1"}},"schemaId":"properties-directory/non-scalar/phonon-dos","isResult":true},"phonon_dispersions":{"defaults":{"xAxis":{"label":"qpoints","units":"crystal"},"yAxis":{"label":"frequency","units":"cm-1"}},"schemaId":"properties-directory/non-scalar/phonon-dispersions","isResult":true},"total_energy_contributions":{"defaults":{"units":"eV"},"schemaId":"properties-directory/non-scalar/total-energy-contributions","isResult":true},"formation_energy_contributions":{"defaults":null,"schemaId":"properties-directory/non-scalar/formation-energy-contributions","isResult":true},"band_gaps":{"types":["direct","indirect"],"defaults":{"units":"eV"},"schemaId":"properties-directory/non-scalar/band-gaps","isResult":true},"stress_tensor":{"defaults":{"units":"kbar"},"schemaId":"properties-directory/non-scalar/stress-tensor","isResult":true},"band_structure":{"defaults":{"xAxis":{"label":"kpoints","units":"crystal"},"yAxis":{"label":"energy","units":"eV"}},"schemaId":"properties-directory/non-scalar/band-structure","isResult":true},"density_of_states":{"defaults":{"xAxis":{"label":"energy","units":"eV"},"yAxis":{"label":"density of states","units":"states/unitcell"}},"schemaId":"properties-directory/non-scalar/density-of-states","isResult":true},"reaction_energy_profile":{"defaults":{"xAxis":{"label":"reaction coordinate"},"yAxis":{"label":"energy","units":"eV"}},"schemaId":"properties-directory/non-scalar/reaction-energy-profile","isResult":true},"potential_profile":{"defaults":{"xAxis":{"label":"z coordinate"},"yAxis":{"label":"energy","units":"eV"}},"schemaId":"properties-directory/non-scalar/potential-profile","isResult":true},"wavefunction_amplitude":{"defaults":{"xAxis":{"label":"coordinate","units":"angstrom"},"yAxis":{"label":"amplitude"}},"schemaId":"properties-directory/non-scalar/wavefunction-amplitude","isResult":true},"charge_density_profile":{"defaults":{"xAxis":{"label":"z coordinate"},"yAxis":{"label":"charge density","units":"e/A"}},"schemaId":"properties-directory/non-scalar/charge-density-profile","isResult":true},"vibrational_spectrum":{"defaults":{"xAxis":{"label":"wavenumber","units":"cm-1"},"yAxis":{"label":"Absorption coefficient","units":"km/mol"}},"schemaId":"properties-directory/non-scalar/vibrational-spectrum","isResult":true},"file_content":{"schemaId":"properties-directory/non-scalar/file-content","isResult":true},"average_potential_profile":{"defaults":{"xAxis":{"label":"z coordinate","units":"angstrom"},"yAxis":{"label":"energy","units":"eV"}},"schemaId":"properties-directory/non-scalar/average-potential-profile","isResult":true},"dielectric_tensor":{"schemaId":"properties-directory/non-scalar/dielectric-tensor","isResult":true},"basis":{"defaults":{"units":"angstrom"},"schemaId":"properties-directory/structural/basis"},"lattice":{"defaults":{"units":"angstrom"},"schemaId":"properties-directory/structural/lattice"},"atomic_forces":{"defaults":{"units":"eV/angstrom"},"schemaId":"properties-directory/structural/atomic-forces","isResult":true},"atomic_constraints":{"schemaId":"properties-directory/structural/basis/atomic-constraints"},"p-norm":{"schemaId":"properties-directory/structural/p-norm"},"volume":{"defaults":{"units":"angstrom^3"},"schemaId":"properties-directory/structural/volume"},"symmetry":{"defaults":{"units":"angstrom"},"schemaId":"properties-directory/structural/symmetry"},"elemental_ratio":{"schemaId":"properties-directory/structural/elemental-ratio"},"density":{"defaults":{"units":"g/cm^3"},"schemaId":"properties-directory/structural/density"},"magnetic_moments":{"defaults":{"units":"uB"},"schemaId":"properties-directory/structural/magnetic-moments","isResult":true},"bonds":{"defaults":{"units":"angstrom"},"schemaId":"properties-directory/structural/basis/bonds"},"inchi":{"schemaId":"properties-directory/structural/inchi"},"inchi_key":{"schemaId":"properties-directory/structural/inchi-key"},"material":{"schemaId":"material"},"hubbard_u":{"defaults":{"units":"eV"},"schemaId":"properties-directory/non-scalar/hubbard-u","isResult":true},"hubbard_v":{"defaults":{"units":"eV"},"schemaId":"properties-directory/non-scalar/hubbard-v","isResult":true},"hubbard_v_nn":{"defaults":{"units":"eV"},"schemaId":"properties-directory/non-scalar/hubbard-v-nn","isResult":true},"film_thickness":{"defaults":{"units":"nm"},"schemaId":"properties-directory/scalar/film-thickness"},"surface_roughness":{"defaults":{"units":"nm"},"schemaId":"properties-directory/scalar/surface-roughness"},"hysteresis_loop":{"defaults":{"xAxis":{"label":"bias","units":"V"},"yAxis":{"label":"phase","units":"degree"}},"schemaId":"properties-directory/non-scalar/hysteresis-loop"}}''') RESULTS = json.loads(r'''["pressure","total_energy","surface_energy","interfacial_energy","fermi_energy","homo_energy","lumo_energy","formation_energy","defect_formation_energy","total_force","zero_point_energy","thermal_correction_to_energy","thermal_correction_to_enthalpy","reaction_energy_barrier","electron_affinity","ionization_potential","phonon_dos","phonon_dispersions","total_energy_contributions","formation_energy_contributions","band_gaps","stress_tensor","band_structure","density_of_states","reaction_energy_profile","potential_profile","wavefunction_amplitude","charge_density_profile","vibrational_spectrum","file_content","average_potential_profile","dielectric_tensor","atomic_forces","magnetic_moments","hubbard_u","hubbard_v","hubbard_v_nn"]''') \ 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 e54d31e2c..e322e8fdc 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","MaterialsVirtualLab"]}},"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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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}}},{"$schema":"http://json-schema.org/draft-07/schema#","$id":"compute/nodes/base","description":"Cloud Node - base schema for all backend node types","type":"object","title":"cloud node schema","properties":{"hostname":{"type":"string","title":"Hostname","description":"Fully qualified domain name of the node"},"alias":{"type":"string","title":"Alias","description":"Human-readable display name for the node"},"timestamp":{"type":"number","description":"Unix timestamp of last heartbeat from the node"},"type":{"type":"string","enum":["cluster","gold","login"],"description":"Type of cloud node: cluster (compute), gold (billing), or login (SSH access)"},"isDefault":{"type":"boolean","description":"Whether this is the default node for its type"},"diskSpace":{"type":"array","description":"Disk space information for mounted filesystems","items":{"type":"object","properties":{"name":{"type":"string"},"size":{"type":"number"},"avail":{"type":"number"}}}}},"required":["hostname"]},{"$schema":"http://json-schema.org/draft-07/schema#","$id":"compute/nodes/cluster","description":"Cluster Node - extends cloud node with compute-specific properties","type":"object","title":"cluster node schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","description":"Cloud Node - base schema for all backend node types","type":"object","title":"cloud node schema","properties":{"hostname":{"type":"string","title":"Hostname","description":"Fully qualified domain name of the node"},"alias":{"type":"string","title":"Alias","description":"Human-readable display name for the node"},"timestamp":{"type":"number","description":"Unix timestamp of last heartbeat from the node"},"type":{"type":"string","enum":["cluster","gold","login"],"description":"Type of cloud node: cluster (compute), gold (billing), or login (SSH access)"},"isDefault":{"type":"boolean","description":"Whether this is the default node for its type"},"diskSpace":{"type":"array","description":"Disk space information for mounted filesystems","items":{"type":"object","properties":{"name":{"type":"string"},"size":{"type":"number"},"avail":{"type":"number"}}}}},"required":["hostname"]}],"properties":{"nodes":{"type":"array","description":"List of compute nodes in the cluster","items":{"type":"object"}},"queues":{"type":"array","title":"Queues","description":"Available job submission queues on this cluster","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Queue schema","type":"object","properties":{"name":{"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","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"maxPPN":{"description":"Maximum processors per node.","type":"integer"},"maxNodes":{"description":"Maximum number of nodes allowed for this queue.","type":"integer"},"availableNodes":{"description":"Number of nodes currently available.","type":"integer"},"currentNodes":{"description":"Number of nodes currently in use.","type":"integer"},"capacity":{"description":"Capacity status of the queue.","type":"string","enum":["FULL","DEGRADED","UNAVAILABLE"]},"displayName":{"type":"string","title":"Display name"}},"required":["name","maxPPN","maxNodes","availableNodes","currentNodes"]}}}},{"$id":"compute/queue","$schema":"http://json-schema.org/draft-07/schema#","title":"Queue schema","type":"object","properties":{"name":{"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","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"maxPPN":{"description":"Maximum processors per node.","type":"integer"},"maxNodes":{"description":"Maximum number of nodes allowed for this queue.","type":"integer"},"availableNodes":{"description":"Number of nodes currently available.","type":"integer"},"currentNodes":{"description":"Number of nodes currently in use.","type":"integer"},"capacity":{"description":"Capacity status of the queue.","type":"string","enum":["FULL","DEGRADED","UNAVAILABLE"]},"displayName":{"type":"string","title":"Display name"}},"required":["name","maxPPN","maxNodes","availableNodes","currentNodes"]},{"$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 Data 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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]},{"$id":"context-providers-directory/collinear-magnetization-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},{"$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 Context 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 Context 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 Context 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 Context 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 Context 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 Context 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 Context 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 Data 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 Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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 Context 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 Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},{"$id":"context-providers-directory/points-path-data-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},{"$id":"context-providers-directory/points-path-data-provider-rendering","$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Rendering Schema","description":"Path in reciprocal space including derived Cartesian/fractional coordinates for template rendering. Not persisted on the context item.","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"},"coordinates":{"type":"array","items":{"type":"number","minItems":3,"maxItems":3}}},"required":["point","steps","coordinates"]}},{"$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":["kcal/mol","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":["kcal/mol","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/formation-energy-contribution","$schema":"http://json-schema.org/draft-07/schema#","title":"Formation energy contribution schema","description":"Total energy contribution of one material used in formation energy calculation.","type":"object","properties":{"formula":{"description":"formula or label for the material used in the formation energy calculation","type":"string"},"n_atoms":{"description":"number of atoms in the material","type":"integer"},"is_elemental":{"description":"whether the material is an elemental reference","type":"boolean"},"total_energy":{"description":"total energy of the material","type":"number"},"total_energy_per_atom":{"description":"total energy per atom of the material","type":"number"},"precision_value":{"description":"precision value for the total energy property","type":"number","default":-1},"precision_metric":{"description":"metric used to report total energy precision","type":"string","enum":["unknown","KPPRA","spacing"],"default":"unknown"}},"required":["formula","n_atoms","is_elemental","total_energy","total_energy_per_atom","precision_metric","precision_value"]},{"$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":["kcal/mol","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":["kcal/mol","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":"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"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","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"}},"additionalProperties":true,"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"additionalProperties":true,"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"additionalProperties":true,"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"additionalProperties":true,"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"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity 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":"Compute Property Schema","type":"object","properties":{"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Compute schema","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","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":["compute"]}],"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"},"_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","_project"]},{"$id":"job/compute","$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Compute schema","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","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/compute-property","$schema":"http://json-schema.org/draft-07/schema#","title":"Compute Property Schema","type":"object","properties":{"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Compute schema","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","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":["compute"]},{"$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"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Compute Property Schema","type":"object","properties":{"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Compute schema","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","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":["compute"]}],"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"},"_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","_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":"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":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}},{"$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`","type":"string"}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"isMultiMaterial":{"description":"Defines whether the workflow is for a multi-material simulation","type":"boolean"},"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 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":"Subworkflow Mixin Schema","type":"object","properties":{"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":"Compute schema","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","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"]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"required":["subtype","source","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"const":"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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":{"const":"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":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Any model schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML model schema","type":"object","properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unknown model schema","type":"object","properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]}],"discriminator":{"propertyName":"subtype"}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"isMultiMaterial":{"type":"boolean"},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","properties","application","units"]}]}},"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"const":"subworkflow"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"application":{"description":"information about the main application used for workflow categorization by application in standata.","type":"object","properties":{"name":{"description":"name of the application","type":"string"}}},"tags":{"description":"tags for the workflow","type":"array","items":{"type":"string"}}},"required":["properties","units","subworkflows"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Description schema","type":"object","properties":{"description":{"description":"entity description","type":"string"},"descriptionObject":{"type":"object"}}},{"$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":{"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Compute schema","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","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":["workflows"]}},"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/material-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material/metadata/boundary-conditions","$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$id":"material/metadata/bulk-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true},{"$id":"material/metadata/slab-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$id":"material/metadata","$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]},{"$id":"material-enhanced","$schema":"http://json-schema.org/draft-07/schema#","title":"material enhanced schema","type":"object","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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]},{"properties":{"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis constrained schema","type":"object","allOf":[{"$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"]},{"properties":{"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}]}}}}},"required":["constraints"]}]}}}]},{"$id":"material-enhanced-hashed","$schema":"http://json-schema.org/draft-07/schema#","title":"material enhanced hashed schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material enhanced schema","type":"object","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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]},{"properties":{"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis constrained schema","type":"object","allOf":[{"$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"]},{"properties":{"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}]}}}}},"required":["constraints"]}]}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material hashed schema","type":"object","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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hashed schema","type":"object","properties":{"hash":{"description":"Hash string which is calculated based on the meaningful fields of the entity. Used to identify equal entities.","type":"string"}},"required":["hash"]},{"properties":{"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"}}}]}]},{"$id":"material-hashed","$schema":"http://json-schema.org/draft-07/schema#","title":"material hashed schema","type":"object","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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hashed schema","type":"object","properties":{"hash":{"description":"Hash string which is calculated based on the meaningful fields of the entity. Used to identify equal entities.","type":"string"}},"required":["hash"]},{"properties":{"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"}}}]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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/three-dimensional/solid-solution/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Solid Solution Configuration Schema","description":"Configuration for a solid solution: a crystal with partial element substitution, 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":{"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"source_element":{"description":"Element to partially replace (e.g. Hf).","type":"string"},"target_element":{"description":"Replacement element (e.g. Zr).","type":"string"},"target_concentration":{"description":"Requested fraction of source element sites to replace (0.0-1.0).","type":"number","minimum":0,"maximum":1},"actual_concentration":{"description":"Achievable fraction after supercell discretization and site rounding (0.0-1.0).","type":"number","minimum":0,"maximum":1},"merge_components":{"type":"array","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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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":"REPLACE"}},"required":["crystal","source_element","target_element","target_concentration","actual_concentration","merge_components","merge_method"]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"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/any","$schema":"http://json-schema.org/draft-07/schema#","title":"Any model schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML model schema","type":"object","properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unknown model schema","type":"object","properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]}],"discriminator":{"propertyName":"subtype"}},{"$id":"models-directory/legacy/dft","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT model schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]}],"discriminator":{"propertyName":"subtype"}},{"$id":"models-directory/legacy/dft-gga","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$id":"models-directory/legacy/dft-hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$id":"models-directory/legacy/dft-lda","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$id":"models-directory/legacy/ml","$schema":"http://json-schema.org/draft-07/schema#","title":"ML model schema","type":"object","properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$id":"models-directory/legacy/unknown","$schema":"http://json-schema.org/draft-07/schema#","title":"Unknown model schema","type":"object","properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["name","units"]},{"$id":"properties-directory/enum-options","definitions":{"ExternalSource":{"type":"string","enum":["ICSD","MaterialsProject","MaterialsProjectLegacy"]},"PropertyType":{"type":"string","enum":["scalar","non-scalar","tensor","object","array-of-objects"]},"ScalarPropertyEnum":{"type":"string","enum":["defect_formation_energy","fermi_energy","formation_energy","homo_energy","ionization_potential","lumo_energy","pressure","reaction_energy_barrier","surface_energy","interfacial_energy","thermal_correction_to_energy","thermal_correction_to_enthalpy","total_energy","total_force","valence_band_offset","zero_point_energy"]},"NonScalarPropertyEnum":{"type":"string","enum":["average_potential_profile","band_gaps","band_structure","charge_density_profile","convergence_electronic","convergence_ionic","density_of_states","dielectric_tensor","file_content","final_structure","hubbard_u","hubbard_v","hubbard_v_nn","is_relaxed","jupyter_notebook_endpoint","phonon_dispersions","phonon_dos","potential_profile","reaction_energy_profile","wavefunction_amplitude","workflow:pyml_predict"]},"TensorPropertyEnum":{"type":"string","enum":["atomic_forces","magnetic_moments","stress_tensor"]},"ObjectPropertyEnum":{"type":"string","enum":["total_energy_contributions"]},"ArrayOfObjectsPropertyEnum":{"type":"string","enum":["formation_energy_contributions"]},"ProtoPropertyEnum":{"type":"string","enum":["atomic_constraints","boundary_conditions"]},"MetaPropertyEnum":{"type":"string","enum":["pseudopotential"]}}},{"$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":["kcal/mol","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":["kcal/mol","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":["kcal/mol","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":["kcal/mol","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/formation-energy-contributions","$schema":"http://json-schema.org/draft-07/schema#","title":"Formation energy contributions property schema","description":"Elemental reference total energies used to calculate formation energy.","type":"object","properties":{"name":{"enum":["formation_energy_contributions"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Formation energy contribution schema","description":"Total energy contribution of one material used in formation energy calculation.","type":"object","properties":{"formula":{"description":"formula or label for the material used in the formation energy calculation","type":"string"},"n_atoms":{"description":"number of atoms in the material","type":"integer"},"is_elemental":{"description":"whether the material is an elemental reference","type":"boolean"},"total_energy":{"description":"total energy of the material","type":"number"},"total_energy_per_atom":{"description":"total energy per atom of the material","type":"number"},"precision_value":{"description":"precision value for the total energy property","type":"number","default":-1},"precision_metric":{"description":"metric used to report total energy precision","type":"string","enum":["unknown","KPPRA","spacing"],"default":"unknown"}},"required":["formula","n_atoms","is_elemental","total_energy","total_energy_per_atom","precision_metric","precision_value"]}}},"required":["name","values"]},{"$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":["kcal/mol","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":["kcal/mol","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":["kcal/mol","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/wavefunction-amplitude","$schema":"http://json-schema.org/draft-07/schema#","title":"Wavefunction amplitude 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":["coordinate"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["amplitude"]}}},"name":{"enum":["wavefunction_amplitude"]}},"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":"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":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}},{"$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`","type":"string"}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"isMultiMaterial":{"description":"Defines whether the workflow is for a multi-material simulation","type":"boolean"},"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 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":"Subworkflow Mixin Schema","type":"object","properties":{"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":"Compute schema","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","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"]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"required":["subtype","source","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"const":"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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":{"const":"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":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Any model schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML model schema","type":"object","properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unknown model schema","type":"object","properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]}],"discriminator":{"propertyName":"subtype"}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"isMultiMaterial":{"type":"boolean"},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","properties","application","units"]}]}},"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"const":"subworkflow"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"application":{"description":"information about the main application used for workflow categorization by application in standata.","type":"object","properties":{"name":{"description":"name of the application","type":"string"}}},"tags":{"description":"tags for the workflow","type":"array","items":{"type":"string"}}},"required":["properties","units","subworkflows"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Description schema","type":"object","properties":{"description":{"description":"entity description","type":"string"},"descriptionObject":{"type":"object"}}},{"$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":{"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Compute schema","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","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":["workflows"]}],"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/defect-formation-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Defect 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["defect_formation_energy"]}},"required":["name"]},{"$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":["kcal/mol","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":["kcal/mol","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":["kcal/mol","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","units"]},{"$id":"properties-directory/scalar/homo-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"HOMO 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["homo_energy"]}},"required":["name"]},{"$id":"properties-directory/scalar/interfacial-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Interfacial 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["interfacial_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":["kcal/mol","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/lumo-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"LUMO 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["lumo_energy"]}},"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":["kcal/mol","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":["kcal/mol","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/thermal-correction-to-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Thermal correction to 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["thermal_correction_to_energy"]}},"required":["name"]},{"$id":"properties-directory/scalar/thermal-correction-to-enthalpy","$schema":"http://json-schema.org/draft-07/schema#","title":"Thermal correction to enthalpy 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["thermal_correction_to_enthalpy"]}},"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":["kcal/mol","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":["kcal/mol","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":["kcal/mol","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/basis-constrained","$schema":"http://json-schema.org/draft-07/schema#","title":"basis constrained schema","type":"object","allOf":[{"$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"]},{"properties":{"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}]}}}}},"required":["constraints"]}]},{"$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":["kcal/mol","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":["kcal/mol","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":["kcal/mol","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":["kcal/mol","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":"Interfacial 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["interfacial_energy"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Defect 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["defect_formation_energy"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Thermal correction to 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["thermal_correction_to_energy"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Thermal correction to enthalpy 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["thermal_correction_to_enthalpy"]}},"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":["kcal/mol","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":["kcal/mol","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":"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":["kcal/mol","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","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"HOMO 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["homo_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":["kcal/mol","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":"LUMO 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["lumo_energy"]}},"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":["kcal/mol","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":["kcal/mol","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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Formation energy contributions property schema","description":"Elemental reference total energies used to calculate formation energy.","type":"object","properties":{"name":{"enum":["formation_energy_contributions"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Formation energy contribution schema","description":"Total energy contribution of one material used in formation energy calculation.","type":"object","properties":{"formula":{"description":"formula or label for the material used in the formation energy calculation","type":"string"},"n_atoms":{"description":"number of atoms in the material","type":"integer"},"is_elemental":{"description":"whether the material is an elemental reference","type":"boolean"},"total_energy":{"description":"total energy of the material","type":"number"},"total_energy_per_atom":{"description":"total energy per atom of the material","type":"number"},"precision_value":{"description":"precision value for the total energy property","type":"number","default":-1},"precision_metric":{"description":"metric used to report total energy precision","type":"string","enum":["unknown","KPPRA","spacing"],"default":"unknown"}},"required":["formula","n_atoms","is_elemental","total_energy","total_energy_per_atom","precision_metric","precision_value"]}}},"required":["name","values"]},{"$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":["kcal/mol","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":"Wavefunction amplitude 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":["coordinate"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["amplitude"]}}},"name":{"enum":["wavefunction_amplitude"]}},"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":["kcal/mol","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":["kcal/mol","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":["kcal/mol","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":"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":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}},{"$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`","type":"string"}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"isMultiMaterial":{"description":"Defines whether the workflow is for a multi-material simulation","type":"boolean"},"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 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":"Subworkflow Mixin Schema","type":"object","properties":{"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":"Compute schema","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","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"]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"required":["subtype","source","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"const":"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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":{"const":"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":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Any model schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML model schema","type":"object","properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unknown model schema","type":"object","properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]}],"discriminator":{"propertyName":"subtype"}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"isMultiMaterial":{"type":"boolean"},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","properties","application","units"]}]}},"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"const":"subworkflow"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"application":{"description":"information about the main application used for workflow categorization by application in standata.","type":"object","properties":{"name":{"description":"name of the application","type":"string"}}},"tags":{"description":"tags for the workflow","type":"array","items":{"type":"string"}}},"required":["properties","units","subworkflows"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Description schema","type":"object","properties":{"description":{"description":"entity description","type":"string"},"descriptionObject":{"type":"object"}}},{"$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":{"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Compute schema","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","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":["workflows"]}],"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/build-config","$schema":"http://json-schema.org/draft-07/schema#","title":"application versions with build config schema","type":"object","properties":{"bio":{"description":"The bio description used for the module files.","type":"string"},"moduleName":{"description":"Modulefile name specific to application version and build type.","type":"string"},"imageName":{"description":"Apptainer image name.","type":"string"},"imageTag":{"description":"Apptainer image tag.","type":"string"},"dependencies":{"description":"List of modulefile dependencies.","type":"array","items":{"type":"string"}},"environmentVariables":{"description":"Environment variables to be exported before running the application, containing the key and value pairs.","type":"object"},"prependVariables":{"description":"Variables to be prepended to the existing environment variable before running the application, containing the key and value pairs, e.g., PATH, LD_LIBRARY_PATH, etc.","type":"object"}}},{"$id":"software/application","$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},{"$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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]},{"$id":"software/application-with-build-config","$schema":"http://json-schema.org/draft-07/schema#","title":"application with build config schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}],"properties":{"buildConfig":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application versions with build config schema","type":"object","properties":{"bio":{"description":"The bio description used for the module files.","type":"string"},"moduleName":{"description":"Modulefile name specific to application version and build type.","type":"string"},"imageName":{"description":"Apptainer image name.","type":"string"},"imageTag":{"description":"Apptainer image tag.","type":"string"},"dependencies":{"description":"List of modulefile dependencies.","type":"array","items":{"type":"string"}},"environmentVariables":{"description":"Environment variables to be exported before running the application, containing the key and value pairs.","type":"object"},"prependVariables":{"description":"Variables to be prepended to the existing environment variable before running the application, containing the key and value pairs, e.g., PATH, LD_LIBRARY_PATH, etc.","type":"object"}}}}},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},{"$id":"software/executable-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},{"$id":"software/flavor-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]},{"$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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},{"$id":"software/template-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"template properties schema","type":"object","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]},{"$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","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity 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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}],"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/lammps","$schema":"http://json-schema.org/draft-07/schema#","title":"LAMMPS","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}],"properties":{"name":{"enum":["lammps"]},"summary":{"enum":["LAMMPS"]},"version":{"enum":["2025.07.22.2"]},"build":{"enum":["GNU","Intel","CUDA"]},"exec":{"enum":["lmp"]}}},{"$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","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity 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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}],"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input schema","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","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]},{"$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"}},"required":["name"]}]}}}}]},{"$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","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity 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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}],"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","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity 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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}],"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","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity 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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}],"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","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity 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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}],"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input schema","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","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]},{"$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"}},"required":["name"]}]}}}}]},{"$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"}},"required":["exabyteId"]},{"$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"]}},"required":["cls"]},{"$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"]}},"required":["creatorAccount"]},{"$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/hashed","$schema":"http://json-schema.org/draft-07/schema#","title":"hashed schema","type":"object","properties":{"hash":{"description":"Hash string which is calculated based on the meaningful fields of the entity. Used to identify equal entities.","type":"string"}},"required":["hash"]},{"$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"}}}]}}},"required":["inSet"]},{"$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"]}},"required":["cls"]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"status track schema","type":"object","properties":{"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"status":{"type":"string"}}},{"$id":"system/status-track","$schema":"http://json-schema.org/draft-07/schema#","title":"status track schema","type":"object","properties":{"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","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`","type":"string"}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"isMultiMaterial":{"description":"Defines whether the workflow is for a multi-material simulation","type":"boolean"},"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 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":"Subworkflow Mixin Schema","type":"object","properties":{"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":"Compute schema","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","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"]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"required":["subtype","source","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"const":"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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":{"const":"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":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Any model schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML model schema","type":"object","properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unknown model schema","type":"object","properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]}],"discriminator":{"propertyName":"subtype"}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"isMultiMaterial":{"type":"boolean"},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","properties","application","units"]}]}},"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"const":"subworkflow"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"application":{"description":"information about the main application used for workflow categorization by application in standata.","type":"object","properties":{"name":{"description":"name of the application","type":"string"}}},"tags":{"description":"tags for the workflow","type":"array","items":{"type":"string"}}},"required":["properties","units","subworkflows"]},{"$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":"Compute schema","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","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/convergence/enum-options","definitions":{"ConvergenceParameterNameEnum":{"type":"string","enum":["N_k","N_k_nonuniform","N_k_nonuniform_2D"],"tsEnumNames":["N_k","N_k_nonuniform","N_k_nonuniform_2D"]}}},{"$id":"workflow/subworkflow/mixin","$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow Mixin Schema","type":"object","properties":{"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":"Compute schema","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","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"]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"required":["subtype","source","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"const":"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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":{"const":"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":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Any model schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML model schema","type":"object","properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unknown model schema","type":"object","properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]}],"discriminator":{"propertyName":"subtype"}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"isMultiMaterial":{"type":"boolean"},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","properties","application","units"]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"required":["subtype","source","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"const":"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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":{"const":"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":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]},{"$id":"workflow/subworkflow","$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow 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":"Subworkflow Mixin Schema","type":"object","properties":{"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":"Compute schema","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","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"]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"required":["subtype","source","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"const":"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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":{"const":"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":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Any model schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML model schema","type":"object","properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unknown model schema","type":"object","properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]}],"discriminator":{"propertyName":"subtype"}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"isMultiMaterial":{"type":"boolean"},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","properties","application","units"]}]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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/context/-base","$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]},{"$id":"workflow/unit/context/-extra-data-material-hash","$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}},{"$id":"workflow/unit/context/item/boundaryConditions","$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$id":"workflow/unit/context/item/collinearMagnetization","$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$id":"workflow/unit/context/item/cutoffs","$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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":"workflow/unit/context/item/dynamics","$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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":"workflow/unit/context/item/grid","$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$id":"workflow/unit/context/item/hubbard-j","$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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":"workflow/unit/context/item/hubbard-legacy","$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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":"workflow/unit/context/item/hubbard-u","$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$id":"workflow/unit/context/item/hubbard-v","$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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":"workflow/unit/context/item/input","$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$id":"workflow/unit/context/item/mlSettings","$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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":"workflow/unit/context/item/mlTrainTestSplit","$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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":"workflow/unit/context/item/neb","$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$id":"workflow/unit/context/item/nonCollinearMagnetization","$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$id":"workflow/unit/context/item/path","$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$id":"workflow/unit/context/item","$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}},{"$id":"workflow/unit/error","$schema":"http://json-schema.org/draft-07/schema#","title":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]},{"$id":"workflow/unit/execution","$schema":"http://json-schema.org/draft-07/schema#","title":"execution 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$id":"workflow/unit/input/-input","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input schema","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","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]},{"$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"}},"required":["name"]}]}}}},{"$id":"workflow/unit/input/-inputItem","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]},{"$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"}},"required":["name"]},{"$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":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$id":"workflow/unit/io/db-collection","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database collection input/output schema (not used)","type":"object","properties":{"type":{"const":"db_collection"},"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["type","collection","draft"]},{"$id":"workflow/unit/io/db-ids","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database ids input/output schema (not used)","type":"object","properties":{"type":{"const":"db_ids"},"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["type","ids"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"const":"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":{"const":"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":{"const":"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]},{"$id":"workflow/unit/mixins/condition","$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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/error","$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]},{"$id":"workflow/unit/mixins/execution","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]},{"$id":"workflow/unit/mixins/io","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"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":{"const":"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":{"const":"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":{"const":"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":{"const":"subworkflow"}}},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"const":"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"}},"additionalProperties":true,"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"}},"additionalProperties":true,"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"}},"additionalProperties":true,"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"additionalProperties":true,"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"additionalProperties":true,"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"additionalProperties":true,"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 in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"const":"subworkflow"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"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":"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":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}},{"$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`","type":"string"}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"isMultiMaterial":{"description":"Defines whether the workflow is for a multi-material simulation","type":"boolean"},"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 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":"Subworkflow Mixin Schema","type":"object","properties":{"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":"Compute schema","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","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"]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"required":["subtype","source","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"const":"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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":{"const":"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":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Any model schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML model schema","type":"object","properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unknown model schema","type":"object","properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]}],"discriminator":{"propertyName":"subtype"}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"isMultiMaterial":{"type":"boolean"},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","properties","application","units"]}]}},"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"const":"subworkflow"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"application":{"description":"information about the main application used for workflow categorization by application in standata.","type":"object","properties":{"name":{"description":"name of the application","type":"string"}}},"tags":{"description":"tags for the workflow","type":"array","items":{"type":"string"}}},"required":["properties","units","subworkflows"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Description schema","type":"object","properties":{"description":{"description":"entity description","type":"string"},"descriptionObject":{"type":"object"}}},{"$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":{"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Compute schema","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","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":["workflows"]}]''') \ 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","MaterialsVirtualLab"]}},"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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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}}},{"$schema":"http://json-schema.org/draft-07/schema#","$id":"compute/nodes/base","description":"Cloud Node - base schema for all backend node types","type":"object","title":"cloud node schema","properties":{"hostname":{"type":"string","title":"Hostname","description":"Fully qualified domain name of the node"},"alias":{"type":"string","title":"Alias","description":"Human-readable display name for the node"},"timestamp":{"type":"number","description":"Unix timestamp of last heartbeat from the node"},"type":{"type":"string","enum":["cluster","gold","login"],"description":"Type of cloud node: cluster (compute), gold (billing), or login (SSH access)"},"isDefault":{"type":"boolean","description":"Whether this is the default node for its type"},"diskSpace":{"type":"array","description":"Disk space information for mounted filesystems","items":{"type":"object","properties":{"name":{"type":"string"},"size":{"type":"number"},"avail":{"type":"number"}}}}},"required":["hostname"]},{"$schema":"http://json-schema.org/draft-07/schema#","$id":"compute/nodes/cluster","description":"Cluster Node - extends cloud node with compute-specific properties","type":"object","title":"cluster node schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","description":"Cloud Node - base schema for all backend node types","type":"object","title":"cloud node schema","properties":{"hostname":{"type":"string","title":"Hostname","description":"Fully qualified domain name of the node"},"alias":{"type":"string","title":"Alias","description":"Human-readable display name for the node"},"timestamp":{"type":"number","description":"Unix timestamp of last heartbeat from the node"},"type":{"type":"string","enum":["cluster","gold","login"],"description":"Type of cloud node: cluster (compute), gold (billing), or login (SSH access)"},"isDefault":{"type":"boolean","description":"Whether this is the default node for its type"},"diskSpace":{"type":"array","description":"Disk space information for mounted filesystems","items":{"type":"object","properties":{"name":{"type":"string"},"size":{"type":"number"},"avail":{"type":"number"}}}}},"required":["hostname"]}],"properties":{"nodes":{"type":"array","description":"List of compute nodes in the cluster","items":{"type":"object"}},"queues":{"type":"array","title":"Queues","description":"Available job submission queues on this cluster","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Queue schema","type":"object","properties":{"name":{"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","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"maxPPN":{"description":"Maximum processors per node.","type":"integer"},"maxNodes":{"description":"Maximum number of nodes allowed for this queue.","type":"integer"},"availableNodes":{"description":"Number of nodes currently available.","type":"integer"},"currentNodes":{"description":"Number of nodes currently in use.","type":"integer"},"capacity":{"description":"Capacity status of the queue.","type":"string","enum":["FULL","DEGRADED","UNAVAILABLE"]},"displayName":{"type":"string","title":"Display name"}},"required":["name","maxPPN","maxNodes","availableNodes","currentNodes"]}}}},{"$id":"compute/queue","$schema":"http://json-schema.org/draft-07/schema#","title":"Queue schema","type":"object","properties":{"name":{"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","OR4","OR8","OR16","SR4","SR8","SR16","GOF","G4OF","G8OF","GSF","G4SF","G8SF"]},"maxPPN":{"description":"Maximum processors per node.","type":"integer"},"maxNodes":{"description":"Maximum number of nodes allowed for this queue.","type":"integer"},"availableNodes":{"description":"Number of nodes currently available.","type":"integer"},"currentNodes":{"description":"Number of nodes currently in use.","type":"integer"},"capacity":{"description":"Capacity status of the queue.","type":"string","enum":["FULL","DEGRADED","UNAVAILABLE"]},"displayName":{"type":"string","title":"Display name"}},"required":["name","maxPPN","maxNodes","availableNodes","currentNodes"]},{"$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 Data 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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]},{"$id":"context-providers-directory/collinear-magnetization-context-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},{"$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 Context 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 Context 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 Context 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 Context 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 Context 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 Context 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 Context 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 Data 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 Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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 Context 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 Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},{"$id":"context-providers-directory/points-path-data-provider","$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},{"$id":"context-providers-directory/points-path-data-provider-rendering","$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Rendering Schema","description":"Path in reciprocal space including derived Cartesian/fractional coordinates for template rendering. Not persisted on the context item.","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"},"coordinates":{"type":"array","items":{"type":"number","minItems":3,"maxItems":3}}},"required":["point","steps","coordinates"]}},{"$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/multidimensional-array","$schema":"http://json-schema.org/draft-07/schema#","title":"multidimensional array schema","description":"Unit-less N-dimensional array: a shape, optional flattened row-major values, and one axis descriptor per dimension. Unit-less like the rest of core/abstract, so the same structure serves a microscopy image, a spectroscopy grid and a logged time series. Note that core/abstract/3d_grid is a k-point mesh descriptor, not a data grid, which is why this schema exists.","type":"object","properties":{"shape":{"description":"Length of each dimension, outermost first, e.g. [256, 256] for a square image.","type":"array","minItems":1,"items":{"type":"integer","minimum":0}},"values":{"description":"Flattened values in row-major (C) order, length equal to the product of shape. Omitted when the data is stored out of line, which is the normal case for real measurements.","type":"array","items":{"type":"number"}},"axes":{"description":"One entry per dimension, in shape order. An axis is given either by explicit values or by a start and a step.","type":"array","items":{"type":"object","properties":{"name":{"description":"Axis name, e.g. x, y, bias, time.","type":"string"},"values":{"description":"Explicit coordinate of each point along this axis.","type":"array","items":{"type":"number"}},"start":{"description":"Coordinate of the first point, when the axis is evenly spaced.","type":"number"},"step":{"description":"Spacing between points, when the axis is evenly spaced.","type":"number"}},"required":["name"]}}},"required":["shape","axes"]},{"$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/measurement","$schema":"http://json-schema.org/draft-07/schema#","title":"info for a value obtained by measurement","description":"Provenance of a property obtained from a measurement: the experimental analogue of core/reference/exabyte, where measurementId plays the role of jobId and channel the role of unitId.","type":"object","properties":{"type":{"enum":["measurement"]},"measurementId":{"description":"Measurement's identity","type":"string"},"channel":{"description":"Data channel or analysis step the value was extracted from, e.g. the phase channel of a switching-spectroscopy acquisition","type":"string"},"sampleId":{"description":"Identity of the sample the measurement was taken on","type":"string"},"instrumentId":{"description":"Identity of the instrument the measurement was taken with","type":"string"}},"required":["measurementId"]},{"$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/process","$schema":"http://json-schema.org/draft-07/schema#","title":"info for a value obtained from a process","description":"Provenance of a property that is a property of a fabrication run rather than of a measurement, e.g. a growth rate read off the deposition record. The process analogue of core/reference/exabyte.","type":"object","properties":{"type":{"enum":["process"]},"processId":{"description":"Process's identity","type":"string"},"stepFlowchartId":{"description":"flowchartId of the step the value came from, the analogue of unitId","type":"string"},"sampleId":{"description":"Identity of the sample the process produced","type":"string"}},"required":["processId"]},{"$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/array-data","$schema":"http://json-schema.org/draft-07/schema#","title":"array data schema","description":"A multidimensional array with units on its values and axes, held either inline or in a referenced file. Exactly one of the two should be present; this is stated here rather than as an anyOf over required lists because a type-less anyOf makes the pydantic generator emit a root union.","$comment":"Inline values are meant for examples and small results: keep them under 65536 elements (a 256x256 image) and reference a file for anything larger.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"multidimensional array schema","description":"Unit-less N-dimensional array: a shape, optional flattened row-major values, and one axis descriptor per dimension. Unit-less like the rest of core/abstract, so the same structure serves a microscopy image, a spectroscopy grid and a logged time series. Note that core/abstract/3d_grid is a k-point mesh descriptor, not a data grid, which is why this schema exists.","type":"object","properties":{"shape":{"description":"Length of each dimension, outermost first, e.g. [256, 256] for a square image.","type":"array","minItems":1,"items":{"type":"integer","minimum":0}},"values":{"description":"Flattened values in row-major (C) order, length equal to the product of shape. Omitted when the data is stored out of line, which is the normal case for real measurements.","type":"array","items":{"type":"number"}},"axes":{"description":"One entry per dimension, in shape order. An axis is given either by explicit values or by a start and a step.","type":"array","items":{"type":"object","properties":{"name":{"description":"Axis name, e.g. x, y, bias, time.","type":"string"},"values":{"description":"Explicit coordinate of each point along this axis.","type":"array","items":{"type":"number"}},"start":{"description":"Coordinate of the first point, when the axis is evenly spaced.","type":"number"},"step":{"description":"Spacing between points, when the axis is evenly spaced.","type":"number"}},"required":["name"]}}},"required":["shape","axes"]}],"properties":{"units":{"description":"Units of the values, e.g. nm for a topography channel.","type":"string"},"dataType":{"description":"Storage type of the values in the referenced file.","type":"string","enum":["float32","float64","int8","int16","int32","int64","uint8","uint16","uint32","uint64"]},"file":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file reference schema","description":"A file kept outside the record: its metadata, the vendor format it is written in, a checksum and where it lives. Unlike system/file_source, which requires the file content as text, this references binary instrument output (an Igor binary wave, a Nanonis scan) without embedding it.","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":{"format":{"description":"Vendor or interchange format the file is written in.","type":"string","enum":["asylum_ibw","nanonis_sxm","nanonis_dat","gwyddion_gwy","bruker_nanoscope","nexus_hdf5","usid_hdf5","hdf5","npy","csv","tsv","xlsx","tiff","png","json","txt","other"]},"size":{"description":"Size of the file in bytes.","type":"integer","minimum":0},"checksum":{"description":"Content hash, so a referenced file can be identified after it moves.","type":"object","properties":{"algorithm":{"type":"string","enum":["md5","sha1","sha256"]},"value":{"type":"string"}},"required":["algorithm","value"]},"url":{"description":"Location the file can be retrieved from.","type":"string"},"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"}}},"role":{"description":"What the file is to the record that references it.","type":"string","enum":["raw","processed","log","image","metadata","other"]}},"required":["basename"]},"datasetPath":{"description":"Path to the dataset inside the file, e.g. an HDF5 path or an Igor layer label such as HeightRetrace.","type":"string"}}},{"$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":["kcal/mol","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":["kcal/mol","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/environment","$schema":"http://json-schema.org/draft-07/schema#","title":"environment schema","description":"Ambient or chamber conditions during a measurement or a process step.","type":"object","properties":{"temperature":{"$schema":"http://json-schema.org/draft-07/schema#","title":"temperature quantity schema","description":"A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["K","degC"],"default":"K"}},"required":["value","units"]},"pressure":{"$schema":"http://json-schema.org/draft-07/schema#","title":"pressure quantity schema","description":"A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["kbar","pa","Torr","mTorr","mbar","bar","atm"]}},"required":["value","units"]},"atmosphere":{"description":"Gas or vacuum the sample sits in.","type":"string","enum":["ambient","vacuum","high_vacuum","ultra_high_vacuum","nitrogen","argon","oxygen","forming_gas","liquid","other"]},"humidity":{"description":"Relative humidity, as a percentage.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}}}},{"$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/file-reference","$schema":"http://json-schema.org/draft-07/schema#","title":"file reference schema","description":"A file kept outside the record: its metadata, the vendor format it is written in, a checksum and where it lives. Unlike system/file_source, which requires the file content as text, this references binary instrument output (an Igor binary wave, a Nanonis scan) without embedding it.","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":{"format":{"description":"Vendor or interchange format the file is written in.","type":"string","enum":["asylum_ibw","nanonis_sxm","nanonis_dat","gwyddion_gwy","bruker_nanoscope","nexus_hdf5","usid_hdf5","hdf5","npy","csv","tsv","xlsx","tiff","png","json","txt","other"]},"size":{"description":"Size of the file in bytes.","type":"integer","minimum":0},"checksum":{"description":"Content hash, so a referenced file can be identified after it moves.","type":"object","properties":{"algorithm":{"type":"string","enum":["md5","sha1","sha256"]},"value":{"type":"string"}},"required":["algorithm","value"]},"url":{"description":"Location the file can be retrieved from.","type":"string"},"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"}}},"role":{"description":"What the file is to the record that references it.","type":"string","enum":["raw","processed","log","image","metadata","other"]}},"required":["basename"]},{"$id":"core/reusable/formation-energy-contribution","$schema":"http://json-schema.org/draft-07/schema#","title":"Formation energy contribution schema","description":"Total energy contribution of one material used in formation energy calculation.","type":"object","properties":{"formula":{"description":"formula or label for the material used in the formation energy calculation","type":"string"},"n_atoms":{"description":"number of atoms in the material","type":"integer"},"is_elemental":{"description":"whether the material is an elemental reference","type":"boolean"},"total_energy":{"description":"total energy of the material","type":"number"},"total_energy_per_atom":{"description":"total energy per atom of the material","type":"number"},"precision_value":{"description":"precision value for the total energy property","type":"number","default":-1},"precision_metric":{"description":"metric used to report total energy precision","type":"string","enum":["unknown","KPPRA","spacing"],"default":"unknown"}},"required":["formula","n_atoms","is_elemental","total_energy","total_energy_per_atom","precision_metric","precision_value"]},{"$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/identifier","$schema":"http://json-schema.org/draft-07/schema#","title":"identifier schema","description":"An identifier a record carries in a system other than this one, e.g. an HTEM sample id or a lab-system run number. Kept as a scheme and a value rather than a named field per source, so a new source does not need a schema change.","type":"object","properties":{"scheme":{"description":"Namespace the value is unique within.","type":"string","enum":["internal","htem","lmc","igsn","doi","barcode","vendor","other"]},"value":{"description":"The identifier itself.","type":"string"}},"required":["scheme","value"]},{"$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/quantity/current","$schema":"http://json-schema.org/draft-07/schema#","title":"current quantity schema","description":"A scalar with current units, e.g. a tunneling current setpoint. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["A","mA","uA","nA","pA"]}},"required":["value","units"]},{"$id":"core/reusable/quantity/frequency","$schema":"http://json-schema.org/draft-07/schema#","title":"frequency quantity schema","description":"A scalar with frequency units, e.g. a cantilever drive frequency. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["cm-1","THz","meV","Hz","kHz","MHz","GHz"]}},"required":["value","units"]},{"$id":"core/reusable/quantity/length","$schema":"http://json-schema.org/draft-07/schema#","title":"length quantity schema","description":"A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}},"required":["value","units"]},{"$id":"core/reusable/quantity/pressure","$schema":"http://json-schema.org/draft-07/schema#","title":"pressure quantity schema","description":"A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["kbar","pa","Torr","mTorr","mbar","bar","atm"]}},"required":["value","units"]},{"$id":"core/reusable/quantity/temperature","$schema":"http://json-schema.org/draft-07/schema#","title":"temperature quantity schema","description":"A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["K","degC"],"default":"K"}},"required":["value","units"]},{"$id":"core/reusable/quantity/time","$schema":"http://json-schema.org/draft-07/schema#","title":"time quantity schema","description":"A scalar with time units, e.g. a process step duration. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["s","ms","us","ns","min","h"],"default":"s"}},"required":["value","units"]},{"$id":"core/reusable/quantity/voltage","$schema":"http://json-schema.org/draft-07/schema#","title":"voltage quantity schema","description":"A scalar with voltage units, e.g. a sample bias or drive amplitude. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["V","mV","uV","kV"]}},"required":["value","units"]},{"$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":["kcal/mol","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.","nN","pN"]},"volume":{"enum":["cm^3","angstrom^3"]},"numberDensity":{"enum":["1/angstrom^3"]},"density":{"enum":["g/cm^3"]},"frequency":{"enum":["cm-1","THz","meV","Hz","kHz","MHz","GHz"]},"pressure":{"enum":["kbar","pa","Torr","mTorr","mbar","bar","atm"]},"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."]},"temperature":{"enum":["K","degC"],"default":"K"},"time":{"enum":["s","ms","us","ns","min","h"],"default":"s"},"voltage":{"enum":["V","mV","uV","kV"]},"current":{"enum":["A","mA","uA","nA","pA"]},"current_density":{"enum":["A/cm^2","mA/cm^2","uA/cm^2","nA/cm^2","A/m^2"]},"power":{"enum":["W","mW","kW"]},"flow_rate":{"enum":["sccm","slm"]},"deposition_rate":{"enum":["nm/s","angstrom/s","nm/min","angstrom/pulse","nm/cycle","angstrom/cycle"]},"fluence":{"enum":["J/cm^2","mJ/cm^2"]},"spring_constant":{"enum":["N/m"]},"resistivity":{"enum":["ohm*m","ohm*cm"]},"sheet_resistance":{"enum":["ohm/sq"]},"conductivity":{"enum":["S/m","S/cm"]},"electric_field":{"enum":["V/m","V/cm","kV/cm","MV/cm","V/nm"]},"polarization":{"enum":["uC/cm^2","C/m^2"]},"piezoelectric_coefficient":{"enum":["pm/V","pC/N"]},"rotation_rate":{"enum":["rpm"]},"dimensionless":{"enum":["unitless","percent","ppm","fraction"]}},{"$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":["kcal/mol","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":"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"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","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"}},"additionalProperties":true,"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"additionalProperties":true,"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"additionalProperties":true,"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"additionalProperties":true,"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}}}}]},{"$id":"instrument/component","$schema":"http://json-schema.org/draft-07/schema#","title":"instrument component schema","description":"A part of an instrument that is worth recording per result, such as the cantilever a scan was taken with or the target a film was sputtered from. Parameters are left open because what matters differs by kind: a cantilever has a spring constant, a laser has a wavelength.","type":"object","properties":{"kind":{"type":"string","enum":["probe","cantilever","scanner","laser","detector","lock_in_amplifier","controller","heater","cryostat","chamber","stage","evaporation_source","target_holder","gas_line","mass_flow_controller","pump","gauge","other"]},"name":{"type":"string"},"vendor":{"type":"string"},"model":{"type":"string"},"serialNumber":{"type":"string"},"parameters":{"description":"Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever.","type":"object","additionalProperties":true}},"required":["kind","name"]},{"$id":"instrument/instrument-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"instrument properties schema","description":"Domain-specific fields of an instrument entity, mirroring software/application_properties: shortName and summary carry over unchanged; version becomes firmware and build becomes serialNumber, because those are what identify a physical unit; vendor, model, techniques, components and location are what an apparatus adds over a program. None of them is required: an instrument is identified by the name it inherits from the entity mixin, and a laboratory record often names a chamber only by the short name its operators use, with the vendor and model known separately or not at all.","type":"object","properties":{"shortName":{"description":"The short name of the instrument, e.g. jupiter, pdac_com5","type":"string"},"summary":{"description":"Instrument's short description.","type":"string"},"vendor":{"description":"Manufacturer of the instrument, e.g. Asylum Research","type":"string"},"model":{"description":"Model name, e.g. Jupiter","type":"string"},"serialNumber":{"description":"Vendor serial number identifying this particular unit.","type":"string"},"firmware":{"description":"Controller or acquisition-software version, the analogue of an application version, e.g. 19.34.88","type":"string"},"techniques":{"description":"Techniques this instrument can perform.","type":"array","items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"characterization technique category schema","description":"Techniques that measure a sample without intending to change it: microscopy, spectroscopy, diffraction, electrical and optical. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["characterization"]},"tier3":{"enum":["microscopy","spectroscopy","diffraction","electrical","optical"]},"type":{"enum":["scanning_probe_microscopy","electron_microscopy","x_ray","transport","dielectric","ultraviolet_visible_near_infrared"]},"subtype":{"enum":["atomic_force_microscopy","scanning_tunneling_microscopy","scanning_tunneling_spectroscopy","piezoresponse_force_microscopy","kelvin_probe_force_microscopy","conductive_atomic_force_microscopy","magnetic_force_microscopy"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"synthesis technique category schema","description":"Techniques that create or modify a sample: vapor deposition, solution processing, bulk growth and post-processing such as annealing. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["synthesis"]},"tier3":{"enum":["vapor_deposition","solution_processing","bulk_growth","post_processing"]},"type":{"enum":["physical_vapor_deposition","chemical_vapor_deposition","annealing"]},"subtype":{"enum":["pulsed_laser_deposition","sputtering","molecular_beam_epitaxy","thermal_evaporation","electron_beam_evaporation","atomic_layer_deposition","plasma_enhanced_atomic_layer_deposition","thermal_chemical_vapor_deposition","metalorganic_chemical_vapor_deposition","plasma_enhanced_chemical_vapor_deposition"]}}}]}},"components":{"description":"Parts of the instrument that matter to a result, e.g. the probe a scan was taken with or the source a film was grown from.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument component schema","description":"A part of an instrument that is worth recording per result, such as the cantilever a scan was taken with or the target a film was sputtered from. Parameters are left open because what matters differs by kind: a cantilever has a spring constant, a laser has a wavelength.","type":"object","properties":{"kind":{"type":"string","enum":["probe","cantilever","scanner","laser","detector","lock_in_amplifier","controller","heater","cryostat","chamber","stage","evaporation_source","target_holder","gas_line","mass_flow_controller","pump","gauge","other"]},"name":{"type":"string"},"vendor":{"type":"string"},"model":{"type":"string"},"serialNumber":{"type":"string"},"parameters":{"description":"Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever.","type":"object","additionalProperties":true}},"required":["kind","name"]}},"controlSoftware":{"description":"Software driving the instrument, reusing the application entity rather than restating a name and a version.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}},"location":{"description":"Where the instrument is, which for a multi-institution project is part of the provenance.","type":"object","properties":{"facility":{"type":"string"},"laboratory":{"type":"string"},"room":{"type":"string"}}}}},{"$id":"instrument/instrument-property","$schema":"http://json-schema.org/draft-07/schema#","title":"Instrument Property Schema","description":"Behaviour of a record that was produced on an instrument, mirroring job/compute_property. Defined once so a measurement and a process stage say 'has an instrument' the same way. Not required, because records imported from an external database may not name the instrument.","type":"object","properties":{"instrument":{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument schema","description":"A physical apparatus used to measure or fabricate a sample: a microscope, a deposition chamber, a furnace. The experimental mirror of software/application, composed the same way, because what an application is to a job an instrument is to a measurement.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument properties schema","description":"Domain-specific fields of an instrument entity, mirroring software/application_properties: shortName and summary carry over unchanged; version becomes firmware and build becomes serialNumber, because those are what identify a physical unit; vendor, model, techniques, components and location are what an apparatus adds over a program. None of them is required: an instrument is identified by the name it inherits from the entity mixin, and a laboratory record often names a chamber only by the short name its operators use, with the vendor and model known separately or not at all.","type":"object","properties":{"shortName":{"description":"The short name of the instrument, e.g. jupiter, pdac_com5","type":"string"},"summary":{"description":"Instrument's short description.","type":"string"},"vendor":{"description":"Manufacturer of the instrument, e.g. Asylum Research","type":"string"},"model":{"description":"Model name, e.g. Jupiter","type":"string"},"serialNumber":{"description":"Vendor serial number identifying this particular unit.","type":"string"},"firmware":{"description":"Controller or acquisition-software version, the analogue of an application version, e.g. 19.34.88","type":"string"},"techniques":{"description":"Techniques this instrument can perform.","type":"array","items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"characterization technique category schema","description":"Techniques that measure a sample without intending to change it: microscopy, spectroscopy, diffraction, electrical and optical. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["characterization"]},"tier3":{"enum":["microscopy","spectroscopy","diffraction","electrical","optical"]},"type":{"enum":["scanning_probe_microscopy","electron_microscopy","x_ray","transport","dielectric","ultraviolet_visible_near_infrared"]},"subtype":{"enum":["atomic_force_microscopy","scanning_tunneling_microscopy","scanning_tunneling_spectroscopy","piezoresponse_force_microscopy","kelvin_probe_force_microscopy","conductive_atomic_force_microscopy","magnetic_force_microscopy"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"synthesis technique category schema","description":"Techniques that create or modify a sample: vapor deposition, solution processing, bulk growth and post-processing such as annealing. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["synthesis"]},"tier3":{"enum":["vapor_deposition","solution_processing","bulk_growth","post_processing"]},"type":{"enum":["physical_vapor_deposition","chemical_vapor_deposition","annealing"]},"subtype":{"enum":["pulsed_laser_deposition","sputtering","molecular_beam_epitaxy","thermal_evaporation","electron_beam_evaporation","atomic_layer_deposition","plasma_enhanced_atomic_layer_deposition","thermal_chemical_vapor_deposition","metalorganic_chemical_vapor_deposition","plasma_enhanced_chemical_vapor_deposition"]}}}]}},"components":{"description":"Parts of the instrument that matter to a result, e.g. the probe a scan was taken with or the source a film was grown from.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument component schema","description":"A part of an instrument that is worth recording per result, such as the cantilever a scan was taken with or the target a film was sputtered from. Parameters are left open because what matters differs by kind: a cantilever has a spring constant, a laser has a wavelength.","type":"object","properties":{"kind":{"type":"string","enum":["probe","cantilever","scanner","laser","detector","lock_in_amplifier","controller","heater","cryostat","chamber","stage","evaporation_source","target_holder","gas_line","mass_flow_controller","pump","gauge","other"]},"name":{"type":"string"},"vendor":{"type":"string"},"model":{"type":"string"},"serialNumber":{"type":"string"},"parameters":{"description":"Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever.","type":"object","additionalProperties":true}},"required":["kind","name"]}},"controlSoftware":{"description":"Software driving the instrument, reusing the application entity rather than restating a name and a version.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}},"location":{"description":"Where the instrument is, which for a multi-institution project is part of the provenance.","type":"object","properties":{"facility":{"type":"string"},"laboratory":{"type":"string"},"room":{"type":"string"}}}}}]}}},{"$id":"instrument","$schema":"http://json-schema.org/draft-07/schema#","title":"instrument schema","description":"A physical apparatus used to measure or fabricate a sample: a microscope, a deposition chamber, a furnace. The experimental mirror of software/application, composed the same way, because what an application is to a job an instrument is to a measurement.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument properties schema","description":"Domain-specific fields of an instrument entity, mirroring software/application_properties: shortName and summary carry over unchanged; version becomes firmware and build becomes serialNumber, because those are what identify a physical unit; vendor, model, techniques, components and location are what an apparatus adds over a program. None of them is required: an instrument is identified by the name it inherits from the entity mixin, and a laboratory record often names a chamber only by the short name its operators use, with the vendor and model known separately or not at all.","type":"object","properties":{"shortName":{"description":"The short name of the instrument, e.g. jupiter, pdac_com5","type":"string"},"summary":{"description":"Instrument's short description.","type":"string"},"vendor":{"description":"Manufacturer of the instrument, e.g. Asylum Research","type":"string"},"model":{"description":"Model name, e.g. Jupiter","type":"string"},"serialNumber":{"description":"Vendor serial number identifying this particular unit.","type":"string"},"firmware":{"description":"Controller or acquisition-software version, the analogue of an application version, e.g. 19.34.88","type":"string"},"techniques":{"description":"Techniques this instrument can perform.","type":"array","items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"characterization technique category schema","description":"Techniques that measure a sample without intending to change it: microscopy, spectroscopy, diffraction, electrical and optical. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["characterization"]},"tier3":{"enum":["microscopy","spectroscopy","diffraction","electrical","optical"]},"type":{"enum":["scanning_probe_microscopy","electron_microscopy","x_ray","transport","dielectric","ultraviolet_visible_near_infrared"]},"subtype":{"enum":["atomic_force_microscopy","scanning_tunneling_microscopy","scanning_tunneling_spectroscopy","piezoresponse_force_microscopy","kelvin_probe_force_microscopy","conductive_atomic_force_microscopy","magnetic_force_microscopy"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"synthesis technique category schema","description":"Techniques that create or modify a sample: vapor deposition, solution processing, bulk growth and post-processing such as annealing. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["synthesis"]},"tier3":{"enum":["vapor_deposition","solution_processing","bulk_growth","post_processing"]},"type":{"enum":["physical_vapor_deposition","chemical_vapor_deposition","annealing"]},"subtype":{"enum":["pulsed_laser_deposition","sputtering","molecular_beam_epitaxy","thermal_evaporation","electron_beam_evaporation","atomic_layer_deposition","plasma_enhanced_atomic_layer_deposition","thermal_chemical_vapor_deposition","metalorganic_chemical_vapor_deposition","plasma_enhanced_chemical_vapor_deposition"]}}}]}},"components":{"description":"Parts of the instrument that matter to a result, e.g. the probe a scan was taken with or the source a film was grown from.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument component schema","description":"A part of an instrument that is worth recording per result, such as the cantilever a scan was taken with or the target a film was sputtered from. Parameters are left open because what matters differs by kind: a cantilever has a spring constant, a laser has a wavelength.","type":"object","properties":{"kind":{"type":"string","enum":["probe","cantilever","scanner","laser","detector","lock_in_amplifier","controller","heater","cryostat","chamber","stage","evaporation_source","target_holder","gas_line","mass_flow_controller","pump","gauge","other"]},"name":{"type":"string"},"vendor":{"type":"string"},"model":{"type":"string"},"serialNumber":{"type":"string"},"parameters":{"description":"Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever.","type":"object","additionalProperties":true}},"required":["kind","name"]}},"controlSoftware":{"description":"Software driving the instrument, reusing the application entity rather than restating a name and a version.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}},"location":{"description":"Where the instrument is, which for a multi-institution project is part of the provenance.","type":"object","properties":{"facility":{"type":"string"},"laboratory":{"type":"string"},"room":{"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"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity 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":"Compute Property Schema","type":"object","properties":{"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Compute schema","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","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":["compute"]}],"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"},"_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","_project"]},{"$id":"job/compute","$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Compute schema","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","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/compute-property","$schema":"http://json-schema.org/draft-07/schema#","title":"Compute Property Schema","type":"object","properties":{"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Compute schema","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","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":["compute"]},{"$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"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Compute Property Schema","type":"object","properties":{"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Compute schema","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","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":["compute"]}],"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"},"_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","_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":"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":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}},{"$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`","type":"string"}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"isMultiMaterial":{"description":"Defines whether the workflow is for a multi-material simulation","type":"boolean"},"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 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":"Subworkflow Mixin Schema","type":"object","properties":{"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":"Compute schema","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","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"]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"required":["subtype","source","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"const":"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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":{"const":"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":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Any model schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML model schema","type":"object","properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unknown model schema","type":"object","properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]}],"discriminator":{"propertyName":"subtype"}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"isMultiMaterial":{"type":"boolean"},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","properties","application","units"]}]}},"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"const":"subworkflow"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"application":{"description":"information about the main application used for workflow categorization by application in standata.","type":"object","properties":{"name":{"description":"name of the application","type":"string"}}},"tags":{"description":"tags for the workflow","type":"array","items":{"type":"string"}}},"required":["properties","units","subworkflows"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Description schema","type":"object","properties":{"description":{"description":"entity description","type":"string"},"descriptionObject":{"type":"object"}}},{"$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":{"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Compute schema","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","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":["workflows"]}},"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/material-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material/metadata/boundary-conditions","$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$id":"material/metadata/bulk-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true},{"$id":"material/metadata/slab-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$id":"material/metadata","$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]},{"$id":"material-enhanced","$schema":"http://json-schema.org/draft-07/schema#","title":"material enhanced schema","type":"object","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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]},{"properties":{"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis constrained schema","type":"object","allOf":[{"$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"]},{"properties":{"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}]}}}}},"required":["constraints"]}]}}}]},{"$id":"material-enhanced-hashed","$schema":"http://json-schema.org/draft-07/schema#","title":"material enhanced hashed schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material enhanced schema","type":"object","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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]},{"properties":{"basis":{"$schema":"http://json-schema.org/draft-07/schema#","title":"basis constrained schema","type":"object","allOf":[{"$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"]},{"properties":{"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}]}}}}},"required":["constraints"]}]}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material hashed schema","type":"object","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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hashed schema","type":"object","properties":{"hash":{"description":"Hash string which is calculated based on the meaningful fields of the entity. Used to identify equal entities.","type":"string"}},"required":["hash"]},{"properties":{"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"}}}]}]},{"$id":"material-hashed","$schema":"http://json-schema.org/draft-07/schema#","title":"material hashed schema","type":"object","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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hashed schema","type":"object","properties":{"hash":{"description":"Hash string which is calculated based on the meaningful fields of the entity. Used to identify equal entities.","type":"string"}},"required":["hash"]},{"properties":{"scaledHash":{"description":"Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).","type":"string"}}}]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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/three-dimensional/solid-solution/configuration","$schema":"http://json-schema.org/draft-07/schema#","title":"Solid Solution Configuration Schema","description":"Configuration for a solid solution: a crystal with partial element substitution, 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":{"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"source_element":{"description":"Element to partially replace (e.g. Hf).","type":"string"},"target_element":{"description":"Replacement element (e.g. Zr).","type":"string"},"target_concentration":{"description":"Requested fraction of source element sites to replace (0.0-1.0).","type":"number","minimum":0,"maximum":1},"actual_concentration":{"description":"Achievable fraction after supercell discretization and site rounding (0.0-1.0).","type":"number","minimum":0,"maximum":1},"merge_components":{"type":"array","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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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":"REPLACE"}},"required":["crystal","source_element","target_element","target_concentration","actual_concentration","merge_components","merge_method"]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},{"$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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]}]}},"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}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material properties schema","description":"Domain-specific fields of a material entity, kept separate from generic in-memory-entity mixins (name, isDefault, etc.). Full entity schemas compose *_properties.json fragments via allOf (see material.json). The _properties filename suffix marks schemas that serve as the input for generated TypeScript entity mixins — MaterialSchemaMixin in @mat3ra/made, following the same pattern as ApplicationSchemaMixin in @mat3ra/ade (scripts/generate-mixins.ts and generateSchemaMixin in @mat3ra/code).","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","MaterialsVirtualLab"]}},"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"]},"icsdId":{"description":"Corresponding ICSD id of the material","type":"integer"},"isNonPeriodic":{"description":"Whether to work in the finite molecular picture (usually with 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":"material metadata schema","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true,"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata boundary conditions","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"]}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata slab properties","type":"object","properties":{"isSlab":{"description":"Whether the material was created as a surface slab","type":"boolean"},"h":{"description":"Miller index h used to generate the slab","type":"number"},"k":{"description":"Miller index k used to generate the slab","type":"number"},"l":{"description":"Miller index l used to generate the slab","type":"number"},"thickness":{"description":"Slab thickness in number of layers","type":"number"},"vacuumRatio":{"description":"Vacuum fraction used when scaling the out-of-plane lattice vector","type":"number"},"vx":{"description":"Termination vector component along a","type":"number"},"vy":{"description":"Termination vector component along b","type":"number"}},"additionalProperties":true},{"$schema":"http://json-schema.org/draft-07/schema#","title":"material metadata bulk properties","type":"object","properties":{"bulkId":{"description":"Source bulk material id used to generate the slab","type":"string"}},"additionalProperties":true}]}},"required":["metadata"]}]},"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":"measurement/base","$schema":"http://json-schema.org/draft-07/schema#","title":"measurement base schema","description":"Mirror of job/base: the same platform mixin, an instrument in place of compute, a sample in place of a material, and the activity mixin for status, timing and operators.","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"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Instrument Property Schema","description":"Behaviour of a record that was produced on an instrument, mirroring job/compute_property. Defined once so a measurement and a process stage say 'has an instrument' the same way. Not required, because records imported from an external database may not name the instrument.","type":"object","properties":{"instrument":{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument schema","description":"A physical apparatus used to measure or fabricate a sample: a microscope, a deposition chamber, a furnace. The experimental mirror of software/application, composed the same way, because what an application is to a job an instrument is to a measurement.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument properties schema","description":"Domain-specific fields of an instrument entity, mirroring software/application_properties: shortName and summary carry over unchanged; version becomes firmware and build becomes serialNumber, because those are what identify a physical unit; vendor, model, techniques, components and location are what an apparatus adds over a program. None of them is required: an instrument is identified by the name it inherits from the entity mixin, and a laboratory record often names a chamber only by the short name its operators use, with the vendor and model known separately or not at all.","type":"object","properties":{"shortName":{"description":"The short name of the instrument, e.g. jupiter, pdac_com5","type":"string"},"summary":{"description":"Instrument's short description.","type":"string"},"vendor":{"description":"Manufacturer of the instrument, e.g. Asylum Research","type":"string"},"model":{"description":"Model name, e.g. Jupiter","type":"string"},"serialNumber":{"description":"Vendor serial number identifying this particular unit.","type":"string"},"firmware":{"description":"Controller or acquisition-software version, the analogue of an application version, e.g. 19.34.88","type":"string"},"techniques":{"description":"Techniques this instrument can perform.","type":"array","items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"characterization technique category schema","description":"Techniques that measure a sample without intending to change it: microscopy, spectroscopy, diffraction, electrical and optical. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["characterization"]},"tier3":{"enum":["microscopy","spectroscopy","diffraction","electrical","optical"]},"type":{"enum":["scanning_probe_microscopy","electron_microscopy","x_ray","transport","dielectric","ultraviolet_visible_near_infrared"]},"subtype":{"enum":["atomic_force_microscopy","scanning_tunneling_microscopy","scanning_tunneling_spectroscopy","piezoresponse_force_microscopy","kelvin_probe_force_microscopy","conductive_atomic_force_microscopy","magnetic_force_microscopy"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"synthesis technique category schema","description":"Techniques that create or modify a sample: vapor deposition, solution processing, bulk growth and post-processing such as annealing. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["synthesis"]},"tier3":{"enum":["vapor_deposition","solution_processing","bulk_growth","post_processing"]},"type":{"enum":["physical_vapor_deposition","chemical_vapor_deposition","annealing"]},"subtype":{"enum":["pulsed_laser_deposition","sputtering","molecular_beam_epitaxy","thermal_evaporation","electron_beam_evaporation","atomic_layer_deposition","plasma_enhanced_atomic_layer_deposition","thermal_chemical_vapor_deposition","metalorganic_chemical_vapor_deposition","plasma_enhanced_chemical_vapor_deposition"]}}}]}},"components":{"description":"Parts of the instrument that matter to a result, e.g. the probe a scan was taken with or the source a film was grown from.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument component schema","description":"A part of an instrument that is worth recording per result, such as the cantilever a scan was taken with or the target a film was sputtered from. Parameters are left open because what matters differs by kind: a cantilever has a spring constant, a laser has a wavelength.","type":"object","properties":{"kind":{"type":"string","enum":["probe","cantilever","scanner","laser","detector","lock_in_amplifier","controller","heater","cryostat","chamber","stage","evaporation_source","target_holder","gas_line","mass_flow_controller","pump","gauge","other"]},"name":{"type":"string"},"vendor":{"type":"string"},"model":{"type":"string"},"serialNumber":{"type":"string"},"parameters":{"description":"Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever.","type":"object","additionalProperties":true}},"required":["kind","name"]}},"controlSoftware":{"description":"Software driving the instrument, reusing the application entity rather than restating a name and a version.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}},"location":{"description":"Where the instrument is, which for a multi-institution project is part of the provenance.","type":"object","properties":{"facility":{"type":"string"},"laboratory":{"type":"string"},"room":{"type":"string"}}}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"activity schema","description":"Behaviour of a record of something that was done: its status, when it started and ended, who ran it and which project it belongs to. Measurement and process both compose this, so the two cannot drift apart the way two hand-maintained status lists would.","type":"object","properties":{"status":{"description":"Lifecycle state. 'draft' marks a recipe or protocol that has not been executed.","type":"string","enum":["draft","planned","active","finished","error","cancelled"]},"startTime":{"description":"When the activity started, as an ISO 8601 timestamp. A string rather than an epoch number so it stays readable without a converter, matching job.startTime.","type":"string","format":"date-time"},"endTime":{"description":"When the activity finished, as an ISO 8601 timestamp.","type":"string","format":"date-time"},"operators":{"description":"People who ran the activity. A name and an optional affiliation rather than the bibliographic author shape used for citations: a laboratory record identifies an operator by whatever the instrument logged, often a single username, and a citation's requirement of a surname does not hold there.","type":"array","items":{"type":"object","properties":{"name":{"description":"Operator's name as recorded, e.g. a username.","type":"string"},"affiliation":{"description":"Institution the operator belongs to.","type":"string"},"_account":{"$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":["name"]}},"_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"]}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"characterization technique category schema","description":"Techniques that measure a sample without intending to change it: microscopy, spectroscopy, diffraction, electrical and optical. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["characterization"]},"tier3":{"enum":["microscopy","spectroscopy","diffraction","electrical","optical"]},"type":{"enum":["scanning_probe_microscopy","electron_microscopy","x_ray","transport","dielectric","ultraviolet_visible_near_infrared"]},"subtype":{"enum":["atomic_force_microscopy","scanning_tunneling_microscopy","scanning_tunneling_spectroscopy","piezoresponse_force_microscopy","kelvin_probe_force_microscopy","conductive_atomic_force_microscopy","magnetic_force_microscopy"]}}},"_sample":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sample entity reference schema","description":"Reference to a sample entity, the experimental mirror of system/_material.","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":"Sample class","type":"string","enum":["Sample"]}}},"samplePosition":{"$schema":"http://json-schema.org/draft-07/schema#","title":"sample position schema","description":"A location on a sample. Together with the identity of the sample it is the join key that ties a per-position measurement on a combinatorial library to the point it was taken at.","type":"object","properties":{"index":{"description":"Position number within the parent, e.g. 1 to 44 on an HTEM library.","type":"integer","minimum":0},"label":{"description":"Human-readable label for the position, e.g. a sub-sample identifier such as R12.","type":"string"},"row":{"type":"integer"},"column":{"type":"integer"},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 2d schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]},"coordinateSystem":{"description":"Origin and orientation the coordinate is given in.","type":"string","enum":["wafer_center","wafer_flat","library_grid","stage","custom"],"default":"wafer_center"}},"required":["coordinate","units"]},"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"]},"environment":{"$schema":"http://json-schema.org/draft-07/schema#","title":"environment schema","description":"Ambient or chamber conditions during a measurement or a process step.","type":"object","properties":{"temperature":{"$schema":"http://json-schema.org/draft-07/schema#","title":"temperature quantity schema","description":"A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["K","degC"],"default":"K"}},"required":["value","units"]},"pressure":{"$schema":"http://json-schema.org/draft-07/schema#","title":"pressure quantity schema","description":"A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["kbar","pa","Torr","mTorr","mbar","bar","atm"]}},"required":["value","units"]},"atmosphere":{"description":"Gas or vacuum the sample sits in.","type":"string","enum":["ambient","vacuum","high_vacuum","ultra_high_vacuum","nitrogen","argon","oxygen","forming_gas","liquid","other"]},"humidity":{"description":"Relative humidity, as a percentage.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}}}},"parameters":{"description":"Technique-specific acquisition parameters. Unconstrained here, the way a model's parameters are unconstrained until a models_directory entry narrows them; measurement/parameters/scanning_probe_microscopy describes the expected shape for scanning probe techniques and will be bound per technique by catalogue entries in a later phase.","type":"object"},"data":{"description":"Channels acquired during the measurement.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"measurement data channel schema","description":"One channel of acquired data. An array for rasters and grids, a 2D plot for curves and spectra. The two branches require different fields, so the union is unambiguous.","type":"object","properties":{"name":{"description":"Channel name, e.g. height, deflection, amplitude, phase, current, bias, piezoresponsePhase.","type":"string"},"direction":{"description":"Scan direction the channel was recorded in, where forward and backward traces are kept separately.","type":"string","enum":["forward","backward"]},"description":{"type":"string"},"data":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array data schema","description":"A multidimensional array with units on its values and axes, held either inline or in a referenced file. Exactly one of the two should be present; this is stated here rather than as an anyOf over required lists because a type-less anyOf makes the pydantic generator emit a root union.","$comment":"Inline values are meant for examples and small results: keep them under 65536 elements (a 256x256 image) and reference a file for anything larger.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"multidimensional array schema","description":"Unit-less N-dimensional array: a shape, optional flattened row-major values, and one axis descriptor per dimension. Unit-less like the rest of core/abstract, so the same structure serves a microscopy image, a spectroscopy grid and a logged time series. Note that core/abstract/3d_grid is a k-point mesh descriptor, not a data grid, which is why this schema exists.","type":"object","properties":{"shape":{"description":"Length of each dimension, outermost first, e.g. [256, 256] for a square image.","type":"array","minItems":1,"items":{"type":"integer","minimum":0}},"values":{"description":"Flattened values in row-major (C) order, length equal to the product of shape. Omitted when the data is stored out of line, which is the normal case for real measurements.","type":"array","items":{"type":"number"}},"axes":{"description":"One entry per dimension, in shape order. An axis is given either by explicit values or by a start and a step.","type":"array","items":{"type":"object","properties":{"name":{"description":"Axis name, e.g. x, y, bias, time.","type":"string"},"values":{"description":"Explicit coordinate of each point along this axis.","type":"array","items":{"type":"number"}},"start":{"description":"Coordinate of the first point, when the axis is evenly spaced.","type":"number"},"step":{"description":"Spacing between points, when the axis is evenly spaced.","type":"number"}},"required":["name"]}}},"required":["shape","axes"]}],"properties":{"units":{"description":"Units of the values, e.g. nm for a topography channel.","type":"string"},"dataType":{"description":"Storage type of the values in the referenced file.","type":"string","enum":["float32","float64","int8","int16","int32","int64","uint8","uint16","uint32","uint64"]},"file":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file reference schema","description":"A file kept outside the record: its metadata, the vendor format it is written in, a checksum and where it lives. Unlike system/file_source, which requires the file content as text, this references binary instrument output (an Igor binary wave, a Nanonis scan) without embedding it.","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":{"format":{"description":"Vendor or interchange format the file is written in.","type":"string","enum":["asylum_ibw","nanonis_sxm","nanonis_dat","gwyddion_gwy","bruker_nanoscope","nexus_hdf5","usid_hdf5","hdf5","npy","csv","tsv","xlsx","tiff","png","json","txt","other"]},"size":{"description":"Size of the file in bytes.","type":"integer","minimum":0},"checksum":{"description":"Content hash, so a referenced file can be identified after it moves.","type":"object","properties":{"algorithm":{"type":"string","enum":["md5","sha1","sha256"]},"value":{"type":"string"}},"required":["algorithm","value"]},"url":{"description":"Location the file can be retrieved from.","type":"string"},"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"}}},"role":{"description":"What the file is to the record that references it.","type":"string","enum":["raw","processed","log","image","metadata","other"]}},"required":["basename"]},"datasetPath":{"description":"Path to the dataset inside the file, e.g. an HDF5 path or an Igor layer label such as HeightRetrace.","type":"string"}}},{"$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"]}]}},"required":["name","data"]}},"rawFiles":{"description":"Vendor files this record was derived from, referenced rather than embedded.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file reference schema","description":"A file kept outside the record: its metadata, the vendor format it is written in, a checksum and where it lives. Unlike system/file_source, which requires the file content as text, this references binary instrument output (an Igor binary wave, a Nanonis scan) without embedding it.","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":{"format":{"description":"Vendor or interchange format the file is written in.","type":"string","enum":["asylum_ibw","nanonis_sxm","nanonis_dat","gwyddion_gwy","bruker_nanoscope","nexus_hdf5","usid_hdf5","hdf5","npy","csv","tsv","xlsx","tiff","png","json","txt","other"]},"size":{"description":"Size of the file in bytes.","type":"integer","minimum":0},"checksum":{"description":"Content hash, so a referenced file can be identified after it moves.","type":"object","properties":{"algorithm":{"type":"string","enum":["md5","sha1","sha256"]},"value":{"type":"string"}},"required":["algorithm","value"]},"url":{"description":"Location the file can be retrieved from.","type":"string"},"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"}}},"role":{"description":"What the file is to the record that references it.","type":"string","enum":["raw","processed","log","image","metadata","other"]}},"required":["basename"]}}},"required":["categories","_sample"]},{"$id":"measurement/data/channel","$schema":"http://json-schema.org/draft-07/schema#","title":"measurement data channel schema","description":"One channel of acquired data. An array for rasters and grids, a 2D plot for curves and spectra. The two branches require different fields, so the union is unambiguous.","type":"object","properties":{"name":{"description":"Channel name, e.g. height, deflection, amplitude, phase, current, bias, piezoresponsePhase.","type":"string"},"direction":{"description":"Scan direction the channel was recorded in, where forward and backward traces are kept separately.","type":"string","enum":["forward","backward"]},"description":{"type":"string"},"data":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array data schema","description":"A multidimensional array with units on its values and axes, held either inline or in a referenced file. Exactly one of the two should be present; this is stated here rather than as an anyOf over required lists because a type-less anyOf makes the pydantic generator emit a root union.","$comment":"Inline values are meant for examples and small results: keep them under 65536 elements (a 256x256 image) and reference a file for anything larger.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"multidimensional array schema","description":"Unit-less N-dimensional array: a shape, optional flattened row-major values, and one axis descriptor per dimension. Unit-less like the rest of core/abstract, so the same structure serves a microscopy image, a spectroscopy grid and a logged time series. Note that core/abstract/3d_grid is a k-point mesh descriptor, not a data grid, which is why this schema exists.","type":"object","properties":{"shape":{"description":"Length of each dimension, outermost first, e.g. [256, 256] for a square image.","type":"array","minItems":1,"items":{"type":"integer","minimum":0}},"values":{"description":"Flattened values in row-major (C) order, length equal to the product of shape. Omitted when the data is stored out of line, which is the normal case for real measurements.","type":"array","items":{"type":"number"}},"axes":{"description":"One entry per dimension, in shape order. An axis is given either by explicit values or by a start and a step.","type":"array","items":{"type":"object","properties":{"name":{"description":"Axis name, e.g. x, y, bias, time.","type":"string"},"values":{"description":"Explicit coordinate of each point along this axis.","type":"array","items":{"type":"number"}},"start":{"description":"Coordinate of the first point, when the axis is evenly spaced.","type":"number"},"step":{"description":"Spacing between points, when the axis is evenly spaced.","type":"number"}},"required":["name"]}}},"required":["shape","axes"]}],"properties":{"units":{"description":"Units of the values, e.g. nm for a topography channel.","type":"string"},"dataType":{"description":"Storage type of the values in the referenced file.","type":"string","enum":["float32","float64","int8","int16","int32","int64","uint8","uint16","uint32","uint64"]},"file":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file reference schema","description":"A file kept outside the record: its metadata, the vendor format it is written in, a checksum and where it lives. Unlike system/file_source, which requires the file content as text, this references binary instrument output (an Igor binary wave, a Nanonis scan) without embedding it.","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":{"format":{"description":"Vendor or interchange format the file is written in.","type":"string","enum":["asylum_ibw","nanonis_sxm","nanonis_dat","gwyddion_gwy","bruker_nanoscope","nexus_hdf5","usid_hdf5","hdf5","npy","csv","tsv","xlsx","tiff","png","json","txt","other"]},"size":{"description":"Size of the file in bytes.","type":"integer","minimum":0},"checksum":{"description":"Content hash, so a referenced file can be identified after it moves.","type":"object","properties":{"algorithm":{"type":"string","enum":["md5","sha1","sha256"]},"value":{"type":"string"}},"required":["algorithm","value"]},"url":{"description":"Location the file can be retrieved from.","type":"string"},"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"}}},"role":{"description":"What the file is to the record that references it.","type":"string","enum":["raw","processed","log","image","metadata","other"]}},"required":["basename"]},"datasetPath":{"description":"Path to the dataset inside the file, e.g. an HDF5 path or an Igor layer label such as HeightRetrace.","type":"string"}}},{"$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"]}]}},"required":["name","data"]},{"$id":"measurement/parameters/scanning-probe-microscopy","$schema":"http://json-schema.org/draft-07/schema#","title":"scanning probe microscopy parameters schema","description":"Acquisition parameters shared by the scanning probe techniques. Field names follow the NeXus NXspm application definition so a record can be exported to NeXus without a translation table, and cover what an Asylum Research or Nanonis file records about a scan.","type":"object","properties":{"mode":{"description":"Feedback or imaging mode the scan was taken in.","type":"string","enum":["contact","tapping","non_contact","peak_force","lateral_force","constant_current","constant_height","single_frequency","dual_ac_resonance_tracking","band_excitation","contact_resonance"]},"scanRange":{"description":"Size of the scanned area.","type":"object","properties":{"x":{"$schema":"http://json-schema.org/draft-07/schema#","title":"length quantity schema","description":"A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}},"required":["value","units"]},"y":{"$schema":"http://json-schema.org/draft-07/schema#","title":"length quantity schema","description":"A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}},"required":["value","units"]}}},"scanOffset":{"description":"Offset of the scan centre from the stage origin.","type":"object","properties":{"x":{"$schema":"http://json-schema.org/draft-07/schema#","title":"length quantity schema","description":"A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}},"required":["value","units"]},"y":{"$schema":"http://json-schema.org/draft-07/schema#","title":"length quantity schema","description":"A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}},"required":["value","units"]}}},"scanAngle":{"description":"Rotation of the fast scan axis.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["degree","radian"],"default":"degree"}}},"scanPoints":{"description":"Number of points along each axis, i.e. the pixel dimensions of the image.","type":"object","properties":{"x":{"type":"integer"},"y":{"type":"integer"}}},"scanRate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"frequency quantity schema","description":"A scalar with frequency units, e.g. a cantilever drive frequency. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["cm-1","THz","meV","Hz","kHz","MHz","GHz"]}},"required":["value","units"]},"scanDirection":{"description":"Slow-axis direction.","type":"string","enum":["up","down"]},"setpoint":{"description":"Feedback setpoint, in whichever quantity the mode controls on (amplitude in volts, deflection in newtons, current in amperes).","type":"object","properties":{"value":{"type":"number"},"units":{"type":"string"}}},"biasVoltage":{"$schema":"http://json-schema.org/draft-07/schema#","title":"voltage quantity schema","description":"A scalar with voltage units, e.g. a sample bias or drive amplitude. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["V","mV","uV","kV"]}},"required":["value","units"]},"currentSetpoint":{"$schema":"http://json-schema.org/draft-07/schema#","title":"current quantity schema","description":"A scalar with current units, e.g. a tunneling current setpoint. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["A","mA","uA","nA","pA"]}},"required":["value","units"]},"driveAmplitude":{"$schema":"http://json-schema.org/draft-07/schema#","title":"voltage quantity schema","description":"A scalar with voltage units, e.g. a sample bias or drive amplitude. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["V","mV","uV","kV"]}},"required":["value","units"]},"driveFrequency":{"$schema":"http://json-schema.org/draft-07/schema#","title":"frequency quantity schema","description":"A scalar with frequency units, e.g. a cantilever drive frequency. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["cm-1","THz","meV","Hz","kHz","MHz","GHz"]}},"required":["value","units"]},"biasWaveform":{"description":"Bias waveform applied during switching spectroscopy, e.g. the triangle-square sequence a piezoresponse hysteresis loop is measured with.","type":"object","properties":{"type":{"type":"string","enum":["triangular","bipolar_triangular","triangle_square","sinusoidal","step","custom"]},"amplitude":{"$schema":"http://json-schema.org/draft-07/schema#","title":"voltage quantity schema","description":"A scalar with voltage units, e.g. a sample bias or drive amplitude. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["V","mV","uV","kV"]}},"required":["value","units"]},"frequency":{"$schema":"http://json-schema.org/draft-07/schema#","title":"frequency quantity schema","description":"A scalar with frequency units, e.g. a cantilever drive frequency. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["cm-1","THz","meV","Hz","kHz","MHz","GHz"]}},"required":["value","units"]},"cycles":{"type":"integer"},"pointsPerSecond":{"type":"number"},"offField":{"description":"Whether the response is read with the dc bias off, which separates the electrostatic background from the piezoresponse.","type":"boolean"}}},"probe":{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument component schema","description":"A part of an instrument that is worth recording per result, such as the cantilever a scan was taken with or the target a film was sputtered from. Parameters are left open because what matters differs by kind: a cantilever has a spring constant, a laser has a wavelength.","type":"object","properties":{"kind":{"type":"string","enum":["probe","cantilever","scanner","laser","detector","lock_in_amplifier","controller","heater","cryostat","chamber","stage","evaporation_source","target_holder","gas_line","mass_flow_controller","pump","gauge","other"]},"name":{"type":"string"},"vendor":{"type":"string"},"model":{"type":"string"},"serialNumber":{"type":"string"},"parameters":{"description":"Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever.","type":"object","additionalProperties":true}},"required":["kind","name"]}}},{"$id":"measurement","$schema":"http://json-schema.org/draft-07/schema#","title":"measurement schema","description":"A characterization run: one acquisition on one instrument against one sample. The experimental mirror of job, which binds a workflow to compute and a material; a measurement binds a technique to an instrument and a sample. Results are not embedded here: they are property holders whose source names this measurement, exactly as job results name a job.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"measurement base schema","description":"Mirror of job/base: the same platform mixin, an instrument in place of compute, a sample in place of a material, and the activity mixin for status, timing and operators.","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"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Instrument Property Schema","description":"Behaviour of a record that was produced on an instrument, mirroring job/compute_property. Defined once so a measurement and a process stage say 'has an instrument' the same way. Not required, because records imported from an external database may not name the instrument.","type":"object","properties":{"instrument":{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument schema","description":"A physical apparatus used to measure or fabricate a sample: a microscope, a deposition chamber, a furnace. The experimental mirror of software/application, composed the same way, because what an application is to a job an instrument is to a measurement.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument properties schema","description":"Domain-specific fields of an instrument entity, mirroring software/application_properties: shortName and summary carry over unchanged; version becomes firmware and build becomes serialNumber, because those are what identify a physical unit; vendor, model, techniques, components and location are what an apparatus adds over a program. None of them is required: an instrument is identified by the name it inherits from the entity mixin, and a laboratory record often names a chamber only by the short name its operators use, with the vendor and model known separately or not at all.","type":"object","properties":{"shortName":{"description":"The short name of the instrument, e.g. jupiter, pdac_com5","type":"string"},"summary":{"description":"Instrument's short description.","type":"string"},"vendor":{"description":"Manufacturer of the instrument, e.g. Asylum Research","type":"string"},"model":{"description":"Model name, e.g. Jupiter","type":"string"},"serialNumber":{"description":"Vendor serial number identifying this particular unit.","type":"string"},"firmware":{"description":"Controller or acquisition-software version, the analogue of an application version, e.g. 19.34.88","type":"string"},"techniques":{"description":"Techniques this instrument can perform.","type":"array","items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"characterization technique category schema","description":"Techniques that measure a sample without intending to change it: microscopy, spectroscopy, diffraction, electrical and optical. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["characterization"]},"tier3":{"enum":["microscopy","spectroscopy","diffraction","electrical","optical"]},"type":{"enum":["scanning_probe_microscopy","electron_microscopy","x_ray","transport","dielectric","ultraviolet_visible_near_infrared"]},"subtype":{"enum":["atomic_force_microscopy","scanning_tunneling_microscopy","scanning_tunneling_spectroscopy","piezoresponse_force_microscopy","kelvin_probe_force_microscopy","conductive_atomic_force_microscopy","magnetic_force_microscopy"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"synthesis technique category schema","description":"Techniques that create or modify a sample: vapor deposition, solution processing, bulk growth and post-processing such as annealing. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["synthesis"]},"tier3":{"enum":["vapor_deposition","solution_processing","bulk_growth","post_processing"]},"type":{"enum":["physical_vapor_deposition","chemical_vapor_deposition","annealing"]},"subtype":{"enum":["pulsed_laser_deposition","sputtering","molecular_beam_epitaxy","thermal_evaporation","electron_beam_evaporation","atomic_layer_deposition","plasma_enhanced_atomic_layer_deposition","thermal_chemical_vapor_deposition","metalorganic_chemical_vapor_deposition","plasma_enhanced_chemical_vapor_deposition"]}}}]}},"components":{"description":"Parts of the instrument that matter to a result, e.g. the probe a scan was taken with or the source a film was grown from.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument component schema","description":"A part of an instrument that is worth recording per result, such as the cantilever a scan was taken with or the target a film was sputtered from. Parameters are left open because what matters differs by kind: a cantilever has a spring constant, a laser has a wavelength.","type":"object","properties":{"kind":{"type":"string","enum":["probe","cantilever","scanner","laser","detector","lock_in_amplifier","controller","heater","cryostat","chamber","stage","evaporation_source","target_holder","gas_line","mass_flow_controller","pump","gauge","other"]},"name":{"type":"string"},"vendor":{"type":"string"},"model":{"type":"string"},"serialNumber":{"type":"string"},"parameters":{"description":"Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever.","type":"object","additionalProperties":true}},"required":["kind","name"]}},"controlSoftware":{"description":"Software driving the instrument, reusing the application entity rather than restating a name and a version.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}},"location":{"description":"Where the instrument is, which for a multi-institution project is part of the provenance.","type":"object","properties":{"facility":{"type":"string"},"laboratory":{"type":"string"},"room":{"type":"string"}}}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"activity schema","description":"Behaviour of a record of something that was done: its status, when it started and ended, who ran it and which project it belongs to. Measurement and process both compose this, so the two cannot drift apart the way two hand-maintained status lists would.","type":"object","properties":{"status":{"description":"Lifecycle state. 'draft' marks a recipe or protocol that has not been executed.","type":"string","enum":["draft","planned","active","finished","error","cancelled"]},"startTime":{"description":"When the activity started, as an ISO 8601 timestamp. A string rather than an epoch number so it stays readable without a converter, matching job.startTime.","type":"string","format":"date-time"},"endTime":{"description":"When the activity finished, as an ISO 8601 timestamp.","type":"string","format":"date-time"},"operators":{"description":"People who ran the activity. A name and an optional affiliation rather than the bibliographic author shape used for citations: a laboratory record identifies an operator by whatever the instrument logged, often a single username, and a citation's requirement of a surname does not hold there.","type":"array","items":{"type":"object","properties":{"name":{"description":"Operator's name as recorded, e.g. a username.","type":"string"},"affiliation":{"description":"Institution the operator belongs to.","type":"string"},"_account":{"$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":["name"]}},"_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"]}}}],"properties":{"categories":{"$schema":"http://json-schema.org/draft-07/schema#","title":"characterization technique category schema","description":"Techniques that measure a sample without intending to change it: microscopy, spectroscopy, diffraction, electrical and optical. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["characterization"]},"tier3":{"enum":["microscopy","spectroscopy","diffraction","electrical","optical"]},"type":{"enum":["scanning_probe_microscopy","electron_microscopy","x_ray","transport","dielectric","ultraviolet_visible_near_infrared"]},"subtype":{"enum":["atomic_force_microscopy","scanning_tunneling_microscopy","scanning_tunneling_spectroscopy","piezoresponse_force_microscopy","kelvin_probe_force_microscopy","conductive_atomic_force_microscopy","magnetic_force_microscopy"]}}},"_sample":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sample entity reference schema","description":"Reference to a sample entity, the experimental mirror of system/_material.","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":"Sample class","type":"string","enum":["Sample"]}}},"samplePosition":{"$schema":"http://json-schema.org/draft-07/schema#","title":"sample position schema","description":"A location on a sample. Together with the identity of the sample it is the join key that ties a per-position measurement on a combinatorial library to the point it was taken at.","type":"object","properties":{"index":{"description":"Position number within the parent, e.g. 1 to 44 on an HTEM library.","type":"integer","minimum":0},"label":{"description":"Human-readable label for the position, e.g. a sub-sample identifier such as R12.","type":"string"},"row":{"type":"integer"},"column":{"type":"integer"},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 2d schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]},"coordinateSystem":{"description":"Origin and orientation the coordinate is given in.","type":"string","enum":["wafer_center","wafer_flat","library_grid","stage","custom"],"default":"wafer_center"}},"required":["coordinate","units"]},"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"]},"environment":{"$schema":"http://json-schema.org/draft-07/schema#","title":"environment schema","description":"Ambient or chamber conditions during a measurement or a process step.","type":"object","properties":{"temperature":{"$schema":"http://json-schema.org/draft-07/schema#","title":"temperature quantity schema","description":"A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["K","degC"],"default":"K"}},"required":["value","units"]},"pressure":{"$schema":"http://json-schema.org/draft-07/schema#","title":"pressure quantity schema","description":"A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["kbar","pa","Torr","mTorr","mbar","bar","atm"]}},"required":["value","units"]},"atmosphere":{"description":"Gas or vacuum the sample sits in.","type":"string","enum":["ambient","vacuum","high_vacuum","ultra_high_vacuum","nitrogen","argon","oxygen","forming_gas","liquid","other"]},"humidity":{"description":"Relative humidity, as a percentage.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}}}},"parameters":{"description":"Technique-specific acquisition parameters. Unconstrained here, the way a model's parameters are unconstrained until a models_directory entry narrows them; measurement/parameters/scanning_probe_microscopy describes the expected shape for scanning probe techniques and will be bound per technique by catalogue entries in a later phase.","type":"object"},"data":{"description":"Channels acquired during the measurement.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"measurement data channel schema","description":"One channel of acquired data. An array for rasters and grids, a 2D plot for curves and spectra. The two branches require different fields, so the union is unambiguous.","type":"object","properties":{"name":{"description":"Channel name, e.g. height, deflection, amplitude, phase, current, bias, piezoresponsePhase.","type":"string"},"direction":{"description":"Scan direction the channel was recorded in, where forward and backward traces are kept separately.","type":"string","enum":["forward","backward"]},"description":{"type":"string"},"data":{"oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"array data schema","description":"A multidimensional array with units on its values and axes, held either inline or in a referenced file. Exactly one of the two should be present; this is stated here rather than as an anyOf over required lists because a type-less anyOf makes the pydantic generator emit a root union.","$comment":"Inline values are meant for examples and small results: keep them under 65536 elements (a 256x256 image) and reference a file for anything larger.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"multidimensional array schema","description":"Unit-less N-dimensional array: a shape, optional flattened row-major values, and one axis descriptor per dimension. Unit-less like the rest of core/abstract, so the same structure serves a microscopy image, a spectroscopy grid and a logged time series. Note that core/abstract/3d_grid is a k-point mesh descriptor, not a data grid, which is why this schema exists.","type":"object","properties":{"shape":{"description":"Length of each dimension, outermost first, e.g. [256, 256] for a square image.","type":"array","minItems":1,"items":{"type":"integer","minimum":0}},"values":{"description":"Flattened values in row-major (C) order, length equal to the product of shape. Omitted when the data is stored out of line, which is the normal case for real measurements.","type":"array","items":{"type":"number"}},"axes":{"description":"One entry per dimension, in shape order. An axis is given either by explicit values or by a start and a step.","type":"array","items":{"type":"object","properties":{"name":{"description":"Axis name, e.g. x, y, bias, time.","type":"string"},"values":{"description":"Explicit coordinate of each point along this axis.","type":"array","items":{"type":"number"}},"start":{"description":"Coordinate of the first point, when the axis is evenly spaced.","type":"number"},"step":{"description":"Spacing between points, when the axis is evenly spaced.","type":"number"}},"required":["name"]}}},"required":["shape","axes"]}],"properties":{"units":{"description":"Units of the values, e.g. nm for a topography channel.","type":"string"},"dataType":{"description":"Storage type of the values in the referenced file.","type":"string","enum":["float32","float64","int8","int16","int32","int64","uint8","uint16","uint32","uint64"]},"file":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file reference schema","description":"A file kept outside the record: its metadata, the vendor format it is written in, a checksum and where it lives. Unlike system/file_source, which requires the file content as text, this references binary instrument output (an Igor binary wave, a Nanonis scan) without embedding it.","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":{"format":{"description":"Vendor or interchange format the file is written in.","type":"string","enum":["asylum_ibw","nanonis_sxm","nanonis_dat","gwyddion_gwy","bruker_nanoscope","nexus_hdf5","usid_hdf5","hdf5","npy","csv","tsv","xlsx","tiff","png","json","txt","other"]},"size":{"description":"Size of the file in bytes.","type":"integer","minimum":0},"checksum":{"description":"Content hash, so a referenced file can be identified after it moves.","type":"object","properties":{"algorithm":{"type":"string","enum":["md5","sha1","sha256"]},"value":{"type":"string"}},"required":["algorithm","value"]},"url":{"description":"Location the file can be retrieved from.","type":"string"},"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"}}},"role":{"description":"What the file is to the record that references it.","type":"string","enum":["raw","processed","log","image","metadata","other"]}},"required":["basename"]},"datasetPath":{"description":"Path to the dataset inside the file, e.g. an HDF5 path or an Igor layer label such as HeightRetrace.","type":"string"}}},{"$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"]}]}},"required":["name","data"]}},"rawFiles":{"description":"Vendor files this record was derived from, referenced rather than embedded.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file reference schema","description":"A file kept outside the record: its metadata, the vendor format it is written in, a checksum and where it lives. Unlike system/file_source, which requires the file content as text, this references binary instrument output (an Igor binary wave, a Nanonis scan) without embedding it.","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":{"format":{"description":"Vendor or interchange format the file is written in.","type":"string","enum":["asylum_ibw","nanonis_sxm","nanonis_dat","gwyddion_gwy","bruker_nanoscope","nexus_hdf5","usid_hdf5","hdf5","npy","csv","tsv","xlsx","tiff","png","json","txt","other"]},"size":{"description":"Size of the file in bytes.","type":"integer","minimum":0},"checksum":{"description":"Content hash, so a referenced file can be identified after it moves.","type":"object","properties":{"algorithm":{"type":"string","enum":["md5","sha1","sha256"]},"value":{"type":"string"}},"required":["algorithm","value"]},"url":{"description":"Location the file can be retrieved from.","type":"string"},"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"}}},"role":{"description":"What the file is to the record that references it.","type":"string","enum":["raw","processed","log","image","metadata","other"]}},"required":["basename"]}}},"required":["categories","_sample"]}]},{"$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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"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/any","$schema":"http://json-schema.org/draft-07/schema#","title":"Any model schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML model schema","type":"object","properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unknown model schema","type":"object","properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]}],"discriminator":{"propertyName":"subtype"}},{"$id":"models-directory/legacy/dft","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT model schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]}],"discriminator":{"propertyName":"subtype"}},{"$id":"models-directory/legacy/dft-gga","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$id":"models-directory/legacy/dft-hybrid","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$id":"models-directory/legacy/dft-lda","$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$id":"models-directory/legacy/ml","$schema":"http://json-schema.org/draft-07/schema#","title":"ML model schema","type":"object","properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$id":"models-directory/legacy/unknown","$schema":"http://json-schema.org/draft-07/schema#","title":"Unknown model schema","type":"object","properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$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":"process/base","$schema":"http://json-schema.org/draft-07/schema#","title":"base process schema","description":"Mirror of workflow/base: properties (the names of what the run yields) carries over; units become steps grouped into stages; the application a workflow names becomes the instrument each stage runs on; the samples consumed and produced are what a physical process adds.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"activity schema","description":"Behaviour of a record of something that was done: its status, when it started and ended, who ran it and which project it belongs to. Measurement and process both compose this, so the two cannot drift apart the way two hand-maintained status lists would.","type":"object","properties":{"status":{"description":"Lifecycle state. 'draft' marks a recipe or protocol that has not been executed.","type":"string","enum":["draft","planned","active","finished","error","cancelled"]},"startTime":{"description":"When the activity started, as an ISO 8601 timestamp. A string rather than an epoch number so it stays readable without a converter, matching job.startTime.","type":"string","format":"date-time"},"endTime":{"description":"When the activity finished, as an ISO 8601 timestamp.","type":"string","format":"date-time"},"operators":{"description":"People who ran the activity. A name and an optional affiliation rather than the bibliographic author shape used for citations: a laboratory record identifies an operator by whatever the instrument logged, often a single username, and a citation's requirement of a surname does not hold there.","type":"array","items":{"type":"object","properties":{"name":{"description":"Operator's name as recorded, e.g. a username.","type":"string"},"affiliation":{"description":"Institution the operator belongs to.","type":"string"},"_account":{"$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":["name"]}},"_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"]}}}],"properties":{"categories":{"description":"Technique this process applies. A measurement protocol is a process with characterization categories, which is why both branches are allowed; anyOf rather than oneOf because a record classified only to tier1 satisfies both and must not be rejected as ambiguous.","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"synthesis technique category schema","description":"Techniques that create or modify a sample: vapor deposition, solution processing, bulk growth and post-processing such as annealing. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["synthesis"]},"tier3":{"enum":["vapor_deposition","solution_processing","bulk_growth","post_processing"]},"type":{"enum":["physical_vapor_deposition","chemical_vapor_deposition","annealing"]},"subtype":{"enum":["pulsed_laser_deposition","sputtering","molecular_beam_epitaxy","thermal_evaporation","electron_beam_evaporation","atomic_layer_deposition","plasma_enhanced_atomic_layer_deposition","thermal_chemical_vapor_deposition","metalorganic_chemical_vapor_deposition","plasma_enhanced_chemical_vapor_deposition"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"characterization technique category schema","description":"Techniques that measure a sample without intending to change it: microscopy, spectroscopy, diffraction, electrical and optical. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["characterization"]},"tier3":{"enum":["microscopy","spectroscopy","diffraction","electrical","optical"]},"type":{"enum":["scanning_probe_microscopy","electron_microscopy","x_ray","transport","dielectric","ultraviolet_visible_near_infrared"]},"subtype":{"enum":["atomic_force_microscopy","scanning_tunneling_microscopy","scanning_tunneling_spectroscopy","piezoresponse_force_microscopy","kelvin_probe_force_microscopy","conductive_atomic_force_microscopy","magnetic_force_microscopy"]}}}]},"properties":{"description":"Array of characteristic properties produced by this process, by name, e.g. film_thickness","type":"array","items":{"type":"string"}},"stages":{"description":"Ordered stages, the analogue of workflow.subworkflows. A stage is the level that binds a technique and an instrument, because a run can move between chambers.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"process stage schema","description":"One stage of a process, the analogue of a subworkflow: it binds a technique and an instrument to an ordered list of steps, and names the material sources those steps draw on. Deposition then anneal is two stages, because they run on different instruments. Status and timing come from the activity mixin so a stage and its process share one vocabulary.","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":"Instrument Property Schema","description":"Behaviour of a record that was produced on an instrument, mirroring job/compute_property. Defined once so a measurement and a process stage say 'has an instrument' the same way. Not required, because records imported from an external database may not name the instrument.","type":"object","properties":{"instrument":{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument schema","description":"A physical apparatus used to measure or fabricate a sample: a microscope, a deposition chamber, a furnace. The experimental mirror of software/application, composed the same way, because what an application is to a job an instrument is to a measurement.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument properties schema","description":"Domain-specific fields of an instrument entity, mirroring software/application_properties: shortName and summary carry over unchanged; version becomes firmware and build becomes serialNumber, because those are what identify a physical unit; vendor, model, techniques, components and location are what an apparatus adds over a program. None of them is required: an instrument is identified by the name it inherits from the entity mixin, and a laboratory record often names a chamber only by the short name its operators use, with the vendor and model known separately or not at all.","type":"object","properties":{"shortName":{"description":"The short name of the instrument, e.g. jupiter, pdac_com5","type":"string"},"summary":{"description":"Instrument's short description.","type":"string"},"vendor":{"description":"Manufacturer of the instrument, e.g. Asylum Research","type":"string"},"model":{"description":"Model name, e.g. Jupiter","type":"string"},"serialNumber":{"description":"Vendor serial number identifying this particular unit.","type":"string"},"firmware":{"description":"Controller or acquisition-software version, the analogue of an application version, e.g. 19.34.88","type":"string"},"techniques":{"description":"Techniques this instrument can perform.","type":"array","items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"characterization technique category schema","description":"Techniques that measure a sample without intending to change it: microscopy, spectroscopy, diffraction, electrical and optical. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["characterization"]},"tier3":{"enum":["microscopy","spectroscopy","diffraction","electrical","optical"]},"type":{"enum":["scanning_probe_microscopy","electron_microscopy","x_ray","transport","dielectric","ultraviolet_visible_near_infrared"]},"subtype":{"enum":["atomic_force_microscopy","scanning_tunneling_microscopy","scanning_tunneling_spectroscopy","piezoresponse_force_microscopy","kelvin_probe_force_microscopy","conductive_atomic_force_microscopy","magnetic_force_microscopy"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"synthesis technique category schema","description":"Techniques that create or modify a sample: vapor deposition, solution processing, bulk growth and post-processing such as annealing. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["synthesis"]},"tier3":{"enum":["vapor_deposition","solution_processing","bulk_growth","post_processing"]},"type":{"enum":["physical_vapor_deposition","chemical_vapor_deposition","annealing"]},"subtype":{"enum":["pulsed_laser_deposition","sputtering","molecular_beam_epitaxy","thermal_evaporation","electron_beam_evaporation","atomic_layer_deposition","plasma_enhanced_atomic_layer_deposition","thermal_chemical_vapor_deposition","metalorganic_chemical_vapor_deposition","plasma_enhanced_chemical_vapor_deposition"]}}}]}},"components":{"description":"Parts of the instrument that matter to a result, e.g. the probe a scan was taken with or the source a film was grown from.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument component schema","description":"A part of an instrument that is worth recording per result, such as the cantilever a scan was taken with or the target a film was sputtered from. Parameters are left open because what matters differs by kind: a cantilever has a spring constant, a laser has a wavelength.","type":"object","properties":{"kind":{"type":"string","enum":["probe","cantilever","scanner","laser","detector","lock_in_amplifier","controller","heater","cryostat","chamber","stage","evaporation_source","target_holder","gas_line","mass_flow_controller","pump","gauge","other"]},"name":{"type":"string"},"vendor":{"type":"string"},"model":{"type":"string"},"serialNumber":{"type":"string"},"parameters":{"description":"Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever.","type":"object","additionalProperties":true}},"required":["kind","name"]}},"controlSoftware":{"description":"Software driving the instrument, reusing the application entity rather than restating a name and a version.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}},"location":{"description":"Where the instrument is, which for a multi-institution project is part of the provenance.","type":"object","properties":{"facility":{"type":"string"},"laboratory":{"type":"string"},"room":{"type":"string"}}}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"activity schema","description":"Behaviour of a record of something that was done: its status, when it started and ended, who ran it and which project it belongs to. Measurement and process both compose this, so the two cannot drift apart the way two hand-maintained status lists would.","type":"object","properties":{"status":{"description":"Lifecycle state. 'draft' marks a recipe or protocol that has not been executed.","type":"string","enum":["draft","planned","active","finished","error","cancelled"]},"startTime":{"description":"When the activity started, as an ISO 8601 timestamp. A string rather than an epoch number so it stays readable without a converter, matching job.startTime.","type":"string","format":"date-time"},"endTime":{"description":"When the activity finished, as an ISO 8601 timestamp.","type":"string","format":"date-time"},"operators":{"description":"People who ran the activity. A name and an optional affiliation rather than the bibliographic author shape used for citations: a laboratory record identifies an operator by whatever the instrument logged, often a single username, and a citation's requirement of a surname does not hold there.","type":"array","items":{"type":"object","properties":{"name":{"description":"Operator's name as recorded, e.g. a username.","type":"string"},"affiliation":{"description":"Institution the operator belongs to.","type":"string"},"_account":{"$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":["name"]}},"_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"]}}}],"properties":{"index":{"description":"Order of the stage within the process, starting at 1.","type":"integer","minimum":1},"categories":{"description":"Technique this stage applies.","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"synthesis technique category schema","description":"Techniques that create or modify a sample: vapor deposition, solution processing, bulk growth and post-processing such as annealing. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["synthesis"]},"tier3":{"enum":["vapor_deposition","solution_processing","bulk_growth","post_processing"]},"type":{"enum":["physical_vapor_deposition","chemical_vapor_deposition","annealing"]},"subtype":{"enum":["pulsed_laser_deposition","sputtering","molecular_beam_epitaxy","thermal_evaporation","electron_beam_evaporation","atomic_layer_deposition","plasma_enhanced_atomic_layer_deposition","thermal_chemical_vapor_deposition","metalorganic_chemical_vapor_deposition","plasma_enhanced_chemical_vapor_deposition"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"characterization technique category schema","description":"Techniques that measure a sample without intending to change it: microscopy, spectroscopy, diffraction, electrical and optical. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["characterization"]},"tier3":{"enum":["microscopy","spectroscopy","diffraction","electrical","optical"]},"type":{"enum":["scanning_probe_microscopy","electron_microscopy","x_ray","transport","dielectric","ultraviolet_visible_near_infrared"]},"subtype":{"enum":["atomic_force_microscopy","scanning_tunneling_microscopy","scanning_tunneling_spectroscopy","piezoresponse_force_microscopy","kelvin_probe_force_microscopy","conductive_atomic_force_microscopy","magnetic_force_microscopy"]}}}]},"sources":{"description":"Material sources available to the steps of this stage: sputtering targets, precursors, process gases.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"process source schema","description":"A material source a deposition draws on. Discriminated on kind, the way a workflow unit is discriminated on type: a sputtering target, a chemical precursor and a process gas are described by different fields.","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"sputtering target source schema","description":"A sputtering or ablation target: a solid source driven by a power supply. Forward and reflected power are recorded separately because their difference is what actually reaches the target.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"process source base schema","description":"Fields common to every material source. The identifier is what a step's setpoints point at, so a step can say which source it is pulsing without repeating the source itself.","type":"object","properties":{"id":{"description":"Identifier for this source within the stage, referenced from a step's setpoints.","type":"string"},"name":{"type":"string"},"formula":{"description":"Chemical formula of the source material, e.g. Al(CH3)3","type":"string"},"purity":{"description":"Purity of the source material.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}},"vendor":{"type":"string"},"_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"]}}}},"required":["id"]}],"properties":{"kind":{"enum":["target"]},"position":{"description":"Gun position in the chamber, e.g. TL or BC in a multi-gun system.","type":"string"},"supply":{"description":"Type of power supply driving the target.","type":"string","enum":["rf","dc","pulsed_dc","hipims"]},"power":{"description":"Forward and reflected power at the target.","type":"object","properties":{"forward":{"type":"object","properties":{"value":{"type":"number"},"units":{"enum":["W","mW","kW"]}}},"reflected":{"type":"object","properties":{"value":{"type":"number"},"units":{"enum":["W","mW","kW"]}}}}},"voltage":{"$schema":"http://json-schema.org/draft-07/schema#","title":"voltage quantity schema","description":"A scalar with voltage units, e.g. a sample bias or drive amplitude. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["V","mV","uV","kV"]}},"required":["value","units"]},"gunAngle":{"description":"Tilt of the gun toward the substrate, which sets the composition gradient in a combinatorial deposition.","type":"number"}},"required":["kind","id"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"precursor source schema","description":"A chemical precursor delivered into the chamber, as used in chemical vapor and atomic layer deposition. The delivery mechanism is what sets the parameters that matter, e.g. a bubbler has a vessel temperature and a carrier flow.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"process source base schema","description":"Fields common to every material source. The identifier is what a step's setpoints point at, so a step can say which source it is pulsing without repeating the source itself.","type":"object","properties":{"id":{"description":"Identifier for this source within the stage, referenced from a step's setpoints.","type":"string"},"name":{"type":"string"},"formula":{"description":"Chemical formula of the source material, e.g. Al(CH3)3","type":"string"},"purity":{"description":"Purity of the source material.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}},"vendor":{"type":"string"},"_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"]}}}},"required":["id"]}],"properties":{"kind":{"enum":["precursor"]},"delivery":{"description":"How the precursor is brought into the chamber.","type":"string","enum":["bubbler","flash_evaporator","mist","direct_liquid_injection","solid_sublimation","gas_cylinder","gas_line"]},"vesselTemperature":{"$schema":"http://json-schema.org/draft-07/schema#","title":"temperature quantity schema","description":"A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["K","degC"],"default":"K"}},"required":["value","units"]},"carrierGasId":{"description":"Identifier of the gas source carrying this precursor.","type":"string"}},"required":["kind","id"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"process gas source schema","description":"A gas fed into the chamber. The role distinguishes a gas that reacts into the film from one that only carries or sputters, which is what decides whether its flow affects stoichiometry.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"process source base schema","description":"Fields common to every material source. The identifier is what a step's setpoints point at, so a step can say which source it is pulsing without repeating the source itself.","type":"object","properties":{"id":{"description":"Identifier for this source within the stage, referenced from a step's setpoints.","type":"string"},"name":{"type":"string"},"formula":{"description":"Chemical formula of the source material, e.g. Al(CH3)3","type":"string"},"purity":{"description":"Purity of the source material.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}},"vendor":{"type":"string"},"_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"]}}}},"required":["id"]}],"properties":{"kind":{"enum":["gas"]},"role":{"description":"What the gas does in the process.","type":"string","enum":["carrier","reactive","purge","sputtering","plasma","background"]},"flowRate":{"description":"Flow rate of the gas.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["sccm","slm"]}}}},"required":["kind","id"]}],"discriminator":{"propertyName":"kind"},"required":["kind"]}},"environment":{"$schema":"http://json-schema.org/draft-07/schema#","title":"environment schema","description":"Ambient or chamber conditions during a measurement or a process step.","type":"object","properties":{"temperature":{"$schema":"http://json-schema.org/draft-07/schema#","title":"temperature quantity schema","description":"A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["K","degC"],"default":"K"}},"required":["value","units"]},"pressure":{"$schema":"http://json-schema.org/draft-07/schema#","title":"pressure quantity schema","description":"A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["kbar","pa","Torr","mTorr","mbar","bar","atm"]}},"required":["value","units"]},"atmosphere":{"description":"Gas or vacuum the sample sits in.","type":"string","enum":["ambient","vacuum","high_vacuum","ultra_high_vacuum","nitrogen","argon","oxygen","forming_gas","liquid","other"]},"humidity":{"description":"Relative humidity, as a percentage.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}}}},"parameters":{"description":"Technique-specific parameters. Unconstrained here, the way a model's parameters are unconstrained until a models_directory entry narrows them; technique blocks such as measurement/parameters/scanning_probe_microscopy describe the expected shape and will be bound per technique by catalogue entries in a later phase.","type":"object"},"steps":{"description":"Ordered steps of the stage, the analogue of a subworkflow's units.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"process step schema","description":"One step of a stage, the analogue of a workflow unit. It composes the workflow unit sequencing mixin unchanged, so a process is walked with the same head, next and flowchartId mechanics as a workflow, and a step carries the unit status vocabulary (idle, active, warning, error, finished) for the same reason a unit inside a job does: run-level states such as draft, planned and cancelled belong to the stage and the process, which compose the activity mixin. repeat is the only place a cycle count lives: an atomic layer deposition of 200 cycles is one step with repeat 200, not a nested list.","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":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}],"properties":{"type":{"description":"What the step does.","type":"string","enum":["setup","pump_down","heat","ramp","hold","pre_sputter","deposition","pulse","purge","plasma","cycle","anneal","cool","vent","transfer","subsample","other"]},"duration":{"$schema":"http://json-schema.org/draft-07/schema#","title":"time quantity schema","description":"A scalar with time units, e.g. a process step duration. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["s","ms","us","ns","min","h"],"default":"s"}},"required":["value","units"]},"repeat":{"description":"Number of times this step is repeated, e.g. the number of atomic layer deposition cycles.","type":"integer","minimum":1,"default":1},"setpoints":{"description":"Values held or targeted during the step.","type":"object","properties":{"temperature":{"$schema":"http://json-schema.org/draft-07/schema#","title":"temperature quantity schema","description":"A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["K","degC"],"default":"K"}},"required":["value","units"]},"pressure":{"$schema":"http://json-schema.org/draft-07/schema#","title":"pressure quantity schema","description":"A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["kbar","pa","Torr","mTorr","mbar","bar","atm"]}},"required":["value","units"]},"sourceId":{"description":"Identifier of the source in the stage's sources list that this step draws on.","type":"string"},"flowRate":{"description":"Gas flow rate held during the step.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["sccm","slm"]}}},"power":{"description":"Power applied during the step, e.g. to a plasma source.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["W","mW","kW"]}}},"substrateRotation":{"description":"Substrate rotation rate held during the step.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["rpm"]}}}}},"logs":{"description":"Quantities logged over time during the step, as plots against a time axis. A measured trace and its setpoint are two series on one plot.","type":"array","items":{"$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"]}}},"required":["type","flowchartId"]}},"duration":{"$schema":"http://json-schema.org/draft-07/schema#","title":"time quantity schema","description":"A scalar with time units, e.g. a process step duration. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["s","ms","us","ns","min","h"],"default":"s"}},"required":["value","units"]},"notes":{"description":"Operator notes, kept verbatim: laboratory records carry context that no schema anticipates.","type":"string"}},"required":["categories","steps"]}},"_inputSamples":{"description":"Subsets of the full information about the samples consumed, e.g. the substrates loaded into the chamber.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sample entity reference schema","description":"Reference to a sample entity, the experimental mirror of system/_material.","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":"Sample class","type":"string","enum":["Sample"]}}}},"_outputSamples":{"description":"Subsets of the full information about the samples produced or modified by the run.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sample entity reference schema","description":"Reference to a sample entity, the experimental mirror of system/_material.","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":"Sample class","type":"string","enum":["Sample"]}}}},"identifiers":{"description":"Identifiers this run carries in other systems, e.g. a lab-system run number.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"identifier schema","description":"An identifier a record carries in a system other than this one, e.g. an HTEM sample id or a lab-system run number. Kept as a scheme and a value rather than a named field per source, so a new source does not need a schema change.","type":"object","properties":{"scheme":{"description":"Namespace the value is unique within.","type":"string","enum":["internal","htem","lmc","igsn","doi","barcode","vendor","other"]},"value":{"description":"The identifier itself.","type":"string"}},"required":["scheme","value"]}},"logFiles":{"description":"Tool logs this record was derived from.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file reference schema","description":"A file kept outside the record: its metadata, the vendor format it is written in, a checksum and where it lives. Unlike system/file_source, which requires the file content as text, this references binary instrument output (an Igor binary wave, a Nanonis scan) without embedding it.","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":{"format":{"description":"Vendor or interchange format the file is written in.","type":"string","enum":["asylum_ibw","nanonis_sxm","nanonis_dat","gwyddion_gwy","bruker_nanoscope","nexus_hdf5","usid_hdf5","hdf5","npy","csv","tsv","xlsx","tiff","png","json","txt","other"]},"size":{"description":"Size of the file in bytes.","type":"integer","minimum":0},"checksum":{"description":"Content hash, so a referenced file can be identified after it moves.","type":"object","properties":{"algorithm":{"type":"string","enum":["md5","sha1","sha256"]},"value":{"type":"string"}},"required":["algorithm","value"]},"url":{"description":"Location the file can be retrieved from.","type":"string"},"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"}}},"role":{"description":"What the file is to the record that references it.","type":"string","enum":["raw","processed","log","image","metadata","other"]}},"required":["basename"]}}},"required":["categories","stages"]},{"$id":"process/source/base","$schema":"http://json-schema.org/draft-07/schema#","title":"process source base schema","description":"Fields common to every material source. The identifier is what a step's setpoints point at, so a step can say which source it is pulsing without repeating the source itself.","type":"object","properties":{"id":{"description":"Identifier for this source within the stage, referenced from a step's setpoints.","type":"string"},"name":{"type":"string"},"formula":{"description":"Chemical formula of the source material, e.g. Al(CH3)3","type":"string"},"purity":{"description":"Purity of the source material.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}},"vendor":{"type":"string"},"_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"]}}}},"required":["id"]},{"$id":"process/source/gas","$schema":"http://json-schema.org/draft-07/schema#","title":"process gas source schema","description":"A gas fed into the chamber. The role distinguishes a gas that reacts into the film from one that only carries or sputters, which is what decides whether its flow affects stoichiometry.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"process source base schema","description":"Fields common to every material source. The identifier is what a step's setpoints point at, so a step can say which source it is pulsing without repeating the source itself.","type":"object","properties":{"id":{"description":"Identifier for this source within the stage, referenced from a step's setpoints.","type":"string"},"name":{"type":"string"},"formula":{"description":"Chemical formula of the source material, e.g. Al(CH3)3","type":"string"},"purity":{"description":"Purity of the source material.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}},"vendor":{"type":"string"},"_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"]}}}},"required":["id"]}],"properties":{"kind":{"enum":["gas"]},"role":{"description":"What the gas does in the process.","type":"string","enum":["carrier","reactive","purge","sputtering","plasma","background"]},"flowRate":{"description":"Flow rate of the gas.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["sccm","slm"]}}}},"required":["kind","id"]},{"$id":"process/source/precursor","$schema":"http://json-schema.org/draft-07/schema#","title":"precursor source schema","description":"A chemical precursor delivered into the chamber, as used in chemical vapor and atomic layer deposition. The delivery mechanism is what sets the parameters that matter, e.g. a bubbler has a vessel temperature and a carrier flow.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"process source base schema","description":"Fields common to every material source. The identifier is what a step's setpoints point at, so a step can say which source it is pulsing without repeating the source itself.","type":"object","properties":{"id":{"description":"Identifier for this source within the stage, referenced from a step's setpoints.","type":"string"},"name":{"type":"string"},"formula":{"description":"Chemical formula of the source material, e.g. Al(CH3)3","type":"string"},"purity":{"description":"Purity of the source material.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}},"vendor":{"type":"string"},"_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"]}}}},"required":["id"]}],"properties":{"kind":{"enum":["precursor"]},"delivery":{"description":"How the precursor is brought into the chamber.","type":"string","enum":["bubbler","flash_evaporator","mist","direct_liquid_injection","solid_sublimation","gas_cylinder","gas_line"]},"vesselTemperature":{"$schema":"http://json-schema.org/draft-07/schema#","title":"temperature quantity schema","description":"A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["K","degC"],"default":"K"}},"required":["value","units"]},"carrierGasId":{"description":"Identifier of the gas source carrying this precursor.","type":"string"}},"required":["kind","id"]},{"$id":"process/source/target","$schema":"http://json-schema.org/draft-07/schema#","title":"sputtering target source schema","description":"A sputtering or ablation target: a solid source driven by a power supply. Forward and reflected power are recorded separately because their difference is what actually reaches the target.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"process source base schema","description":"Fields common to every material source. The identifier is what a step's setpoints point at, so a step can say which source it is pulsing without repeating the source itself.","type":"object","properties":{"id":{"description":"Identifier for this source within the stage, referenced from a step's setpoints.","type":"string"},"name":{"type":"string"},"formula":{"description":"Chemical formula of the source material, e.g. Al(CH3)3","type":"string"},"purity":{"description":"Purity of the source material.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}},"vendor":{"type":"string"},"_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"]}}}},"required":["id"]}],"properties":{"kind":{"enum":["target"]},"position":{"description":"Gun position in the chamber, e.g. TL or BC in a multi-gun system.","type":"string"},"supply":{"description":"Type of power supply driving the target.","type":"string","enum":["rf","dc","pulsed_dc","hipims"]},"power":{"description":"Forward and reflected power at the target.","type":"object","properties":{"forward":{"type":"object","properties":{"value":{"type":"number"},"units":{"enum":["W","mW","kW"]}}},"reflected":{"type":"object","properties":{"value":{"type":"number"},"units":{"enum":["W","mW","kW"]}}}}},"voltage":{"$schema":"http://json-schema.org/draft-07/schema#","title":"voltage quantity schema","description":"A scalar with voltage units, e.g. a sample bias or drive amplitude. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["V","mV","uV","kV"]}},"required":["value","units"]},"gunAngle":{"description":"Tilt of the gun toward the substrate, which sets the composition gradient in a combinatorial deposition.","type":"number"}},"required":["kind","id"]},{"$id":"process/source","$schema":"http://json-schema.org/draft-07/schema#","title":"process source schema","description":"A material source a deposition draws on. Discriminated on kind, the way a workflow unit is discriminated on type: a sputtering target, a chemical precursor and a process gas are described by different fields.","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"sputtering target source schema","description":"A sputtering or ablation target: a solid source driven by a power supply. Forward and reflected power are recorded separately because their difference is what actually reaches the target.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"process source base schema","description":"Fields common to every material source. The identifier is what a step's setpoints point at, so a step can say which source it is pulsing without repeating the source itself.","type":"object","properties":{"id":{"description":"Identifier for this source within the stage, referenced from a step's setpoints.","type":"string"},"name":{"type":"string"},"formula":{"description":"Chemical formula of the source material, e.g. Al(CH3)3","type":"string"},"purity":{"description":"Purity of the source material.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}},"vendor":{"type":"string"},"_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"]}}}},"required":["id"]}],"properties":{"kind":{"enum":["target"]},"position":{"description":"Gun position in the chamber, e.g. TL or BC in a multi-gun system.","type":"string"},"supply":{"description":"Type of power supply driving the target.","type":"string","enum":["rf","dc","pulsed_dc","hipims"]},"power":{"description":"Forward and reflected power at the target.","type":"object","properties":{"forward":{"type":"object","properties":{"value":{"type":"number"},"units":{"enum":["W","mW","kW"]}}},"reflected":{"type":"object","properties":{"value":{"type":"number"},"units":{"enum":["W","mW","kW"]}}}}},"voltage":{"$schema":"http://json-schema.org/draft-07/schema#","title":"voltage quantity schema","description":"A scalar with voltage units, e.g. a sample bias or drive amplitude. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["V","mV","uV","kV"]}},"required":["value","units"]},"gunAngle":{"description":"Tilt of the gun toward the substrate, which sets the composition gradient in a combinatorial deposition.","type":"number"}},"required":["kind","id"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"precursor source schema","description":"A chemical precursor delivered into the chamber, as used in chemical vapor and atomic layer deposition. The delivery mechanism is what sets the parameters that matter, e.g. a bubbler has a vessel temperature and a carrier flow.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"process source base schema","description":"Fields common to every material source. The identifier is what a step's setpoints point at, so a step can say which source it is pulsing without repeating the source itself.","type":"object","properties":{"id":{"description":"Identifier for this source within the stage, referenced from a step's setpoints.","type":"string"},"name":{"type":"string"},"formula":{"description":"Chemical formula of the source material, e.g. Al(CH3)3","type":"string"},"purity":{"description":"Purity of the source material.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}},"vendor":{"type":"string"},"_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"]}}}},"required":["id"]}],"properties":{"kind":{"enum":["precursor"]},"delivery":{"description":"How the precursor is brought into the chamber.","type":"string","enum":["bubbler","flash_evaporator","mist","direct_liquid_injection","solid_sublimation","gas_cylinder","gas_line"]},"vesselTemperature":{"$schema":"http://json-schema.org/draft-07/schema#","title":"temperature quantity schema","description":"A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["K","degC"],"default":"K"}},"required":["value","units"]},"carrierGasId":{"description":"Identifier of the gas source carrying this precursor.","type":"string"}},"required":["kind","id"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"process gas source schema","description":"A gas fed into the chamber. The role distinguishes a gas that reacts into the film from one that only carries or sputters, which is what decides whether its flow affects stoichiometry.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"process source base schema","description":"Fields common to every material source. The identifier is what a step's setpoints point at, so a step can say which source it is pulsing without repeating the source itself.","type":"object","properties":{"id":{"description":"Identifier for this source within the stage, referenced from a step's setpoints.","type":"string"},"name":{"type":"string"},"formula":{"description":"Chemical formula of the source material, e.g. Al(CH3)3","type":"string"},"purity":{"description":"Purity of the source material.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}},"vendor":{"type":"string"},"_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"]}}}},"required":["id"]}],"properties":{"kind":{"enum":["gas"]},"role":{"description":"What the gas does in the process.","type":"string","enum":["carrier","reactive","purge","sputtering","plasma","background"]},"flowRate":{"description":"Flow rate of the gas.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["sccm","slm"]}}}},"required":["kind","id"]}],"discriminator":{"propertyName":"kind"},"required":["kind"]},{"$id":"process/stage","$schema":"http://json-schema.org/draft-07/schema#","title":"process stage schema","description":"One stage of a process, the analogue of a subworkflow: it binds a technique and an instrument to an ordered list of steps, and names the material sources those steps draw on. Deposition then anneal is two stages, because they run on different instruments. Status and timing come from the activity mixin so a stage and its process share one vocabulary.","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":"Instrument Property Schema","description":"Behaviour of a record that was produced on an instrument, mirroring job/compute_property. Defined once so a measurement and a process stage say 'has an instrument' the same way. Not required, because records imported from an external database may not name the instrument.","type":"object","properties":{"instrument":{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument schema","description":"A physical apparatus used to measure or fabricate a sample: a microscope, a deposition chamber, a furnace. The experimental mirror of software/application, composed the same way, because what an application is to a job an instrument is to a measurement.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument properties schema","description":"Domain-specific fields of an instrument entity, mirroring software/application_properties: shortName and summary carry over unchanged; version becomes firmware and build becomes serialNumber, because those are what identify a physical unit; vendor, model, techniques, components and location are what an apparatus adds over a program. None of them is required: an instrument is identified by the name it inherits from the entity mixin, and a laboratory record often names a chamber only by the short name its operators use, with the vendor and model known separately or not at all.","type":"object","properties":{"shortName":{"description":"The short name of the instrument, e.g. jupiter, pdac_com5","type":"string"},"summary":{"description":"Instrument's short description.","type":"string"},"vendor":{"description":"Manufacturer of the instrument, e.g. Asylum Research","type":"string"},"model":{"description":"Model name, e.g. Jupiter","type":"string"},"serialNumber":{"description":"Vendor serial number identifying this particular unit.","type":"string"},"firmware":{"description":"Controller or acquisition-software version, the analogue of an application version, e.g. 19.34.88","type":"string"},"techniques":{"description":"Techniques this instrument can perform.","type":"array","items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"characterization technique category schema","description":"Techniques that measure a sample without intending to change it: microscopy, spectroscopy, diffraction, electrical and optical. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["characterization"]},"tier3":{"enum":["microscopy","spectroscopy","diffraction","electrical","optical"]},"type":{"enum":["scanning_probe_microscopy","electron_microscopy","x_ray","transport","dielectric","ultraviolet_visible_near_infrared"]},"subtype":{"enum":["atomic_force_microscopy","scanning_tunneling_microscopy","scanning_tunneling_spectroscopy","piezoresponse_force_microscopy","kelvin_probe_force_microscopy","conductive_atomic_force_microscopy","magnetic_force_microscopy"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"synthesis technique category schema","description":"Techniques that create or modify a sample: vapor deposition, solution processing, bulk growth and post-processing such as annealing. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["synthesis"]},"tier3":{"enum":["vapor_deposition","solution_processing","bulk_growth","post_processing"]},"type":{"enum":["physical_vapor_deposition","chemical_vapor_deposition","annealing"]},"subtype":{"enum":["pulsed_laser_deposition","sputtering","molecular_beam_epitaxy","thermal_evaporation","electron_beam_evaporation","atomic_layer_deposition","plasma_enhanced_atomic_layer_deposition","thermal_chemical_vapor_deposition","metalorganic_chemical_vapor_deposition","plasma_enhanced_chemical_vapor_deposition"]}}}]}},"components":{"description":"Parts of the instrument that matter to a result, e.g. the probe a scan was taken with or the source a film was grown from.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument component schema","description":"A part of an instrument that is worth recording per result, such as the cantilever a scan was taken with or the target a film was sputtered from. Parameters are left open because what matters differs by kind: a cantilever has a spring constant, a laser has a wavelength.","type":"object","properties":{"kind":{"type":"string","enum":["probe","cantilever","scanner","laser","detector","lock_in_amplifier","controller","heater","cryostat","chamber","stage","evaporation_source","target_holder","gas_line","mass_flow_controller","pump","gauge","other"]},"name":{"type":"string"},"vendor":{"type":"string"},"model":{"type":"string"},"serialNumber":{"type":"string"},"parameters":{"description":"Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever.","type":"object","additionalProperties":true}},"required":["kind","name"]}},"controlSoftware":{"description":"Software driving the instrument, reusing the application entity rather than restating a name and a version.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}},"location":{"description":"Where the instrument is, which for a multi-institution project is part of the provenance.","type":"object","properties":{"facility":{"type":"string"},"laboratory":{"type":"string"},"room":{"type":"string"}}}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"activity schema","description":"Behaviour of a record of something that was done: its status, when it started and ended, who ran it and which project it belongs to. Measurement and process both compose this, so the two cannot drift apart the way two hand-maintained status lists would.","type":"object","properties":{"status":{"description":"Lifecycle state. 'draft' marks a recipe or protocol that has not been executed.","type":"string","enum":["draft","planned","active","finished","error","cancelled"]},"startTime":{"description":"When the activity started, as an ISO 8601 timestamp. A string rather than an epoch number so it stays readable without a converter, matching job.startTime.","type":"string","format":"date-time"},"endTime":{"description":"When the activity finished, as an ISO 8601 timestamp.","type":"string","format":"date-time"},"operators":{"description":"People who ran the activity. A name and an optional affiliation rather than the bibliographic author shape used for citations: a laboratory record identifies an operator by whatever the instrument logged, often a single username, and a citation's requirement of a surname does not hold there.","type":"array","items":{"type":"object","properties":{"name":{"description":"Operator's name as recorded, e.g. a username.","type":"string"},"affiliation":{"description":"Institution the operator belongs to.","type":"string"},"_account":{"$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":["name"]}},"_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"]}}}],"properties":{"index":{"description":"Order of the stage within the process, starting at 1.","type":"integer","minimum":1},"categories":{"description":"Technique this stage applies.","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"synthesis technique category schema","description":"Techniques that create or modify a sample: vapor deposition, solution processing, bulk growth and post-processing such as annealing. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["synthesis"]},"tier3":{"enum":["vapor_deposition","solution_processing","bulk_growth","post_processing"]},"type":{"enum":["physical_vapor_deposition","chemical_vapor_deposition","annealing"]},"subtype":{"enum":["pulsed_laser_deposition","sputtering","molecular_beam_epitaxy","thermal_evaporation","electron_beam_evaporation","atomic_layer_deposition","plasma_enhanced_atomic_layer_deposition","thermal_chemical_vapor_deposition","metalorganic_chemical_vapor_deposition","plasma_enhanced_chemical_vapor_deposition"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"characterization technique category schema","description":"Techniques that measure a sample without intending to change it: microscopy, spectroscopy, diffraction, electrical and optical. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["characterization"]},"tier3":{"enum":["microscopy","spectroscopy","diffraction","electrical","optical"]},"type":{"enum":["scanning_probe_microscopy","electron_microscopy","x_ray","transport","dielectric","ultraviolet_visible_near_infrared"]},"subtype":{"enum":["atomic_force_microscopy","scanning_tunneling_microscopy","scanning_tunneling_spectroscopy","piezoresponse_force_microscopy","kelvin_probe_force_microscopy","conductive_atomic_force_microscopy","magnetic_force_microscopy"]}}}]},"sources":{"description":"Material sources available to the steps of this stage: sputtering targets, precursors, process gases.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"process source schema","description":"A material source a deposition draws on. Discriminated on kind, the way a workflow unit is discriminated on type: a sputtering target, a chemical precursor and a process gas are described by different fields.","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"sputtering target source schema","description":"A sputtering or ablation target: a solid source driven by a power supply. Forward and reflected power are recorded separately because their difference is what actually reaches the target.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"process source base schema","description":"Fields common to every material source. The identifier is what a step's setpoints point at, so a step can say which source it is pulsing without repeating the source itself.","type":"object","properties":{"id":{"description":"Identifier for this source within the stage, referenced from a step's setpoints.","type":"string"},"name":{"type":"string"},"formula":{"description":"Chemical formula of the source material, e.g. Al(CH3)3","type":"string"},"purity":{"description":"Purity of the source material.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}},"vendor":{"type":"string"},"_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"]}}}},"required":["id"]}],"properties":{"kind":{"enum":["target"]},"position":{"description":"Gun position in the chamber, e.g. TL or BC in a multi-gun system.","type":"string"},"supply":{"description":"Type of power supply driving the target.","type":"string","enum":["rf","dc","pulsed_dc","hipims"]},"power":{"description":"Forward and reflected power at the target.","type":"object","properties":{"forward":{"type":"object","properties":{"value":{"type":"number"},"units":{"enum":["W","mW","kW"]}}},"reflected":{"type":"object","properties":{"value":{"type":"number"},"units":{"enum":["W","mW","kW"]}}}}},"voltage":{"$schema":"http://json-schema.org/draft-07/schema#","title":"voltage quantity schema","description":"A scalar with voltage units, e.g. a sample bias or drive amplitude. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["V","mV","uV","kV"]}},"required":["value","units"]},"gunAngle":{"description":"Tilt of the gun toward the substrate, which sets the composition gradient in a combinatorial deposition.","type":"number"}},"required":["kind","id"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"precursor source schema","description":"A chemical precursor delivered into the chamber, as used in chemical vapor and atomic layer deposition. The delivery mechanism is what sets the parameters that matter, e.g. a bubbler has a vessel temperature and a carrier flow.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"process source base schema","description":"Fields common to every material source. The identifier is what a step's setpoints point at, so a step can say which source it is pulsing without repeating the source itself.","type":"object","properties":{"id":{"description":"Identifier for this source within the stage, referenced from a step's setpoints.","type":"string"},"name":{"type":"string"},"formula":{"description":"Chemical formula of the source material, e.g. Al(CH3)3","type":"string"},"purity":{"description":"Purity of the source material.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}},"vendor":{"type":"string"},"_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"]}}}},"required":["id"]}],"properties":{"kind":{"enum":["precursor"]},"delivery":{"description":"How the precursor is brought into the chamber.","type":"string","enum":["bubbler","flash_evaporator","mist","direct_liquid_injection","solid_sublimation","gas_cylinder","gas_line"]},"vesselTemperature":{"$schema":"http://json-schema.org/draft-07/schema#","title":"temperature quantity schema","description":"A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["K","degC"],"default":"K"}},"required":["value","units"]},"carrierGasId":{"description":"Identifier of the gas source carrying this precursor.","type":"string"}},"required":["kind","id"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"process gas source schema","description":"A gas fed into the chamber. The role distinguishes a gas that reacts into the film from one that only carries or sputters, which is what decides whether its flow affects stoichiometry.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"process source base schema","description":"Fields common to every material source. The identifier is what a step's setpoints point at, so a step can say which source it is pulsing without repeating the source itself.","type":"object","properties":{"id":{"description":"Identifier for this source within the stage, referenced from a step's setpoints.","type":"string"},"name":{"type":"string"},"formula":{"description":"Chemical formula of the source material, e.g. Al(CH3)3","type":"string"},"purity":{"description":"Purity of the source material.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}},"vendor":{"type":"string"},"_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"]}}}},"required":["id"]}],"properties":{"kind":{"enum":["gas"]},"role":{"description":"What the gas does in the process.","type":"string","enum":["carrier","reactive","purge","sputtering","plasma","background"]},"flowRate":{"description":"Flow rate of the gas.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["sccm","slm"]}}}},"required":["kind","id"]}],"discriminator":{"propertyName":"kind"},"required":["kind"]}},"environment":{"$schema":"http://json-schema.org/draft-07/schema#","title":"environment schema","description":"Ambient or chamber conditions during a measurement or a process step.","type":"object","properties":{"temperature":{"$schema":"http://json-schema.org/draft-07/schema#","title":"temperature quantity schema","description":"A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["K","degC"],"default":"K"}},"required":["value","units"]},"pressure":{"$schema":"http://json-schema.org/draft-07/schema#","title":"pressure quantity schema","description":"A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["kbar","pa","Torr","mTorr","mbar","bar","atm"]}},"required":["value","units"]},"atmosphere":{"description":"Gas or vacuum the sample sits in.","type":"string","enum":["ambient","vacuum","high_vacuum","ultra_high_vacuum","nitrogen","argon","oxygen","forming_gas","liquid","other"]},"humidity":{"description":"Relative humidity, as a percentage.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}}}},"parameters":{"description":"Technique-specific parameters. Unconstrained here, the way a model's parameters are unconstrained until a models_directory entry narrows them; technique blocks such as measurement/parameters/scanning_probe_microscopy describe the expected shape and will be bound per technique by catalogue entries in a later phase.","type":"object"},"steps":{"description":"Ordered steps of the stage, the analogue of a subworkflow's units.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"process step schema","description":"One step of a stage, the analogue of a workflow unit. It composes the workflow unit sequencing mixin unchanged, so a process is walked with the same head, next and flowchartId mechanics as a workflow, and a step carries the unit status vocabulary (idle, active, warning, error, finished) for the same reason a unit inside a job does: run-level states such as draft, planned and cancelled belong to the stage and the process, which compose the activity mixin. repeat is the only place a cycle count lives: an atomic layer deposition of 200 cycles is one step with repeat 200, not a nested list.","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":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}],"properties":{"type":{"description":"What the step does.","type":"string","enum":["setup","pump_down","heat","ramp","hold","pre_sputter","deposition","pulse","purge","plasma","cycle","anneal","cool","vent","transfer","subsample","other"]},"duration":{"$schema":"http://json-schema.org/draft-07/schema#","title":"time quantity schema","description":"A scalar with time units, e.g. a process step duration. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["s","ms","us","ns","min","h"],"default":"s"}},"required":["value","units"]},"repeat":{"description":"Number of times this step is repeated, e.g. the number of atomic layer deposition cycles.","type":"integer","minimum":1,"default":1},"setpoints":{"description":"Values held or targeted during the step.","type":"object","properties":{"temperature":{"$schema":"http://json-schema.org/draft-07/schema#","title":"temperature quantity schema","description":"A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["K","degC"],"default":"K"}},"required":["value","units"]},"pressure":{"$schema":"http://json-schema.org/draft-07/schema#","title":"pressure quantity schema","description":"A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["kbar","pa","Torr","mTorr","mbar","bar","atm"]}},"required":["value","units"]},"sourceId":{"description":"Identifier of the source in the stage's sources list that this step draws on.","type":"string"},"flowRate":{"description":"Gas flow rate held during the step.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["sccm","slm"]}}},"power":{"description":"Power applied during the step, e.g. to a plasma source.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["W","mW","kW"]}}},"substrateRotation":{"description":"Substrate rotation rate held during the step.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["rpm"]}}}}},"logs":{"description":"Quantities logged over time during the step, as plots against a time axis. A measured trace and its setpoint are two series on one plot.","type":"array","items":{"$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"]}}},"required":["type","flowchartId"]}},"duration":{"$schema":"http://json-schema.org/draft-07/schema#","title":"time quantity schema","description":"A scalar with time units, e.g. a process step duration. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["s","ms","us","ns","min","h"],"default":"s"}},"required":["value","units"]},"notes":{"description":"Operator notes, kept verbatim: laboratory records carry context that no schema anticipates.","type":"string"}},"required":["categories","steps"]},{"$id":"process/step","$schema":"http://json-schema.org/draft-07/schema#","title":"process step schema","description":"One step of a stage, the analogue of a workflow unit. It composes the workflow unit sequencing mixin unchanged, so a process is walked with the same head, next and flowchartId mechanics as a workflow, and a step carries the unit status vocabulary (idle, active, warning, error, finished) for the same reason a unit inside a job does: run-level states such as draft, planned and cancelled belong to the stage and the process, which compose the activity mixin. repeat is the only place a cycle count lives: an atomic layer deposition of 200 cycles is one step with repeat 200, not a nested list.","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":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}],"properties":{"type":{"description":"What the step does.","type":"string","enum":["setup","pump_down","heat","ramp","hold","pre_sputter","deposition","pulse","purge","plasma","cycle","anneal","cool","vent","transfer","subsample","other"]},"duration":{"$schema":"http://json-schema.org/draft-07/schema#","title":"time quantity schema","description":"A scalar with time units, e.g. a process step duration. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["s","ms","us","ns","min","h"],"default":"s"}},"required":["value","units"]},"repeat":{"description":"Number of times this step is repeated, e.g. the number of atomic layer deposition cycles.","type":"integer","minimum":1,"default":1},"setpoints":{"description":"Values held or targeted during the step.","type":"object","properties":{"temperature":{"$schema":"http://json-schema.org/draft-07/schema#","title":"temperature quantity schema","description":"A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["K","degC"],"default":"K"}},"required":["value","units"]},"pressure":{"$schema":"http://json-schema.org/draft-07/schema#","title":"pressure quantity schema","description":"A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["kbar","pa","Torr","mTorr","mbar","bar","atm"]}},"required":["value","units"]},"sourceId":{"description":"Identifier of the source in the stage's sources list that this step draws on.","type":"string"},"flowRate":{"description":"Gas flow rate held during the step.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["sccm","slm"]}}},"power":{"description":"Power applied during the step, e.g. to a plasma source.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["W","mW","kW"]}}},"substrateRotation":{"description":"Substrate rotation rate held during the step.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["rpm"]}}}}},"logs":{"description":"Quantities logged over time during the step, as plots against a time axis. A measured trace and its setpoint are two series on one plot.","type":"array","items":{"$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"]}}},"required":["type","flowchartId"]},{"$id":"process","$schema":"http://json-schema.org/draft-07/schema#","title":"process schema","description":"A synthesis or fabrication run and the recipe it followed: a deposition, an anneal, a sequence of both. The experimental mirror of workflow, composed the same way, with stages in place of subworkflows and steps in place of units. One record covers both recipe and run, as a workflow embedded in a job does: a recipe has status draft and no start time, an executed run carries per-step status and logs.","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":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"base process schema","description":"Mirror of workflow/base: properties (the names of what the run yields) carries over; units become steps grouped into stages; the application a workflow names becomes the instrument each stage runs on; the samples consumed and produced are what a physical process adds.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"activity schema","description":"Behaviour of a record of something that was done: its status, when it started and ended, who ran it and which project it belongs to. Measurement and process both compose this, so the two cannot drift apart the way two hand-maintained status lists would.","type":"object","properties":{"status":{"description":"Lifecycle state. 'draft' marks a recipe or protocol that has not been executed.","type":"string","enum":["draft","planned","active","finished","error","cancelled"]},"startTime":{"description":"When the activity started, as an ISO 8601 timestamp. A string rather than an epoch number so it stays readable without a converter, matching job.startTime.","type":"string","format":"date-time"},"endTime":{"description":"When the activity finished, as an ISO 8601 timestamp.","type":"string","format":"date-time"},"operators":{"description":"People who ran the activity. A name and an optional affiliation rather than the bibliographic author shape used for citations: a laboratory record identifies an operator by whatever the instrument logged, often a single username, and a citation's requirement of a surname does not hold there.","type":"array","items":{"type":"object","properties":{"name":{"description":"Operator's name as recorded, e.g. a username.","type":"string"},"affiliation":{"description":"Institution the operator belongs to.","type":"string"},"_account":{"$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":["name"]}},"_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"]}}}],"properties":{"categories":{"description":"Technique this process applies. A measurement protocol is a process with characterization categories, which is why both branches are allowed; anyOf rather than oneOf because a record classified only to tier1 satisfies both and must not be rejected as ambiguous.","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"synthesis technique category schema","description":"Techniques that create or modify a sample: vapor deposition, solution processing, bulk growth and post-processing such as annealing. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["synthesis"]},"tier3":{"enum":["vapor_deposition","solution_processing","bulk_growth","post_processing"]},"type":{"enum":["physical_vapor_deposition","chemical_vapor_deposition","annealing"]},"subtype":{"enum":["pulsed_laser_deposition","sputtering","molecular_beam_epitaxy","thermal_evaporation","electron_beam_evaporation","atomic_layer_deposition","plasma_enhanced_atomic_layer_deposition","thermal_chemical_vapor_deposition","metalorganic_chemical_vapor_deposition","plasma_enhanced_chemical_vapor_deposition"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"characterization technique category schema","description":"Techniques that measure a sample without intending to change it: microscopy, spectroscopy, diffraction, electrical and optical. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["characterization"]},"tier3":{"enum":["microscopy","spectroscopy","diffraction","electrical","optical"]},"type":{"enum":["scanning_probe_microscopy","electron_microscopy","x_ray","transport","dielectric","ultraviolet_visible_near_infrared"]},"subtype":{"enum":["atomic_force_microscopy","scanning_tunneling_microscopy","scanning_tunneling_spectroscopy","piezoresponse_force_microscopy","kelvin_probe_force_microscopy","conductive_atomic_force_microscopy","magnetic_force_microscopy"]}}}]},"properties":{"description":"Array of characteristic properties produced by this process, by name, e.g. film_thickness","type":"array","items":{"type":"string"}},"stages":{"description":"Ordered stages, the analogue of workflow.subworkflows. A stage is the level that binds a technique and an instrument, because a run can move between chambers.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"process stage schema","description":"One stage of a process, the analogue of a subworkflow: it binds a technique and an instrument to an ordered list of steps, and names the material sources those steps draw on. Deposition then anneal is two stages, because they run on different instruments. Status and timing come from the activity mixin so a stage and its process share one vocabulary.","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":"Instrument Property Schema","description":"Behaviour of a record that was produced on an instrument, mirroring job/compute_property. Defined once so a measurement and a process stage say 'has an instrument' the same way. Not required, because records imported from an external database may not name the instrument.","type":"object","properties":{"instrument":{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument schema","description":"A physical apparatus used to measure or fabricate a sample: a microscope, a deposition chamber, a furnace. The experimental mirror of software/application, composed the same way, because what an application is to a job an instrument is to a measurement.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument properties schema","description":"Domain-specific fields of an instrument entity, mirroring software/application_properties: shortName and summary carry over unchanged; version becomes firmware and build becomes serialNumber, because those are what identify a physical unit; vendor, model, techniques, components and location are what an apparatus adds over a program. None of them is required: an instrument is identified by the name it inherits from the entity mixin, and a laboratory record often names a chamber only by the short name its operators use, with the vendor and model known separately or not at all.","type":"object","properties":{"shortName":{"description":"The short name of the instrument, e.g. jupiter, pdac_com5","type":"string"},"summary":{"description":"Instrument's short description.","type":"string"},"vendor":{"description":"Manufacturer of the instrument, e.g. Asylum Research","type":"string"},"model":{"description":"Model name, e.g. Jupiter","type":"string"},"serialNumber":{"description":"Vendor serial number identifying this particular unit.","type":"string"},"firmware":{"description":"Controller or acquisition-software version, the analogue of an application version, e.g. 19.34.88","type":"string"},"techniques":{"description":"Techniques this instrument can perform.","type":"array","items":{"anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"characterization technique category schema","description":"Techniques that measure a sample without intending to change it: microscopy, spectroscopy, diffraction, electrical and optical. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["characterization"]},"tier3":{"enum":["microscopy","spectroscopy","diffraction","electrical","optical"]},"type":{"enum":["scanning_probe_microscopy","electron_microscopy","x_ray","transport","dielectric","ultraviolet_visible_near_infrared"]},"subtype":{"enum":["atomic_force_microscopy","scanning_tunneling_microscopy","scanning_tunneling_spectroscopy","piezoresponse_force_microscopy","kelvin_probe_force_microscopy","conductive_atomic_force_microscopy","magnetic_force_microscopy"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"synthesis technique category schema","description":"Techniques that create or modify a sample: vapor deposition, solution processing, bulk growth and post-processing such as annealing. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["synthesis"]},"tier3":{"enum":["vapor_deposition","solution_processing","bulk_growth","post_processing"]},"type":{"enum":["physical_vapor_deposition","chemical_vapor_deposition","annealing"]},"subtype":{"enum":["pulsed_laser_deposition","sputtering","molecular_beam_epitaxy","thermal_evaporation","electron_beam_evaporation","atomic_layer_deposition","plasma_enhanced_atomic_layer_deposition","thermal_chemical_vapor_deposition","metalorganic_chemical_vapor_deposition","plasma_enhanced_chemical_vapor_deposition"]}}}]}},"components":{"description":"Parts of the instrument that matter to a result, e.g. the probe a scan was taken with or the source a film was grown from.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"instrument component schema","description":"A part of an instrument that is worth recording per result, such as the cantilever a scan was taken with or the target a film was sputtered from. Parameters are left open because what matters differs by kind: a cantilever has a spring constant, a laser has a wavelength.","type":"object","properties":{"kind":{"type":"string","enum":["probe","cantilever","scanner","laser","detector","lock_in_amplifier","controller","heater","cryostat","chamber","stage","evaporation_source","target_holder","gas_line","mass_flow_controller","pump","gauge","other"]},"name":{"type":"string"},"vendor":{"type":"string"},"model":{"type":"string"},"serialNumber":{"type":"string"},"parameters":{"description":"Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever.","type":"object","additionalProperties":true}},"required":["kind","name"]}},"controlSoftware":{"description":"Software driving the instrument, reusing the application entity rather than restating a name and a version.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}},"location":{"description":"Where the instrument is, which for a multi-institution project is part of the provenance.","type":"object","properties":{"facility":{"type":"string"},"laboratory":{"type":"string"},"room":{"type":"string"}}}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"activity schema","description":"Behaviour of a record of something that was done: its status, when it started and ended, who ran it and which project it belongs to. Measurement and process both compose this, so the two cannot drift apart the way two hand-maintained status lists would.","type":"object","properties":{"status":{"description":"Lifecycle state. 'draft' marks a recipe or protocol that has not been executed.","type":"string","enum":["draft","planned","active","finished","error","cancelled"]},"startTime":{"description":"When the activity started, as an ISO 8601 timestamp. A string rather than an epoch number so it stays readable without a converter, matching job.startTime.","type":"string","format":"date-time"},"endTime":{"description":"When the activity finished, as an ISO 8601 timestamp.","type":"string","format":"date-time"},"operators":{"description":"People who ran the activity. A name and an optional affiliation rather than the bibliographic author shape used for citations: a laboratory record identifies an operator by whatever the instrument logged, often a single username, and a citation's requirement of a surname does not hold there.","type":"array","items":{"type":"object","properties":{"name":{"description":"Operator's name as recorded, e.g. a username.","type":"string"},"affiliation":{"description":"Institution the operator belongs to.","type":"string"},"_account":{"$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":["name"]}},"_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"]}}}],"properties":{"index":{"description":"Order of the stage within the process, starting at 1.","type":"integer","minimum":1},"categories":{"description":"Technique this stage applies.","anyOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"synthesis technique category schema","description":"Techniques that create or modify a sample: vapor deposition, solution processing, bulk growth and post-processing such as annealing. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["synthesis"]},"tier3":{"enum":["vapor_deposition","solution_processing","bulk_growth","post_processing"]},"type":{"enum":["physical_vapor_deposition","chemical_vapor_deposition","annealing"]},"subtype":{"enum":["pulsed_laser_deposition","sputtering","molecular_beam_epitaxy","thermal_evaporation","electron_beam_evaporation","atomic_layer_deposition","plasma_enhanced_atomic_layer_deposition","thermal_chemical_vapor_deposition","metalorganic_chemical_vapor_deposition","plasma_enhanced_chemical_vapor_deposition"]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"characterization technique category schema","description":"Techniques that measure a sample without intending to change it: microscopy, spectroscopy, diffraction, electrical and optical. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["characterization"]},"tier3":{"enum":["microscopy","spectroscopy","diffraction","electrical","optical"]},"type":{"enum":["scanning_probe_microscopy","electron_microscopy","x_ray","transport","dielectric","ultraviolet_visible_near_infrared"]},"subtype":{"enum":["atomic_force_microscopy","scanning_tunneling_microscopy","scanning_tunneling_spectroscopy","piezoresponse_force_microscopy","kelvin_probe_force_microscopy","conductive_atomic_force_microscopy","magnetic_force_microscopy"]}}}]},"sources":{"description":"Material sources available to the steps of this stage: sputtering targets, precursors, process gases.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"process source schema","description":"A material source a deposition draws on. Discriminated on kind, the way a workflow unit is discriminated on type: a sputtering target, a chemical precursor and a process gas are described by different fields.","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"sputtering target source schema","description":"A sputtering or ablation target: a solid source driven by a power supply. Forward and reflected power are recorded separately because their difference is what actually reaches the target.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"process source base schema","description":"Fields common to every material source. The identifier is what a step's setpoints point at, so a step can say which source it is pulsing without repeating the source itself.","type":"object","properties":{"id":{"description":"Identifier for this source within the stage, referenced from a step's setpoints.","type":"string"},"name":{"type":"string"},"formula":{"description":"Chemical formula of the source material, e.g. Al(CH3)3","type":"string"},"purity":{"description":"Purity of the source material.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}},"vendor":{"type":"string"},"_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"]}}}},"required":["id"]}],"properties":{"kind":{"enum":["target"]},"position":{"description":"Gun position in the chamber, e.g. TL or BC in a multi-gun system.","type":"string"},"supply":{"description":"Type of power supply driving the target.","type":"string","enum":["rf","dc","pulsed_dc","hipims"]},"power":{"description":"Forward and reflected power at the target.","type":"object","properties":{"forward":{"type":"object","properties":{"value":{"type":"number"},"units":{"enum":["W","mW","kW"]}}},"reflected":{"type":"object","properties":{"value":{"type":"number"},"units":{"enum":["W","mW","kW"]}}}}},"voltage":{"$schema":"http://json-schema.org/draft-07/schema#","title":"voltage quantity schema","description":"A scalar with voltage units, e.g. a sample bias or drive amplitude. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["V","mV","uV","kV"]}},"required":["value","units"]},"gunAngle":{"description":"Tilt of the gun toward the substrate, which sets the composition gradient in a combinatorial deposition.","type":"number"}},"required":["kind","id"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"precursor source schema","description":"A chemical precursor delivered into the chamber, as used in chemical vapor and atomic layer deposition. The delivery mechanism is what sets the parameters that matter, e.g. a bubbler has a vessel temperature and a carrier flow.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"process source base schema","description":"Fields common to every material source. The identifier is what a step's setpoints point at, so a step can say which source it is pulsing without repeating the source itself.","type":"object","properties":{"id":{"description":"Identifier for this source within the stage, referenced from a step's setpoints.","type":"string"},"name":{"type":"string"},"formula":{"description":"Chemical formula of the source material, e.g. Al(CH3)3","type":"string"},"purity":{"description":"Purity of the source material.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}},"vendor":{"type":"string"},"_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"]}}}},"required":["id"]}],"properties":{"kind":{"enum":["precursor"]},"delivery":{"description":"How the precursor is brought into the chamber.","type":"string","enum":["bubbler","flash_evaporator","mist","direct_liquid_injection","solid_sublimation","gas_cylinder","gas_line"]},"vesselTemperature":{"$schema":"http://json-schema.org/draft-07/schema#","title":"temperature quantity schema","description":"A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["K","degC"],"default":"K"}},"required":["value","units"]},"carrierGasId":{"description":"Identifier of the gas source carrying this precursor.","type":"string"}},"required":["kind","id"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"process gas source schema","description":"A gas fed into the chamber. The role distinguishes a gas that reacts into the film from one that only carries or sputters, which is what decides whether its flow affects stoichiometry.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"process source base schema","description":"Fields common to every material source. The identifier is what a step's setpoints point at, so a step can say which source it is pulsing without repeating the source itself.","type":"object","properties":{"id":{"description":"Identifier for this source within the stage, referenced from a step's setpoints.","type":"string"},"name":{"type":"string"},"formula":{"description":"Chemical formula of the source material, e.g. Al(CH3)3","type":"string"},"purity":{"description":"Purity of the source material.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}},"vendor":{"type":"string"},"_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"]}}}},"required":["id"]}],"properties":{"kind":{"enum":["gas"]},"role":{"description":"What the gas does in the process.","type":"string","enum":["carrier","reactive","purge","sputtering","plasma","background"]},"flowRate":{"description":"Flow rate of the gas.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["sccm","slm"]}}}},"required":["kind","id"]}],"discriminator":{"propertyName":"kind"},"required":["kind"]}},"environment":{"$schema":"http://json-schema.org/draft-07/schema#","title":"environment schema","description":"Ambient or chamber conditions during a measurement or a process step.","type":"object","properties":{"temperature":{"$schema":"http://json-schema.org/draft-07/schema#","title":"temperature quantity schema","description":"A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["K","degC"],"default":"K"}},"required":["value","units"]},"pressure":{"$schema":"http://json-schema.org/draft-07/schema#","title":"pressure quantity schema","description":"A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["kbar","pa","Torr","mTorr","mbar","bar","atm"]}},"required":["value","units"]},"atmosphere":{"description":"Gas or vacuum the sample sits in.","type":"string","enum":["ambient","vacuum","high_vacuum","ultra_high_vacuum","nitrogen","argon","oxygen","forming_gas","liquid","other"]},"humidity":{"description":"Relative humidity, as a percentage.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["unitless","percent","ppm","fraction"]}}}}},"parameters":{"description":"Technique-specific parameters. Unconstrained here, the way a model's parameters are unconstrained until a models_directory entry narrows them; technique blocks such as measurement/parameters/scanning_probe_microscopy describe the expected shape and will be bound per technique by catalogue entries in a later phase.","type":"object"},"steps":{"description":"Ordered steps of the stage, the analogue of a subworkflow's units.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"process step schema","description":"One step of a stage, the analogue of a workflow unit. It composes the workflow unit sequencing mixin unchanged, so a process is walked with the same head, next and flowchartId mechanics as a workflow, and a step carries the unit status vocabulary (idle, active, warning, error, finished) for the same reason a unit inside a job does: run-level states such as draft, planned and cancelled belong to the stage and the process, which compose the activity mixin. repeat is the only place a cycle count lives: an atomic layer deposition of 200 cycles is one step with repeat 200, not a nested list.","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":"workflow base unit mixin schema","type":"object","properties":{"isDraft":{"type":"boolean"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}],"properties":{"type":{"description":"What the step does.","type":"string","enum":["setup","pump_down","heat","ramp","hold","pre_sputter","deposition","pulse","purge","plasma","cycle","anneal","cool","vent","transfer","subsample","other"]},"duration":{"$schema":"http://json-schema.org/draft-07/schema#","title":"time quantity schema","description":"A scalar with time units, e.g. a process step duration. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["s","ms","us","ns","min","h"],"default":"s"}},"required":["value","units"]},"repeat":{"description":"Number of times this step is repeated, e.g. the number of atomic layer deposition cycles.","type":"integer","minimum":1,"default":1},"setpoints":{"description":"Values held or targeted during the step.","type":"object","properties":{"temperature":{"$schema":"http://json-schema.org/draft-07/schema#","title":"temperature quantity schema","description":"A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["K","degC"],"default":"K"}},"required":["value","units"]},"pressure":{"$schema":"http://json-schema.org/draft-07/schema#","title":"pressure quantity schema","description":"A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["kbar","pa","Torr","mTorr","mbar","bar","atm"]}},"required":["value","units"]},"sourceId":{"description":"Identifier of the source in the stage's sources list that this step draws on.","type":"string"},"flowRate":{"description":"Gas flow rate held during the step.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["sccm","slm"]}}},"power":{"description":"Power applied during the step, e.g. to a plasma source.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["W","mW","kW"]}}},"substrateRotation":{"description":"Substrate rotation rate held during the step.","type":"object","properties":{"value":{"type":"number"},"units":{"enum":["rpm"]}}}}},"logs":{"description":"Quantities logged over time during the step, as plots against a time axis. A measured trace and its setpoint are two series on one plot.","type":"array","items":{"$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"]}}},"required":["type","flowchartId"]}},"duration":{"$schema":"http://json-schema.org/draft-07/schema#","title":"time quantity schema","description":"A scalar with time units, e.g. a process step duration. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["s","ms","us","ns","min","h"],"default":"s"}},"required":["value","units"]},"notes":{"description":"Operator notes, kept verbatim: laboratory records carry context that no schema anticipates.","type":"string"}},"required":["categories","steps"]}},"_inputSamples":{"description":"Subsets of the full information about the samples consumed, e.g. the substrates loaded into the chamber.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sample entity reference schema","description":"Reference to a sample entity, the experimental mirror of system/_material.","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":"Sample class","type":"string","enum":["Sample"]}}}},"_outputSamples":{"description":"Subsets of the full information about the samples produced or modified by the run.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sample entity reference schema","description":"Reference to a sample entity, the experimental mirror of system/_material.","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":"Sample class","type":"string","enum":["Sample"]}}}},"identifiers":{"description":"Identifiers this run carries in other systems, e.g. a lab-system run number.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"identifier schema","description":"An identifier a record carries in a system other than this one, e.g. an HTEM sample id or a lab-system run number. Kept as a scheme and a value rather than a named field per source, so a new source does not need a schema change.","type":"object","properties":{"scheme":{"description":"Namespace the value is unique within.","type":"string","enum":["internal","htem","lmc","igsn","doi","barcode","vendor","other"]},"value":{"description":"The identifier itself.","type":"string"}},"required":["scheme","value"]}},"logFiles":{"description":"Tool logs this record was derived from.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"file reference schema","description":"A file kept outside the record: its metadata, the vendor format it is written in, a checksum and where it lives. Unlike system/file_source, which requires the file content as text, this references binary instrument output (an Igor binary wave, a Nanonis scan) without embedding it.","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":{"format":{"description":"Vendor or interchange format the file is written in.","type":"string","enum":["asylum_ibw","nanonis_sxm","nanonis_dat","gwyddion_gwy","bruker_nanoscope","nexus_hdf5","usid_hdf5","hdf5","npy","csv","tsv","xlsx","tiff","png","json","txt","other"]},"size":{"description":"Size of the file in bytes.","type":"integer","minimum":0},"checksum":{"description":"Content hash, so a referenced file can be identified after it moves.","type":"object","properties":{"algorithm":{"type":"string","enum":["md5","sha1","sha256"]},"value":{"type":"string"}},"required":["algorithm","value"]},"url":{"description":"Location the file can be retrieved from.","type":"string"},"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"}}},"role":{"description":"What the file is to the record that references it.","type":"string","enum":["raw","processed","log","image","metadata","other"]}},"required":["basename"]}}},"required":["categories","stages"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Description schema","type":"object","properties":{"description":{"description":"entity description","type":"string"},"descriptionObject":{"type":"object"}}},{"$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":"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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["name","units"]},{"$id":"properties-directory/enum-options","definitions":{"ExternalSource":{"type":"string","enum":["ICSD","MaterialsProject","MaterialsProjectLegacy"]},"PropertyType":{"type":"string","enum":["scalar","non-scalar","tensor","object","array-of-objects"]},"ScalarPropertyEnum":{"type":"string","enum":["defect_formation_energy","fermi_energy","film_thickness","formation_energy","homo_energy","interfacial_energy","ionization_potential","lumo_energy","pressure","reaction_energy_barrier","surface_energy","surface_roughness","thermal_correction_to_energy","thermal_correction_to_enthalpy","total_energy","total_force","valence_band_offset","zero_point_energy"]},"NonScalarPropertyEnum":{"type":"string","enum":["average_potential_profile","band_gaps","band_structure","charge_density_profile","convergence_electronic","convergence_ionic","density_of_states","dielectric_tensor","file_content","final_structure","hubbard_u","hubbard_v","hubbard_v_nn","hysteresis_loop","is_relaxed","jupyter_notebook_endpoint","phonon_dispersions","phonon_dos","potential_profile","reaction_energy_profile","wavefunction_amplitude","workflow:pyml_predict"]},"TensorPropertyEnum":{"type":"string","enum":["atomic_forces","magnetic_moments","stress_tensor"]},"ObjectPropertyEnum":{"type":"string","enum":["total_energy_contributions"]},"ArrayOfObjectsPropertyEnum":{"type":"string","enum":["formation_energy_contributions"]},"ProtoPropertyEnum":{"type":"string","enum":["atomic_constraints","boundary_conditions"]},"MetaPropertyEnum":{"type":"string","enum":["pseudopotential"]}}},{"$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":["kcal/mol","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":["kcal/mol","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":["kcal/mol","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":["kcal/mol","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/formation-energy-contributions","$schema":"http://json-schema.org/draft-07/schema#","title":"Formation energy contributions property schema","description":"Elemental reference total energies used to calculate formation energy.","type":"object","properties":{"name":{"enum":["formation_energy_contributions"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Formation energy contribution schema","description":"Total energy contribution of one material used in formation energy calculation.","type":"object","properties":{"formula":{"description":"formula or label for the material used in the formation energy calculation","type":"string"},"n_atoms":{"description":"number of atoms in the material","type":"integer"},"is_elemental":{"description":"whether the material is an elemental reference","type":"boolean"},"total_energy":{"description":"total energy of the material","type":"number"},"total_energy_per_atom":{"description":"total energy per atom of the material","type":"number"},"precision_value":{"description":"precision value for the total energy property","type":"number","default":-1},"precision_metric":{"description":"metric used to report total energy precision","type":"string","enum":["unknown","KPPRA","spacing"],"default":"unknown"}},"required":["formula","n_atoms","is_elemental","total_energy","total_energy_per_atom","precision_metric","precision_value"]}}},"required":["name","values"]},{"$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/hysteresis-loop","$schema":"http://json-schema.org/draft-07/schema#","title":"Hysteresis loop property schema","description":"A hysteresis loop measured against a swept field or bias, e.g. the piezoresponse phase against tip bias that a switching-spectroscopy measurement produces. Built on the same 2D plot as a density of states, with the legend naming each series: on-field and off-field branches are two series of one loop.","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":{"name":{"enum":["hysteresis_loop"]},"loopType":{"description":"Which pair of quantities the loop relates.","type":"string","enum":["polarization_electric_field","piezoresponse_bias","amplitude_bias","phase_bias","current_voltage"]},"legend":{"description":"Label for each series in yDataSeries, e.g. on_field and off_field.","type":"array","items":{"type":"string"}}},"required":["name","loopType"]},{"$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","Hz","kHz","MHz","GHz"]}}},"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","Hz","kHz","MHz","GHz"]}}},"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":["kcal/mol","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":["kcal/mol","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","Torr","mTorr","mbar","bar","atm"]}},"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":["kcal/mol","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","Hz","kHz","MHz","GHz"]}}},"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/wavefunction-amplitude","$schema":"http://json-schema.org/draft-07/schema#","title":"Wavefunction amplitude 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":["coordinate"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["amplitude"]}}},"name":{"enum":["wavefunction_amplitude"]}},"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":"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":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}},{"$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`","type":"string"}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"isMultiMaterial":{"description":"Defines whether the workflow is for a multi-material simulation","type":"boolean"},"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 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":"Subworkflow Mixin Schema","type":"object","properties":{"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":"Compute schema","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","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"]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"required":["subtype","source","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"const":"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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":{"const":"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":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Any model schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML model schema","type":"object","properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unknown model schema","type":"object","properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]}],"discriminator":{"propertyName":"subtype"}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"isMultiMaterial":{"type":"boolean"},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","properties","application","units"]}]}},"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"const":"subworkflow"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"application":{"description":"information about the main application used for workflow categorization by application in standata.","type":"object","properties":{"name":{"description":"name of the application","type":"string"}}},"tags":{"description":"tags for the workflow","type":"array","items":{"type":"string"}}},"required":["properties","units","subworkflows"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Description schema","type":"object","properties":{"description":{"description":"entity description","type":"string"},"descriptionObject":{"type":"object"}}},{"$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":{"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Compute schema","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","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":["workflows"]}],"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/defect-formation-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Defect 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["defect_formation_energy"]}},"required":["name"]},{"$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":["kcal/mol","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":["kcal/mol","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/film-thickness","$schema":"http://json-schema.org/draft-07/schema#","title":"Film thickness property schema","description":"Physical thickness of a deposited film, as measured. Distinct from the slab thickness in material metadata, which counts atomic layers.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["film_thickness"]},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]},"layerIndex":{"description":"Index of the layer in the sample's stack this thickness refers to.","type":"integer"}},"required":["name","units"]},{"$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":["kcal/mol","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","units"]},{"$id":"properties-directory/scalar/homo-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"HOMO 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["homo_energy"]}},"required":["name"]},{"$id":"properties-directory/scalar/interfacial-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Interfacial 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["interfacial_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":["kcal/mol","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/lumo-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"LUMO 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["lumo_energy"]}},"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","Torr","mTorr","mbar","bar","atm"]}},"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":["kcal/mol","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":["kcal/mol","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/surface-roughness","$schema":"http://json-schema.org/draft-07/schema#","title":"Surface roughness property schema","description":"Roughness of a measured surface. The statistic is part of the value: a root-mean-square roughness and a peak-to-valley height of the same scan are different numbers.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["surface_roughness"]},"statistic":{"description":"Estimator the value was computed with.","type":"string","enum":["root_mean_square","arithmetic_average","peak_to_valley"]},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}},"required":["name","units"]},{"$id":"properties-directory/scalar/thermal-correction-to-energy","$schema":"http://json-schema.org/draft-07/schema#","title":"Thermal correction to 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["thermal_correction_to_energy"]}},"required":["name"]},{"$id":"properties-directory/scalar/thermal-correction-to-enthalpy","$schema":"http://json-schema.org/draft-07/schema#","title":"Thermal correction to enthalpy 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["thermal_correction_to_enthalpy"]}},"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":["kcal/mol","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.","nN","pN"]}},"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":["kcal/mol","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":["kcal/mol","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.","nN","pN"]}},"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/basis-constrained","$schema":"http://json-schema.org/draft-07/schema#","title":"basis constrained schema","type":"object","allOf":[{"$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"]},{"properties":{"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}]}}}}},"required":["constraints"]}]},{"$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":["kcal/mol","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":["kcal/mol","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","Torr","mTorr","mbar","bar","atm"]}},"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":["kcal/mol","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":["kcal/mol","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":"Interfacial 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["interfacial_energy"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Defect 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["defect_formation_energy"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Thermal correction to 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["thermal_correction_to_energy"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Thermal correction to enthalpy 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["thermal_correction_to_enthalpy"]}},"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":["kcal/mol","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.","nN","pN"]}},"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":["kcal/mol","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":"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":["kcal/mol","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","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"HOMO 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["homo_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":["kcal/mol","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":"LUMO 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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]},{"enum":["eV/A^2"]}]}},"required":["name","units"]}],"properties":{"name":{"enum":["lumo_energy"]}},"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","Torr","mTorr","mbar","bar","atm"]}},"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":["kcal/mol","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":["kcal/mol","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","Hz","kHz","MHz","GHz"]}}},"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":["kcal/mol","kJ/mol","eV","J/mol","hartree","cm-1","Ry","eV/atom"]}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Formation energy contributions property schema","description":"Elemental reference total energies used to calculate formation energy.","type":"object","properties":{"name":{"enum":["formation_energy_contributions"]},"values":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Formation energy contribution schema","description":"Total energy contribution of one material used in formation energy calculation.","type":"object","properties":{"formula":{"description":"formula or label for the material used in the formation energy calculation","type":"string"},"n_atoms":{"description":"number of atoms in the material","type":"integer"},"is_elemental":{"description":"whether the material is an elemental reference","type":"boolean"},"total_energy":{"description":"total energy of the material","type":"number"},"total_energy_per_atom":{"description":"total energy per atom of the material","type":"number"},"precision_value":{"description":"precision value for the total energy property","type":"number","default":-1},"precision_metric":{"description":"metric used to report total energy precision","type":"string","enum":["unknown","KPPRA","spacing"],"default":"unknown"}},"required":["formula","n_atoms","is_elemental","total_energy","total_energy_per_atom","precision_metric","precision_value"]}}},"required":["name","values"]},{"$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","Hz","kHz","MHz","GHz"]}}},"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":["kcal/mol","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":"Wavefunction amplitude 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":["coordinate"]}}},"yAxis":{"type":"object","properties":{"label":{"enum":["amplitude"]}}},"name":{"enum":["wavefunction_amplitude"]}},"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":["kcal/mol","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":["kcal/mol","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":["kcal/mol","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":"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":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}},{"$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`","type":"string"}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"isMultiMaterial":{"description":"Defines whether the workflow is for a multi-material simulation","type":"boolean"},"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 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":"Subworkflow Mixin Schema","type":"object","properties":{"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":"Compute schema","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","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"]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"required":["subtype","source","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"const":"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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":{"const":"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":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Any model schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML model schema","type":"object","properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unknown model schema","type":"object","properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]}],"discriminator":{"propertyName":"subtype"}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"isMultiMaterial":{"type":"boolean"},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","properties","application","units"]}]}},"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"const":"subworkflow"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"application":{"description":"information about the main application used for workflow categorization by application in standata.","type":"object","properties":{"name":{"description":"name of the application","type":"string"}}},"tags":{"description":"tags for the workflow","type":"array","items":{"type":"string"}}},"required":["properties","units","subworkflows"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Description schema","type":"object","properties":{"description":{"description":"entity description","type":"string"},"descriptionObject":{"type":"object"}}},{"$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":{"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Compute schema","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","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":["workflows"]}],"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.","nN","pN"]}},"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"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Film thickness property schema","description":"Physical thickness of a deposited film, as measured. Distinct from the slab thickness in material metadata, which counts atomic layers.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["film_thickness"]},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]},"layerIndex":{"description":"Index of the layer in the sample's stack this thickness refers to.","type":"integer"}},"required":["name","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Surface roughness property schema","description":"Roughness of a measured surface. The statistic is part of the value: a root-mean-square roughness and a peak-to-valley height of the same scan are different numbers.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"name":{"enum":["surface_roughness"]},"statistic":{"description":"Estimator the value was computed with.","type":"string","enum":["root_mean_square","arithmetic_average","peak_to_valley"]},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}},"required":["name","units"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hysteresis loop property schema","description":"A hysteresis loop measured against a swept field or bias, e.g. the piezoresponse phase against tip bias that a switching-spectroscopy measurement produces. Built on the same 2D plot as a density of states, with the legend naming each series: on-field and off-field branches are two series of one loop.","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":{"name":{"enum":["hysteresis_loop"]},"loopType":{"description":"Which pair of quantities the loop relates.","type":"string","enum":["polarization_electric_field","piezoresponse_bias","amplitude_bias","phase_bias","current_voltage"]},"legend":{"description":"Label for each series in yDataSeries, e.g. on_field and off_field.","type":"array","items":{"type":"string"}}},"required":["name","loopType"]}],"discriminator":{"propertyName":"name"}},"source":{"type":"object","properties":{"type":{"description":"Type of the material property's source.","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 a value obtained by measurement","description":"Provenance of a property obtained from a measurement: the experimental analogue of core/reference/exabyte, where measurementId plays the role of jobId and channel the role of unitId.","type":"object","properties":{"type":{"enum":["measurement"]},"measurementId":{"description":"Measurement's identity","type":"string"},"channel":{"description":"Data channel or analysis step the value was extracted from, e.g. the phase channel of a switching-spectroscopy acquisition","type":"string"},"sampleId":{"description":"Identity of the sample the measurement was taken on","type":"string"},"instrumentId":{"description":"Identity of the instrument the measurement was taken with","type":"string"}},"required":["measurementId"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"info for a value obtained from a process","description":"Provenance of a property that is a property of a fabrication run rather than of a measurement, e.g. a growth rate read off the deposition record. The process analogue of core/reference/exabyte.","type":"object","properties":{"type":{"enum":["process"]},"processId":{"description":"Process's identity","type":"string"},"stepFlowchartId":{"description":"flowchartId of the step the value came from, the analogue of unitId","type":"string"},"sampleId":{"description":"Identity of the sample the process produced","type":"string"}},"required":["processId"]}]}},"required":["type","info"],"$comment":"type is a free string today (\"exabyte\" in existing records); making source a discriminated union on it is a separate migration with its own ticket."},"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":"sample/layer","$schema":"http://json-schema.org/draft-07/schema#","title":"sample layer schema","description":"One layer of a sample's stack. The role says what the layer is for, which is what distinguishes an electrode from the film under study when both are the same material.","type":"object","properties":{"index":{"description":"Order in the stack, 0 being the substrate and increasing upward.","type":"integer","minimum":0},"role":{"description":"What this layer does in the stack.","type":"string","enum":["substrate","buffer","seed","adhesion","bottom_electrode","film","top_electrode","capping","other"]},"name":{"type":"string"},"formula":{"description":"Chemical formula of the layer, e.g. AlScN","type":"string"},"_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"]}}},"thickness":{"$schema":"http://json-schema.org/draft-07/schema#","title":"length quantity schema","description":"A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}},"required":["value","units"]},"crystallinity":{"type":"string","enum":["single_crystal","epitaxial","textured","polycrystalline","amorphous","unknown"]},"orientation":{"description":"Out-of-plane orientation, e.g. (0001)","type":"string"},"_process":{"$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":["role"]},{"$id":"sample/library","$schema":"http://json-schema.org/draft-07/schema#","title":"sample library schema","description":"A combinatorial library: one substrate carrying a spread of composition, thickness or temperature, measured at a grid of positions. Positions are listed here so the grid can be read without fetching the child sample of every point.","type":"object","properties":{"type":{"description":"What varies across the library.","type":"string","enum":["composition_spread","thickness_gradient","temperature_gradient","discrete_array","other"]},"grid":{"description":"Regular arrangement of the positions.","type":"object","properties":{"rows":{"type":"integer"},"columns":{"type":"integer"},"pitch":{"$schema":"http://json-schema.org/draft-07/schema#","title":"length quantity schema","description":"A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}},"required":["value","units"]}}},"gradients":{"description":"Quantities that vary across the library and the direction they vary in.","type":"array","items":{"type":"object","properties":{"quantity":{"type":"string","enum":["composition","thickness","temperature","other"]},"element":{"description":"Element the gradient is in, when the quantity is composition.","type":"string"},"axis":{"type":"string","enum":["x","y","radial","custom"]},"minimum":{"type":"number"},"maximum":{"type":"number"},"units":{"type":"string"}},"required":["quantity"]}},"positions":{"description":"The positions themselves, in index order.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"sample position schema","description":"A location on a sample. Together with the identity of the sample it is the join key that ties a per-position measurement on a combinatorial library to the point it was taken at.","type":"object","properties":{"index":{"description":"Position number within the parent, e.g. 1 to 44 on an HTEM library.","type":"integer","minimum":0},"label":{"description":"Human-readable label for the position, e.g. a sub-sample identifier such as R12.","type":"string"},"row":{"type":"integer"},"column":{"type":"integer"},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 2d schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]},"coordinateSystem":{"description":"Origin and orientation the coordinate is given in.","type":"string","enum":["wafer_center","wafer_flat","library_grid","stage","custom"],"default":"wafer_center"}},"required":["coordinate","units"]}}},"required":["type","positions"]},{"$id":"sample/metadata","$schema":"http://json-schema.org/draft-07/schema#","title":"sample metadata schema","description":"Open metadata bag for a sample, mirroring material/metadata. Deliberately unconstrained so a laboratory can record what its workflow needs without a schema change.","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true}}},{"$id":"sample/position","$schema":"http://json-schema.org/draft-07/schema#","title":"sample position schema","description":"A location on a sample. Together with the identity of the sample it is the join key that ties a per-position measurement on a combinatorial library to the point it was taken at.","type":"object","properties":{"index":{"description":"Position number within the parent, e.g. 1 to 44 on an HTEM library.","type":"integer","minimum":0},"label":{"description":"Human-readable label for the position, e.g. a sub-sample identifier such as R12.","type":"string"},"row":{"type":"integer"},"column":{"type":"integer"},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 2d schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]},"coordinateSystem":{"description":"Origin and orientation the coordinate is given in.","type":"string","enum":["wafer_center","wafer_flat","library_grid","stage","custom"],"default":"wafer_center"}},"required":["coordinate","units"]},{"$id":"sample/sample-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"sample properties schema","description":"Domain-specific fields of a sample entity, mirroring material/material_properties: formula, external and src are kept as they are on a material; basis and lattice are replaced by an optional reference to the nominal material; form, layers, library, position, _parent, composition and identifiers describe the physical specimen.","type":"object","properties":{"formula":{"description":"Nominal reduced chemical formula of the sample, or of its top layer for a stack, e.g. Al0.7Sc0.3N","type":"string"},"form":{"description":"Physical form of the specimen.","type":"string","enum":["bulk","thin_film","multilayer","powder","wafer","library","piece","device","liquid","other"]},"composition":{"description":"Measured or nominal elemental fractions, reusing the elemental ratio property so a composition from XRF and one from a calculation have the same shape.","type":"array","items":{"$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"}}}},"_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"]}}},"_parent":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sample entity reference schema","description":"Reference to a sample entity, the experimental mirror of system/_material.","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":"Sample class","type":"string","enum":["Sample"]}}},"position":{"$schema":"http://json-schema.org/draft-07/schema#","title":"sample position schema","description":"A location on a sample. Together with the identity of the sample it is the join key that ties a per-position measurement on a combinatorial library to the point it was taken at.","type":"object","properties":{"index":{"description":"Position number within the parent, e.g. 1 to 44 on an HTEM library.","type":"integer","minimum":0},"label":{"description":"Human-readable label for the position, e.g. a sub-sample identifier such as R12.","type":"string"},"row":{"type":"integer"},"column":{"type":"integer"},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 2d schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]},"coordinateSystem":{"description":"Origin and orientation the coordinate is given in.","type":"string","enum":["wafer_center","wafer_flat","library_grid","stage","custom"],"default":"wafer_center"}},"required":["coordinate","units"]},"identifiers":{"description":"Identifiers this sample carries in other systems, e.g. an HTEM sample id or a lab-system run number.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"identifier schema","description":"An identifier a record carries in a system other than this one, e.g. an HTEM sample id or a lab-system run number. Kept as a scheme and a value rather than a named field per source, so a new source does not need a schema change.","type":"object","properties":{"scheme":{"description":"Namespace the value is unique within.","type":"string","enum":["internal","htem","lmc","igsn","doi","barcode","vendor","other"]},"value":{"description":"The identifier itself.","type":"string"}},"required":["scheme","value"]}},"layers":{"description":"Layer stack, ordered from the substrate upward.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"sample layer schema","description":"One layer of a sample's stack. The role says what the layer is for, which is what distinguishes an electrode from the film under study when both are the same material.","type":"object","properties":{"index":{"description":"Order in the stack, 0 being the substrate and increasing upward.","type":"integer","minimum":0},"role":{"description":"What this layer does in the stack.","type":"string","enum":["substrate","buffer","seed","adhesion","bottom_electrode","film","top_electrode","capping","other"]},"name":{"type":"string"},"formula":{"description":"Chemical formula of the layer, e.g. AlScN","type":"string"},"_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"]}}},"thickness":{"$schema":"http://json-schema.org/draft-07/schema#","title":"length quantity schema","description":"A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}},"required":["value","units"]},"crystallinity":{"type":"string","enum":["single_crystal","epitaxial","textured","polycrystalline","amorphous","unknown"]},"orientation":{"description":"Out-of-plane orientation, e.g. (0001)","type":"string"},"_process":{"$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":["role"]}},"library":{"$schema":"http://json-schema.org/draft-07/schema#","title":"sample library schema","description":"A combinatorial library: one substrate carrying a spread of composition, thickness or temperature, measured at a grid of positions. Positions are listed here so the grid can be read without fetching the child sample of every point.","type":"object","properties":{"type":{"description":"What varies across the library.","type":"string","enum":["composition_spread","thickness_gradient","temperature_gradient","discrete_array","other"]},"grid":{"description":"Regular arrangement of the positions.","type":"object","properties":{"rows":{"type":"integer"},"columns":{"type":"integer"},"pitch":{"$schema":"http://json-schema.org/draft-07/schema#","title":"length quantity schema","description":"A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}},"required":["value","units"]}}},"gradients":{"description":"Quantities that vary across the library and the direction they vary in.","type":"array","items":{"type":"object","properties":{"quantity":{"type":"string","enum":["composition","thickness","temperature","other"]},"element":{"description":"Element the gradient is in, when the quantity is composition.","type":"string"},"axis":{"type":"string","enum":["x","y","radial","custom"]},"minimum":{"type":"number"},"maximum":{"type":"number"},"units":{"type":"string"}},"required":["quantity"]}},"positions":{"description":"The positions themselves, in index order.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"sample position schema","description":"A location on a sample. Together with the identity of the sample it is the join key that ties a per-position measurement on a combinatorial library to the point it was taken at.","type":"object","properties":{"index":{"description":"Position number within the parent, e.g. 1 to 44 on an HTEM library.","type":"integer","minimum":0},"label":{"description":"Human-readable label for the position, e.g. a sub-sample identifier such as R12.","type":"string"},"row":{"type":"integer"},"column":{"type":"integer"},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 2d schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]},"coordinateSystem":{"description":"Origin and orientation the coordinate is given in.","type":"string","enum":["wafer_center","wafer_flat","library_grid","stage","custom"],"default":"wafer_center"}},"required":["coordinate","units"]}}},"required":["type","positions"]},"external":{"$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"]},"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"]}},"required":["form"]},{"$id":"sample","$schema":"http://json-schema.org/draft-07/schema#","title":"sample schema","description":"A physical specimen: a substrate, a film stack, a combinatorial library, a piece cut from one, or a device. The experimental mirror of material, composed exactly as material.json is, with sample_properties in place of material_properties. A sample does not require a basis and a lattice because a specimen may have unknown or non-crystalline structure; the nominal structure is referenced through _material instead.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"sample properties schema","description":"Domain-specific fields of a sample entity, mirroring material/material_properties: formula, external and src are kept as they are on a material; basis and lattice are replaced by an optional reference to the nominal material; form, layers, library, position, _parent, composition and identifiers describe the physical specimen.","type":"object","properties":{"formula":{"description":"Nominal reduced chemical formula of the sample, or of its top layer for a stack, e.g. Al0.7Sc0.3N","type":"string"},"form":{"description":"Physical form of the specimen.","type":"string","enum":["bulk","thin_film","multilayer","powder","wafer","library","piece","device","liquid","other"]},"composition":{"description":"Measured or nominal elemental fractions, reusing the elemental ratio property so a composition from XRF and one from a calculation have the same shape.","type":"array","items":{"$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"}}}},"_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"]}}},"_parent":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Sample entity reference schema","description":"Reference to a sample entity, the experimental mirror of system/_material.","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":"Sample class","type":"string","enum":["Sample"]}}},"position":{"$schema":"http://json-schema.org/draft-07/schema#","title":"sample position schema","description":"A location on a sample. Together with the identity of the sample it is the join key that ties a per-position measurement on a combinatorial library to the point it was taken at.","type":"object","properties":{"index":{"description":"Position number within the parent, e.g. 1 to 44 on an HTEM library.","type":"integer","minimum":0},"label":{"description":"Human-readable label for the position, e.g. a sub-sample identifier such as R12.","type":"string"},"row":{"type":"integer"},"column":{"type":"integer"},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 2d schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]},"coordinateSystem":{"description":"Origin and orientation the coordinate is given in.","type":"string","enum":["wafer_center","wafer_flat","library_grid","stage","custom"],"default":"wafer_center"}},"required":["coordinate","units"]},"identifiers":{"description":"Identifiers this sample carries in other systems, e.g. an HTEM sample id or a lab-system run number.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"identifier schema","description":"An identifier a record carries in a system other than this one, e.g. an HTEM sample id or a lab-system run number. Kept as a scheme and a value rather than a named field per source, so a new source does not need a schema change.","type":"object","properties":{"scheme":{"description":"Namespace the value is unique within.","type":"string","enum":["internal","htem","lmc","igsn","doi","barcode","vendor","other"]},"value":{"description":"The identifier itself.","type":"string"}},"required":["scheme","value"]}},"layers":{"description":"Layer stack, ordered from the substrate upward.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"sample layer schema","description":"One layer of a sample's stack. The role says what the layer is for, which is what distinguishes an electrode from the film under study when both are the same material.","type":"object","properties":{"index":{"description":"Order in the stack, 0 being the substrate and increasing upward.","type":"integer","minimum":0},"role":{"description":"What this layer does in the stack.","type":"string","enum":["substrate","buffer","seed","adhesion","bottom_electrode","film","top_electrode","capping","other"]},"name":{"type":"string"},"formula":{"description":"Chemical formula of the layer, e.g. AlScN","type":"string"},"_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"]}}},"thickness":{"$schema":"http://json-schema.org/draft-07/schema#","title":"length quantity schema","description":"A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}},"required":["value","units"]},"crystallinity":{"type":"string","enum":["single_crystal","epitaxial","textured","polycrystalline","amorphous","unknown"]},"orientation":{"description":"Out-of-plane orientation, e.g. (0001)","type":"string"},"_process":{"$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":["role"]}},"library":{"$schema":"http://json-schema.org/draft-07/schema#","title":"sample library schema","description":"A combinatorial library: one substrate carrying a spread of composition, thickness or temperature, measured at a grid of positions. Positions are listed here so the grid can be read without fetching the child sample of every point.","type":"object","properties":{"type":{"description":"What varies across the library.","type":"string","enum":["composition_spread","thickness_gradient","temperature_gradient","discrete_array","other"]},"grid":{"description":"Regular arrangement of the positions.","type":"object","properties":{"rows":{"type":"integer"},"columns":{"type":"integer"},"pitch":{"$schema":"http://json-schema.org/draft-07/schema#","title":"length quantity schema","description":"A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"scalar schema","type":"object","properties":{"value":{"type":"number"}},"required":["value"]}],"properties":{"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]}},"required":["value","units"]}}},"gradients":{"description":"Quantities that vary across the library and the direction they vary in.","type":"array","items":{"type":"object","properties":{"quantity":{"type":"string","enum":["composition","thickness","temperature","other"]},"element":{"description":"Element the gradient is in, when the quantity is composition.","type":"string"},"axis":{"type":"string","enum":["x","y","radial","custom"]},"minimum":{"type":"number"},"maximum":{"type":"number"},"units":{"type":"string"}},"required":["quantity"]}},"positions":{"description":"The positions themselves, in index order.","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"sample position schema","description":"A location on a sample. Together with the identity of the sample it is the join key that ties a per-position measurement on a combinatorial library to the point it was taken at.","type":"object","properties":{"index":{"description":"Position number within the parent, e.g. 1 to 44 on an HTEM library.","type":"integer","minimum":0},"label":{"description":"Human-readable label for the position, e.g. a sub-sample identifier such as R12.","type":"string"},"row":{"type":"integer"},"column":{"type":"integer"},"coordinate":{"$schema":"http://json-schema.org/draft-07/schema#","title":"coordinate 2d schema","type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"units":{"enum":["km","m","cm","mm","um","nm","angstrom","a.u.","bohr","pm"]},"coordinateSystem":{"description":"Origin and orientation the coordinate is given in.","type":"string","enum":["wafer_center","wafer_flat","library_grid","stage","custom"],"default":"wafer_center"}},"required":["coordinate","units"]}}},"required":["type","positions"]},"external":{"$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"]},"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"]}},"required":["form"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"sample metadata schema","description":"Open metadata bag for a sample, mirroring material/metadata. Deliberately unconstrained so a laboratory can record what its workflow needs without a schema change.","type":"object","properties":{"metadata":{"type":"object","default":{},"additionalProperties":true}}}]},{"$id":"software/application/build-config","$schema":"http://json-schema.org/draft-07/schema#","title":"application versions with build config schema","type":"object","properties":{"bio":{"description":"The bio description used for the module files.","type":"string"},"moduleName":{"description":"Modulefile name specific to application version and build type.","type":"string"},"imageName":{"description":"Apptainer image name.","type":"string"},"imageTag":{"description":"Apptainer image tag.","type":"string"},"dependencies":{"description":"List of modulefile dependencies.","type":"array","items":{"type":"string"}},"environmentVariables":{"description":"Environment variables to be exported before running the application, containing the key and value pairs.","type":"object"},"prependVariables":{"description":"Variables to be prepended to the existing environment variable before running the application, containing the key and value pairs, e.g., PATH, LD_LIBRARY_PATH, etc.","type":"object"}}},{"$id":"software/application","$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},{"$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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]},{"$id":"software/application-with-build-config","$schema":"http://json-schema.org/draft-07/schema#","title":"application with build config schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}],"properties":{"buildConfig":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application versions with build config schema","type":"object","properties":{"bio":{"description":"The bio description used for the module files.","type":"string"},"moduleName":{"description":"Modulefile name specific to application version and build type.","type":"string"},"imageName":{"description":"Apptainer image name.","type":"string"},"imageTag":{"description":"Apptainer image tag.","type":"string"},"dependencies":{"description":"List of modulefile dependencies.","type":"array","items":{"type":"string"}},"environmentVariables":{"description":"Environment variables to be exported before running the application, containing the key and value pairs.","type":"object"},"prependVariables":{"description":"Variables to be prepended to the existing environment variable before running the application, containing the key and value pairs, e.g., PATH, LD_LIBRARY_PATH, etc.","type":"object"}}}}},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},{"$id":"software/executable-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},{"$id":"software/flavor-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]},{"$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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},{"$id":"software/template-properties","$schema":"http://json-schema.org/draft-07/schema#","title":"template properties schema","type":"object","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]},{"$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","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity 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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}],"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/lammps","$schema":"http://json-schema.org/draft-07/schema#","title":"LAMMPS","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}],"properties":{"name":{"enum":["lammps"]},"summary":{"enum":["LAMMPS"]},"version":{"enum":["2025.07.22.2"]},"build":{"enum":["GNU","Intel","CUDA"]},"exec":{"enum":["lmp"]}}},{"$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","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity 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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}],"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input schema","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","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]},{"$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"}},"required":["name"]}]}}}}]},{"$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","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity 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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}],"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","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity 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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}],"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","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity 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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}],"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","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity 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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]}],"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input schema","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","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]},{"$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"}},"required":["name"]}]}}}}]},{"$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/-sample","$schema":"http://json-schema.org/draft-07/schema#","title":"Sample entity reference schema","description":"Reference to a sample entity, the experimental mirror of system/_material.","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":"Sample class","type":"string","enum":["Sample"]}}},{"$id":"system/activity","$schema":"http://json-schema.org/draft-07/schema#","title":"activity schema","description":"Behaviour of a record of something that was done: its status, when it started and ended, who ran it and which project it belongs to. Measurement and process both compose this, so the two cannot drift apart the way two hand-maintained status lists would.","type":"object","properties":{"status":{"description":"Lifecycle state. 'draft' marks a recipe or protocol that has not been executed.","type":"string","enum":["draft","planned","active","finished","error","cancelled"]},"startTime":{"description":"When the activity started, as an ISO 8601 timestamp. A string rather than an epoch number so it stays readable without a converter, matching job.startTime.","type":"string","format":"date-time"},"endTime":{"description":"When the activity finished, as an ISO 8601 timestamp.","type":"string","format":"date-time"},"operators":{"description":"People who ran the activity. A name and an optional affiliation rather than the bibliographic author shape used for citations: a laboratory record identifies an operator by whatever the instrument logged, often a single username, and a citation's requirement of a surname does not hold there.","type":"array","items":{"type":"object","properties":{"name":{"description":"Operator's name as recorded, e.g. a username.","type":"string"},"affiliation":{"description":"Institution the operator belongs to.","type":"string"},"_account":{"$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":["name"]}},"_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"]}}},{"$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"}},"required":["exabyteId"]},{"$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"]}},"required":["cls"]},{"$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"]}},"required":["creatorAccount"]},{"$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/hashed","$schema":"http://json-schema.org/draft-07/schema#","title":"hashed schema","type":"object","properties":{"hash":{"description":"Hash string which is calculated based on the meaningful fields of the entity. Used to identify equal entities.","type":"string"}},"required":["hash"]},{"$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"}}}]}}},"required":["inSet"]},{"$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"]}},"required":["cls"]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"status track schema","type":"object","properties":{"statusTrack":{"type":"array","items":{"type":"object","properties":{"trackedAt":{"type":"number"},"status":{"type":"string"},"repetition":{"type":"number"}},"required":["trackedAt","status"]}}}}],"properties":{"status":{"type":"string"}}},{"$id":"system/status-track","$schema":"http://json-schema.org/draft-07/schema#","title":"status track schema","type":"object","properties":{"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":"techniques-category/enum-options","experimental":{"enum":["experimental"]},"characterization":{"enum":["characterization"]},"synthesis":{"enum":["synthesis"]},"characterizationTier3":{"enum":["microscopy","spectroscopy","diffraction","electrical","optical"]},"synthesisTier3":{"enum":["vapor_deposition","solution_processing","bulk_growth","post_processing"]},"characterizationTypes":{"enum":["scanning_probe_microscopy","electron_microscopy","x_ray","transport","dielectric","ultraviolet_visible_near_infrared"]},"synthesisTypes":{"enum":["physical_vapor_deposition","chemical_vapor_deposition","annealing"]},"characterizationSubtypes":{"enum":["atomic_force_microscopy","scanning_tunneling_microscopy","scanning_tunneling_spectroscopy","piezoresponse_force_microscopy","kelvin_probe_force_microscopy","conductive_atomic_force_microscopy","magnetic_force_microscopy"]},"synthesisSubtypes":{"enum":["pulsed_laser_deposition","sputtering","molecular_beam_epitaxy","thermal_evaporation","electron_beam_evaporation","atomic_layer_deposition","plasma_enhanced_atomic_layer_deposition","thermal_chemical_vapor_deposition","metalorganic_chemical_vapor_deposition","plasma_enhanced_chemical_vapor_deposition"]}},{"$id":"techniques-category/experimental/characterization","$schema":"http://json-schema.org/draft-07/schema#","title":"characterization technique category schema","description":"Techniques that measure a sample without intending to change it: microscopy, spectroscopy, diffraction, electrical and optical. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["characterization"]},"tier3":{"enum":["microscopy","spectroscopy","diffraction","electrical","optical"]},"type":{"enum":["scanning_probe_microscopy","electron_microscopy","x_ray","transport","dielectric","ultraviolet_visible_near_infrared"]},"subtype":{"enum":["atomic_force_microscopy","scanning_tunneling_microscopy","scanning_tunneling_spectroscopy","piezoresponse_force_microscopy","kelvin_probe_force_microscopy","conductive_atomic_force_microscopy","magnetic_force_microscopy"]}}},{"$id":"techniques-category/experimental/synthesis","$schema":"http://json-schema.org/draft-07/schema#","title":"synthesis technique category schema","description":"Techniques that create or modify a sample: vapor deposition, solution processing, bulk growth and post-processing such as annealing. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does.","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}}],"properties":{"tier2":{"enum":["synthesis"]},"tier3":{"enum":["vapor_deposition","solution_processing","bulk_growth","post_processing"]},"type":{"enum":["physical_vapor_deposition","chemical_vapor_deposition","annealing"]},"subtype":{"enum":["pulsed_laser_deposition","sputtering","molecular_beam_epitaxy","thermal_evaporation","electron_beam_evaporation","atomic_layer_deposition","plasma_enhanced_atomic_layer_deposition","thermal_chemical_vapor_deposition","metalorganic_chemical_vapor_deposition","plasma_enhanced_chemical_vapor_deposition"]}}},{"$id":"techniques-category/experimental","$schema":"http://json-schema.org/draft-07/schema#","title":"experimental technique category schema","description":"Root of the experimental technique vocabulary: the mirror of models_category and methods_category, narrowing the same core/reusable/categories tiers. Techniques are named in full here; the CateCom tier ladder is reused so an experimental record is categorized exactly the way a model is.","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":["experimental"]}}},{"$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`","type":"string"}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"isMultiMaterial":{"description":"Defines whether the workflow is for a multi-material simulation","type":"boolean"},"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 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":"Subworkflow Mixin Schema","type":"object","properties":{"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":"Compute schema","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","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"]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"required":["subtype","source","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"const":"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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":{"const":"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":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Any model schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML model schema","type":"object","properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unknown model schema","type":"object","properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]}],"discriminator":{"propertyName":"subtype"}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"isMultiMaterial":{"type":"boolean"},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","properties","application","units"]}]}},"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"const":"subworkflow"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"application":{"description":"information about the main application used for workflow categorization by application in standata.","type":"object","properties":{"name":{"description":"name of the application","type":"string"}}},"tags":{"description":"tags for the workflow","type":"array","items":{"type":"string"}}},"required":["properties","units","subworkflows"]},{"$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":"Compute schema","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","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/convergence/enum-options","definitions":{"ConvergenceParameterNameEnum":{"type":"string","enum":["N_k","N_k_nonuniform","N_k_nonuniform_2D"],"tsEnumNames":["N_k","N_k_nonuniform","N_k_nonuniform_2D"]}}},{"$id":"workflow/subworkflow/mixin","$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow Mixin Schema","type":"object","properties":{"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":"Compute schema","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","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"]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"required":["subtype","source","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"const":"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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":{"const":"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":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Any model schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML model schema","type":"object","properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unknown model schema","type":"object","properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]}],"discriminator":{"propertyName":"subtype"}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"isMultiMaterial":{"type":"boolean"},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","properties","application","units"]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"required":["subtype","source","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"const":"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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":{"const":"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":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]},{"$id":"workflow/subworkflow","$schema":"http://json-schema.org/draft-07/schema#","title":"Subworkflow 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":"Subworkflow Mixin Schema","type":"object","properties":{"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":"Compute schema","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","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"]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"required":["subtype","source","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"const":"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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":{"const":"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":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Any model schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML model schema","type":"object","properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unknown model schema","type":"object","properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]}],"discriminator":{"propertyName":"subtype"}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"isMultiMaterial":{"type":"boolean"},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","properties","application","units"]}]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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/context/-base","$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]},{"$id":"workflow/unit/context/-extra-data-material-hash","$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}},{"$id":"workflow/unit/context/item/boundaryConditions","$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$id":"workflow/unit/context/item/collinearMagnetization","$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$id":"workflow/unit/context/item/cutoffs","$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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":"workflow/unit/context/item/dynamics","$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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":"workflow/unit/context/item/grid","$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$id":"workflow/unit/context/item/hubbard-j","$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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":"workflow/unit/context/item/hubbard-legacy","$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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":"workflow/unit/context/item/hubbard-u","$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$id":"workflow/unit/context/item/hubbard-v","$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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":"workflow/unit/context/item/input","$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$id":"workflow/unit/context/item/mlSettings","$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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":"workflow/unit/context/item/mlTrainTestSplit","$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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":"workflow/unit/context/item/neb","$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$id":"workflow/unit/context/item/nonCollinearMagnetization","$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$id":"workflow/unit/context/item/path","$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$id":"workflow/unit/context/item","$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}},{"$id":"workflow/unit/error","$schema":"http://json-schema.org/draft-07/schema#","title":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]},{"$id":"workflow/unit/execution","$schema":"http://json-schema.org/draft-07/schema#","title":"execution 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$id":"workflow/unit/input/-input","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input schema","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","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]},{"$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"}},"required":["name"]}]}}}},{"$id":"workflow/unit/input/-inputItem","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]},{"$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"}},"required":["name"]},{"$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":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$id":"workflow/unit/io/db-collection","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database collection input/output schema (not used)","type":"object","properties":{"type":{"const":"db_collection"},"collection":{"description":"db collection name","type":"string"},"draft":{"description":"whether the result should be saved as draft","type":"boolean"}},"required":["type","collection","draft"]},{"$id":"workflow/unit/io/db-ids","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO database ids input/output schema (not used)","type":"object","properties":{"type":{"const":"db_ids"},"ids":{"description":"IDs of item to retrieve from db","type":"array","items":{"type":"string"}}},"required":["type","ids"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"const":"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":{"const":"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":{"const":"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]},{"$id":"workflow/unit/mixins/condition","$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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/error","$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]},{"$id":"workflow/unit/mixins/execution","$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]},{"$id":"workflow/unit/mixins/io","$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"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":{"const":"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":{"const":"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":{"const":"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":{"const":"subworkflow"}}},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"const":"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"}},"additionalProperties":true,"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"}},"additionalProperties":true,"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"}},"additionalProperties":true,"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"additionalProperties":true,"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"additionalProperties":true,"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"RuntimeItemString","description":"name of runtime item in shortened notation","type":"string"}]}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"name result schema","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"additionalProperties":true,"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 in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"const":"subworkflow"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"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":"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":"metadata schema","type":"object","properties":{"metadata":{"type":"object"}}},{"$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`","type":"string"}},"isUsingDataset":{"description":"Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.","type":"boolean"},"isMultiMaterial":{"description":"Defines whether the workflow is for a multi-material simulation","type":"boolean"},"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 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":"Subworkflow Mixin Schema","type":"object","properties":{"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":"Compute schema","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","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"]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO unit mixin schema","type":"object","properties":{"type":{"const":"io"},"subtype":{"enum":["input","output","dataFrame"]},"source":{"enum":["api","object_storage"]},"input":{"type":"array","items":{"type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"data IO rest API input schema","type":"object","properties":{"type":{"type":"string","const":"api"},"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":["type","endpoint","endpoint_options"]},{"$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":{"type":{"type":"string","const":"object_storage"},"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":["type","objectData"]}],"discriminator":{"propertyName":"type"}}}},"required":["subtype","source","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"condition unit mixin schema","type":"object","properties":{"type":{"const":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"assertion unit mixin schema","type":"object","properties":{"type":{"const":"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","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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit mixin schema","type":"object","properties":{"type":{"const":"execution"},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"executable":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Named defaultable in-memory entity schema","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"Base in-memory entity schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"schema version","type":"object","properties":{"schemaVersion":{"description":"entity's schema version. Used to distinct between different schemas.","type":"string","default":"2022.8.16"}}}],"properties":{"_id":{"description":"entity identity","type":"string"},"slug":{"description":"entity slug","type":"string"},"systemName":{"type":"string"}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"name entity schema","type":"object","properties":{"name":{"description":"entity name","type":"string"}},"required":["name"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"defaultable entity schema","type":"object","properties":{"isDefault":{"description":"Identifies that entity is defaultable","type":"boolean","default":false}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"executable properties schema","type":"object","properties":{"applicationName":{"description":"name of the application this executable belongs to","type":"string"},"applicationVersion":{"description":"version of the application this executable belongs to","type":"string"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"}},"required":["applicationName","applicationVersion"]}]},"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"required":["preProcessors","postProcessors","monitors","results"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"flavor properties schema","type":"object","properties":{"executableName":{"description":"name of the executable this flavor belongs to","type":"string"},"applicationName":{"description":"name of the application this flavor belongs to","type":"string"},"applicationVersion":{"description":"version 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"}},"required":["name"]}}},"required":["input","executableName","applicationName","applicationVersion"]}]},"input":{"type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"execution unit input item schema","type":"object","properties":{"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","properties":{"executableName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"contextProviders":{"type":"array","items":{"description":"render context provider names","type":"object","properties":{"name":{"type":"string","tsType":"ContextProviderNameEnum"}},"required":["name"]}},"content":{"description":"Content of the template. e.g. &CONTROL calculation='scf' ...","type":"string"}},"required":["contextProviders","content","executableName","applicationName","applicationVersion"]}]},"rendered":{"description":"Rendered content of the input file. e.g. &CONTROL calculation='scf' ...","type":"string"},"isManuallyChanged":{"type":"boolean","default":false}},"required":["isManuallyChanged","template"]}},"context":{"type":"array","default":[],"items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"context item schema","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"input context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"input"},"data":{"type":"object","oneOf":[{"$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":{"contextProviderName":{"type":"string","const":"nwchem-total-energy","description":"Descriminator for AJV validator"},"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."},"RESTART":{"type":"boolean","description":"Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart."}},"required":["CHARGE","MULT","BASIS","NAT","NTYP","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","ATOMIC_SPECIES","FUNCTIONAL","CARTESIAN","contextProviderName"]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":"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"]}},"LAST_IMAGE":{"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"]}},"INTERMEDIATE_IMAGES":{"type":"array","description":"Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.","items":{"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"]}}},"contextProviderName":{"type":"string","const":"qe-neb","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","CELL_PARAMETERS","FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}]},{"$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"}},"required":["X","Mass_X","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"}},"required":["X","Mass_X","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":{"contextProviderName":{"type":"string","const":"qe-pwx","description":"Descriminator for AJV validator"}},"required":["IBRAV","RESTART_MODE","ATOMIC_SPECIES","ATOMIC_SPECIES_WITH_LABELS","NAT","NTYP","NTYP_WITH_LABELS","ATOMIC_POSITIONS","ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS","CELL_PARAMETERS","contextProviderName"]}]},{"$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."},"contextProviderName":{"type":"string","const":"vasp","description":"Descriminator for AJV validator"}},"required":["POSCAR","POSCAR_WITH_CONSTRAINTS","contextProviderName"]},{"$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"}},"contextProviderName":{"type":"string","const":"vasp-neb","description":"Descriminator for AJV validator"}},"required":["FIRST_IMAGE","LAST_IMAGE","INTERMEDIATE_IMAGES","contextProviderName"]}],"discriminator":{"propertyName":"contextProviderName"}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"cutoffs context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"cutoffs"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Planewave Cutoffs Context 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"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"grid context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["kgrid","qgrid","igrid"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Grid Data Provider Schema","description":"3D grid with shifts for k-point or q-point sampling.","type":"object","properties":{"dimensions":{"anyOf":[{"type":"array","items":{"type":"number"},"minItems":3,"maxItems":3},{"type":"array","items":{"type":"string"},"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"}},"required":["dimensions","gridMetricType","gridMetricValue"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"path context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","enum":["qpath","ipath","kpath","explicitKPath","explicitKPath2PIBA"]},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Points Path Data Provider Schema","description":"Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).","type":"array","minItems":1,"items":{"type":"object","properties":{"point":{"type":"string"},"steps":{"type":"number"}},"required":["point","steps"]}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_j context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_j"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard J Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_u context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_u"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard U Context 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)"}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_v context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_v"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard V Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"hubbard_legacy context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"hubbard_legacy"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Hubbard Legacy Context 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)"}}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"neb context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"neb"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"NEB Data Provider Schema","description":"Number of intermediate NEB images.","type":"object","properties":{"nImages":{"type":"number"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"boundaryConditions context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"boundaryConditions"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Boundary Conditions Data 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)"}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlSettings context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlSettings"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Settings Context 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"]}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"mlTrainTestSplit context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"mlTrainTestSplit"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML Train Test Split Context 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}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"dynamics context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"dynamics"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Ion Dynamics Context 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)"}}}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"collinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"collinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Collinear Magnetization Context 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},"index":{"type":"integer","title":"Index"}},"required":["atomicSpecies","value","index"]}},"isTotalMagnetization":{"type":"boolean","title":"Set total magnetization instead"},"totalMagnetization":{"type":"number","title":"Total magnetization"}},"required":["startingMagnetization","isTotalMagnetization","totalMagnetization"]},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}},{"$schema":"http://json-schema.org/draft-07/schema#","title":"nonCollinearMagnetization context item schema","type":"object","allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"base context item schema","type":"object","properties":{"isEdited":{"type":"boolean"},"extraData":{"type":"object"}},"required":["name","isEdited","data","extraData"]}],"properties":{"name":{"type":"string","const":"nonCollinearMagnetization"},"data":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Non Collinear Magnetization Context 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"},"isArbitrarySpinDirection":{"type":"boolean","title":"Set arbitrary spin direction"},"lforcet":{"type":"boolean"},"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"}}}}},"extraData":{"allOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"extraData with materialHash schema","type":"object","properties":{"materialHash":{"type":"string","description":"UI only property used to track material change for re-render"}}}]}}}],"discriminator":{"propertyName":"name"}}}},"required":["type","input","application","executable","flavor","context"]}]},{"$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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["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":{"const":"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":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"model":{"$schema":"http://json-schema.org/draft-07/schema#","title":"Any model schema","type":"object","oneOf":[{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT LDA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"lda"},"functional":{"enum":["pz","pw","vwn","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT GGA model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"gga"},"functional":{"enum":["pbe","pbesol","pw91","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"DFT hybrid model schema","type":"object","properties":{"type":{"const":"dft"},"subtype":{"const":"hybrid"},"functional":{"enum":["b3lyp","hse06","other"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","functional","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"ML model schema","type":"object","properties":{"type":{"enum":["ml"]},"subtype":{"enum":["re"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Unknown model schema","type":"object","properties":{"type":{"enum":["unknown"]},"subtype":{"enum":["unknown"]},"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","properties":{"searchText":{"type":"string"}},"additionalProperties":true}},"required":["type","subtype"]}},"required":["type","subtype","method"]}],"discriminator":{"propertyName":"subtype"}},"application":{"$schema":"http://json-schema.org/draft-07/schema#","title":"application 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":"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"},"isDefault":{"description":"Whether the build is the default build","type":"boolean"},"isDefaultVersion":{"description":"Whether the version is the default version","type":"boolean"},"hasAdvancedComputeOptions":{"description":"Whether advanced compute options are present","type":"boolean"},"isLicensed":{"description":"Whether licensing is present","type":"boolean"},"isUsingMaterial":{"description":"Whether the application is using (being passed during a downstream processing routine) a material structure.","type":"boolean"},"runConfig":{"description":"The run configuration of the application","type":"object","properties":{"commandTemplate":{"description":"The command template of the application","type":"string"},"outFileName":{"description":"The output file name of the application","type":"string"}},"required":["commandTemplate","outFileName"]}},"required":["shortName","summary","version","build"]}]},"isMultiMaterial":{"type":"boolean"},"isDraft":{"description":"Defines whether to store the results/properties extracted in this unit to properties collection","type":"boolean","default":false}},"required":["model","properties","application","units"]}]}},"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"map unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"reduce unit mixin schema","type":"object","properties":{"type":{"const":"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":"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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"subworkflow unit mixin schema","type":"object","properties":{"type":{"const":"subworkflow"}}}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error 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","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"postProcessors":{"description":"names of the post-processors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"monitors":{"description":"names of the monitors for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}},"results":{"description":"names of the results for this calculation","type":"array","items":{"$schema":"http://json-schema.org/draft-07/schema#","title":"runtime item name object schema","description":"A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.","type":"object","properties":{"name":{"description":"The name of this item. e.g. scf_accuracy","type":"string"}},"required":["name"],"additionalProperties":true}}},"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 track schema","type":"object","properties":{"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"},"head":{"description":"Whether this unit is the first one to be executed.","type":"boolean"},"flowchartId":{"description":"Identity of the unit in the workflow. Used to trace the execution flow of the workflow.","type":"string"},"next":{"description":"Next unit's flowchartId. If empty, the current unit is the last.","type":"string"},"enableRender":{"description":"Whether Rupy should attempt to use Jinja templating to add context variables into the unit","type":"boolean"},"status":{"description":"Status of the unit.","type":"string","enum":["idle","active","warning","error","finished"]}},"required":["flowchartId"]}]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"error unit mixin schema","type":"object","properties":{"type":{"const":"error"},"reason":{"type":"string","description":"JSON string with validation/hydration details: { error, json, schema }"}},"required":["reason"]}]}],"discriminator":{"propertyName":"type"},"required":["type"]}},"application":{"description":"information about the main application used for workflow categorization by application in standata.","type":"object","properties":{"name":{"description":"name of the application","type":"string"}}},"tags":{"description":"tags for the workflow","type":"array","items":{"type":"string"}}},"required":["properties","units","subworkflows"]},{"$schema":"http://json-schema.org/draft-07/schema#","title":"Description schema","type":"object","properties":{"description":{"description":"entity description","type":"string"},"descriptionObject":{"type":"object"}}},{"$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":{"workflows":{"description":"Array of workflows with the same schema as the current one.","type":"array","items":{"type":"object"}},"compute":{"$schema":"http://json-schema.org/draft-07/schema#","title":"compute arguments schema","description":"Compute schema","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","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":["workflows"]}]''') \ No newline at end of file diff --git a/src/py/mat3ra/esse/models/apse/materials/materials_project/summary.py b/src/py/mat3ra/esse/models/apse/materials/materials_project/summary.py deleted file mode 100644 index 23ddd134e..000000000 --- a/src/py/mat3ra/esse/models/apse/materials/materials_project/summary.py +++ /dev/null @@ -1,886 +0,0 @@ -# generated by datamodel-codegen: -# filename: apse/materials/materials_project/summary.json -# version: 0.28.5 - -from __future__ import annotations - -from datetime import datetime -from typing import Any, Dict, List, Optional - -from pydantic import BaseModel, Field, RootModel - - -class BuilderMeta(BaseModel): - emmet_version: str - """ - Version of emmet library used - """ - pymatgen_version: str - """ - Version of pymatgen library used - """ - run_id: str - """ - Unique identifier for the calculation run - """ - batch_id: Optional[str] = None - """ - Batch identifier for grouped calculations - """ - database_version: str - """ - Version of the Materials Project database - """ - build_date: datetime - """ - Date when the calculation was performed - """ - license: str - """ - License information for the data - """ - - -class Symmetry(BaseModel): - crystal_system: str - """ - Crystal system classification - """ - symbol: str - """ - Space group symbol - """ - hall: Optional[str] = None - """ - Hall symbol - """ - number: int - """ - Space group number - """ - point_group: str - """ - Point group symbol - """ - symprec: float - """ - Symmetry precision tolerance - """ - angle_tolerance: float - """ - Angle tolerance for symmetry analysis - """ - version: str - """ - Version of symmetry analysis software - """ - - -class Origin(BaseModel): - name: str - """ - Origin name (e.g., structure, energy, magnetism) - """ - task_id: str - """ - Task identifier for this origin - """ - last_updated: datetime - """ - Last update for this origin - """ - - -class MatrixItem(RootModel[List[float]]): - root: List[float] - - -class Lattice(BaseModel): - matrix: List[MatrixItem] = Field(..., max_length=3, min_length=3) - """ - Lattice matrix - """ - pbc: List[bool] = Field(..., max_length=3, min_length=3) - """ - Periodic boundary conditions - """ - a: float - """ - Lattice parameter a - """ - b: float - """ - Lattice parameter b - """ - c: float - """ - Lattice parameter c - """ - alpha: float - """ - Lattice angle alpha - """ - beta: float - """ - Lattice angle beta - """ - gamma: float - """ - Lattice angle gamma - """ - volume: float - """ - Unit cell volume - """ - - -class Species(BaseModel): - element: str - """ - Chemical element - """ - occu: float - """ - Occupancy - """ - - -class Properties(BaseModel): - magmom: Optional[float] = None - """ - Magnetic moment - """ - - -class Site(BaseModel): - species: List[Species] - abc: List[float] = Field(..., max_length=3, min_length=3) - """ - Fractional coordinates - """ - properties: Optional[Properties] = None - label: str - """ - Site label - """ - xyz: List[float] = Field(..., max_length=3, min_length=3) - """ - Cartesian coordinates - """ - - -class Structure(BaseModel): - field_module: str = Field(..., alias="@module") - """ - Python module name - """ - field_class: str = Field(..., alias="@class") - """ - Python class name - """ - charge: float - """ - Total charge of the structure - """ - lattice: Lattice - properties: Dict[str, Any] - """ - Additional structure properties - """ - sites: List[Site] - - -class DecomposesToItem(BaseModel): - material_id: str - """ - Material ID of decomposition product - """ - formula: str - """ - Formula of decomposition product - """ - amount: float - """ - Amount of decomposition product - """ - - -class Xa(BaseModel): - edge: str - """ - XAS edge type (K, L, M, etc.) - """ - absorbing_element: str - """ - Element for XAS absorption - """ - spectrum_type: str - """ - Type of XAS spectrum (XANES, EXAFS, XAFS) - """ - - -class Lattice1(BaseModel): - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - matrix: List[MatrixItem] = Field(..., max_length=3, min_length=3) - pbc: List[bool] = Field(..., max_length=3, min_length=3) - - -class Kpoint(BaseModel): - lattice: Lattice1 - fcoords: List[float] = Field(..., max_length=3, min_length=3) - ccoords: List[float] = Field(..., max_length=3, min_length=3) - label: Optional[str] = None - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - - -class Cbm(BaseModel): - band_index: Dict[str, List[float]] - kpoint_index: List[float] - kpoint: Kpoint - energy: float - projections: Dict[str, List[List[float]]] - - -class Lattice2(BaseModel): - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - matrix: List[MatrixItem] = Field(..., max_length=3, min_length=3) - pbc: List[bool] = Field(..., max_length=3, min_length=3) - - -class Kpoint1(BaseModel): - lattice: Lattice2 - fcoords: List[float] = Field(..., max_length=3, min_length=3) - ccoords: List[float] = Field(..., max_length=3, min_length=3) - label: Optional[str] = None - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - - -class Vbm(BaseModel): - band_index: Dict[str, List[float]] - kpoint_index: List[float] - kpoint: Kpoint1 - energy: float - projections: Dict[str, List[List[float]]] - - -class SetyawanCurtarolo(BaseModel): - task_id: str - band_gap: float - cbm: Optional[Cbm] = None - vbm: Optional[Vbm] = None - efermi: Optional[float] = None - is_gap_direct: bool - is_metal: bool - magnetic_ordering: str - equivalent_labels: Dict[str, Dict[str, Dict[str, str]]] - nbands: float - direct_gap: float - - -class Lattice3(BaseModel): - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - matrix: List[MatrixItem] = Field(..., max_length=3, min_length=3) - pbc: List[bool] = Field(..., max_length=3, min_length=3) - - -class Kpoint2(BaseModel): - lattice: Lattice3 - fcoords: List[float] = Field(..., max_length=3, min_length=3) - ccoords: List[float] = Field(..., max_length=3, min_length=3) - label: Optional[str] = None - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - - -class Cbm1(BaseModel): - band_index: Dict[str, List[float]] - kpoint_index: List[float] - kpoint: Kpoint2 - energy: float - projections: Dict[str, List[List[float]]] - - -class Lattice4(BaseModel): - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - matrix: List[MatrixItem] = Field(..., max_length=3, min_length=3) - pbc: List[bool] = Field(..., max_length=3, min_length=3) - - -class Kpoint3(BaseModel): - lattice: Lattice4 - fcoords: List[float] = Field(..., max_length=3, min_length=3) - ccoords: List[float] = Field(..., max_length=3, min_length=3) - label: Optional[str] = None - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - - -class Vbm1(BaseModel): - band_index: Dict[str, List[float]] - kpoint_index: List[float] - kpoint: Kpoint3 - energy: float - projections: Dict[str, List[List[float]]] - - -class Hinuma(BaseModel): - task_id: str - band_gap: float - cbm: Optional[Cbm1] = None - vbm: Optional[Vbm1] = None - efermi: Optional[float] = None - is_gap_direct: bool - is_metal: bool - magnetic_ordering: str - equivalent_labels: Dict[str, Dict[str, Dict[str, str]]] - nbands: float - direct_gap: float - - -class Lattice5(BaseModel): - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - matrix: List[MatrixItem] = Field(..., max_length=3, min_length=3) - pbc: List[bool] = Field(..., max_length=3, min_length=3) - - -class Kpoint4(BaseModel): - lattice: Lattice5 - fcoords: List[float] = Field(..., max_length=3, min_length=3) - ccoords: List[float] = Field(..., max_length=3, min_length=3) - label: Optional[str] = None - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - - -class Cbm2(BaseModel): - band_index: Dict[str, List[float]] - kpoint_index: List[float] - kpoint: Kpoint4 - energy: float - projections: Dict[str, List[List[float]]] - - -class Lattice6(BaseModel): - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - matrix: List[MatrixItem] = Field(..., max_length=3, min_length=3) - pbc: List[bool] = Field(..., max_length=3, min_length=3) - - -class Kpoint5(BaseModel): - lattice: Lattice6 - fcoords: List[float] = Field(..., max_length=3, min_length=3) - ccoords: List[float] = Field(..., max_length=3, min_length=3) - label: Optional[str] = None - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - - -class Vbm2(BaseModel): - band_index: Dict[str, List[float]] - kpoint_index: List[float] - kpoint: Kpoint5 - energy: float - projections: Dict[str, List[List[float]]] - - -class LatimerMunro(BaseModel): - task_id: str - band_gap: float - cbm: Optional[Cbm2] = None - vbm: Optional[Vbm2] = None - efermi: Optional[float] = None - is_gap_direct: bool - is_metal: bool - magnetic_ordering: str - equivalent_labels: Dict[str, Dict[str, Dict[str, str]]] - nbands: float - direct_gap: float - - -class Bandstructure(BaseModel): - setyawan_curtarolo: Optional[SetyawanCurtarolo] = None - hinuma: Optional[Hinuma] = None - latimer_munro: Optional[LatimerMunro] = None - - -class Total(BaseModel): - task_id: str - band_gap: float - cbm: Optional[float] = None - vbm: Optional[float] = None - efermi: float - spin_polarization: Optional[float] = None - - -class S(BaseModel): - task_id: str - band_gap: float - cbm: Optional[float] = None - vbm: Optional[float] = None - efermi: float - spin_polarization: Optional[float] = None - - -class P(BaseModel): - task_id: str - band_gap: float - cbm: Optional[float] = None - vbm: Optional[float] = None - efermi: float - spin_polarization: Optional[float] = None - - -class D(BaseModel): - task_id: str - band_gap: float - cbm: Optional[float] = None - vbm: Optional[float] = None - efermi: float - spin_polarization: Optional[float] = None - - -class Elemental(BaseModel): - total: Optional[Dict[str, Total]] = None - s: Optional[Dict[str, S]] = None - p: Optional[Dict[str, P]] = None - d: Optional[Dict[str, D]] = None - - -class Orbital(BaseModel): - s: Optional[Dict[str, S]] = None - p: Optional[Dict[str, P]] = None - d: Optional[Dict[str, D]] = None - - -class Dos(BaseModel): - total: Optional[Dict[str, Total]] = None - elemental: Optional[Dict[str, Elemental]] = None - orbital: Optional[Orbital] = None - magnetic_ordering: Optional[str] = None - """ - Magnetic ordering type - """ - - -class BulkModulus(BaseModel): - voigt: float - """ - Voigt bulk modulus in GPa - """ - reuss: float - """ - Reuss bulk modulus in GPa - """ - vrh: float - """ - Voigt-Reuss-Hill bulk modulus in GPa - """ - - -class ShearModulus(BaseModel): - voigt: float - """ - Voigt shear modulus in GPa - """ - reuss: float - """ - Reuss shear modulus in GPa - """ - vrh: float - """ - Voigt-Reuss-Hill shear modulus in GPa - """ - - -class HasProps(BaseModel): - materials: bool - thermo: bool - xas: bool - grain_boundaries: bool - chemenv: bool - electronic_structure: bool - absorption: bool - bandstructure: bool - dos: bool - magnetism: bool - elasticity: bool - dielectric: bool - piezoelectric: bool - surface_properties: bool - oxi_states: bool - provenance: bool - charge_density: bool - eos: bool - phonon: bool - insertion_electrodes: bool - substrates: bool - - -class DatabaseIDs(BaseModel): - icsd: Optional[List[str]] = None - """ - ICSD database identifiers - """ - - -class MaterialsProjectSchema(BaseModel): - builder_meta: BuilderMeta - nsites: int - """ - Number of sites in the structure - """ - elements: List[str] - """ - List of chemical elements in the material - """ - nelements: int - """ - Number of unique elements - """ - composition: Dict[str, float] - """ - Chemical composition as element: count mapping - """ - composition_reduced: Dict[str, float] - """ - Reduced chemical composition - """ - formula_pretty: str - """ - Human-readable chemical formula - """ - formula_anonymous: str - """ - Anonymous chemical formula - """ - chemsys: str - """ - Chemical system identifier - """ - volume: float - """ - Unit cell volume in cubic Angstroms - """ - density: float - """ - Material density in g/cm³ - """ - density_atomic: float - """ - Atomic density - """ - symmetry: Symmetry - material_id: str - """ - Unique Materials Project identifier - """ - deprecated: bool - """ - Whether this material entry is deprecated - """ - deprecation_reasons: Optional[List[str]] = None - """ - Reasons for deprecation if applicable - """ - last_updated: datetime - """ - Last update timestamp - """ - origins: List[Origin] - warnings: List[str] - """ - Warning messages - """ - structure: Structure - property_name: str - """ - Name of the property endpoint - """ - task_ids: List[str] - """ - List of task identifiers - """ - uncorrected_energy_per_atom: float - """ - Uncorrected energy per atom in eV - """ - energy_per_atom: float - """ - Energy per atom in eV - """ - formation_energy_per_atom: float - """ - Formation energy per atom in eV - """ - energy_above_hull: float - """ - Energy above convex hull in eV - """ - is_stable: bool - """ - Whether the material is thermodynamically stable - """ - equilibrium_reaction_energy_per_atom: Optional[float] = None - """ - Equilibrium reaction energy per atom in eV - """ - decomposes_to: Optional[List[DecomposesToItem]] = None - xas: Optional[List[Xa]] = None - grain_boundaries: Optional[Dict[str, Any]] = None - """ - Grain boundary information - """ - band_gap: float - """ - Band gap in eV - """ - cbm: Optional[float] = None - """ - Conduction band minimum in eV - """ - vbm: Optional[float] = None - """ - Valence band maximum in eV - """ - efermi: Optional[float] = None - """ - Fermi energy in eV - """ - is_gap_direct: bool - """ - Whether the band gap is direct - """ - is_metal: bool - """ - Whether the material is metallic - """ - es_source_calc_id: Optional[str] = None - """ - Source calculation ID for electronic structure - """ - bandstructure: Optional[Bandstructure] = None - dos: Optional[Dos] = None - dos_energy_up: Optional[Dict[str, Any]] = None - """ - Density of states for spin up - """ - dos_energy_down: Optional[Dict[str, Any]] = None - """ - Density of states for spin down - """ - is_magnetic: bool - """ - Whether the material is magnetic - """ - ordering: str - """ - Magnetic ordering - """ - total_magnetization: float - """ - Total magnetization - """ - total_magnetization_normalized_vol: float - """ - Volume-normalized magnetization - """ - total_magnetization_normalized_formula_units: float - """ - Formula unit normalized magnetization - """ - num_magnetic_sites: float - """ - Number of magnetic sites - """ - num_unique_magnetic_sites: float - """ - Number of unique magnetic sites - """ - types_of_magnetic_species: List[str] - """ - Types of magnetic species - """ - bulk_modulus: Optional[BulkModulus] = None - shear_modulus: Optional[ShearModulus] = None - universal_anisotropy: Optional[float] = None - """ - Universal anisotropy index - """ - homogeneous_poisson: Optional[float] = None - """ - Homogeneous Poisson ratio - """ - e_total: Optional[float] = None - """ - Total energy - """ - e_ionic: Optional[float] = None - """ - Ionic energy - """ - e_electronic: Optional[float] = None - """ - Electronic energy - """ - n: Optional[float] = None - """ - Refractive index - """ - e_ij_max: Optional[float] = None - """ - Maximum elastic constant - """ - weighted_surface_energy_EV_PER_ANG2: Optional[float] = None - """ - Weighted surface energy in eV/Ų - """ - weighted_surface_energy: Optional[float] = None - """ - Weighted surface energy - """ - weighted_work_function: Optional[float] = None - """ - Weighted work function - """ - surface_anisotropy: Optional[float] = None - """ - Surface anisotropy - """ - shape_factor: Optional[float] = None - """ - Shape factor - """ - has_reconstructed: Optional[bool] = None - """ - Whether surface has reconstruction - """ - possible_species: Optional[List[str]] = None - """ - Possible ionic species - """ - has_props: HasProps - theoretical: bool - """ - Whether this is a theoretical material - """ - database_IDs: DatabaseIDs - - -class Lattice7(BaseModel): - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - matrix: List[MatrixItem] = Field(..., max_length=3, min_length=3) - pbc: List[bool] = Field(..., max_length=3, min_length=3) - - -class Kpoint6(BaseModel): - lattice: Lattice7 - fcoords: List[float] = Field(..., max_length=3, min_length=3) - ccoords: List[float] = Field(..., max_length=3, min_length=3) - label: Optional[str] = None - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - - -class Cbm3(BaseModel): - band_index: Dict[str, List[float]] - kpoint_index: List[float] - kpoint: Kpoint6 - energy: float - projections: Dict[str, List[List[float]]] - - -class Lattice8(BaseModel): - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - matrix: List[MatrixItem] = Field(..., max_length=3, min_length=3) - pbc: List[bool] = Field(..., max_length=3, min_length=3) - - -class Kpoint7(BaseModel): - lattice: Lattice8 - fcoords: List[float] = Field(..., max_length=3, min_length=3) - ccoords: List[float] = Field(..., max_length=3, min_length=3) - label: Optional[str] = None - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - - -class Vbm3(BaseModel): - band_index: Dict[str, List[float]] - kpoint_index: List[float] - kpoint: Kpoint7 - energy: float - projections: Dict[str, List[List[float]]] - - -class BandstructureData(BaseModel): - task_id: str - band_gap: float - cbm: Optional[Cbm3] = None - vbm: Optional[Vbm3] = None - efermi: Optional[float] = None - is_gap_direct: bool - is_metal: bool - magnetic_ordering: str - equivalent_labels: Dict[str, Dict[str, Dict[str, str]]] - nbands: float - direct_gap: float - - -class Lattice9(BaseModel): - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - matrix: List[MatrixItem] = Field(..., max_length=3, min_length=3) - pbc: List[bool] = Field(..., max_length=3, min_length=3) - - -class Kpoint8(BaseModel): - lattice: Lattice9 - fcoords: List[float] = Field(..., max_length=3, min_length=3) - ccoords: List[float] = Field(..., max_length=3, min_length=3) - label: Optional[str] = None - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - - -class BandExtrema(BaseModel): - band_index: Dict[str, List[float]] - kpoint_index: List[float] - kpoint: Kpoint8 - energy: float - projections: Dict[str, List[List[float]]] - - -class Lattice10(BaseModel): - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - matrix: List[MatrixItem] = Field(..., max_length=3, min_length=3) - pbc: List[bool] = Field(..., max_length=3, min_length=3) - - -class Kpoint9(BaseModel): - lattice: Lattice10 - fcoords: List[float] = Field(..., max_length=3, min_length=3) - ccoords: List[float] = Field(..., max_length=3, min_length=3) - label: Optional[str] = None - field_module: str = Field(..., alias="@module") - field_class: str = Field(..., alias="@class") - - -class DosData(BaseModel): - task_id: str - band_gap: float - cbm: Optional[float] = None - vbm: Optional[float] = None - efermi: float - spin_polarization: Optional[float] = None 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/core/abstract/kpoint.py b/src/py/mat3ra/esse/models/core/abstract/kpoint.py deleted file mode 100644 index 81e00ebec..000000000 --- a/src/py/mat3ra/esse/models/core/abstract/kpoint.py +++ /dev/null @@ -1,16 +0,0 @@ -# generated by datamodel-codegen: -# filename: core/abstract/kpoint.json -# version: 0.28.5 - -from __future__ import annotations - -from typing import List - -from pydantic import Field, RootModel - - -class KpointSchema(RootModel[List[float]]): - root: List[float] = Field(..., max_length=3, min_length=3, title="kpoint schema") - """ - A k-point is a point in reciprocal space of a crystal. - """ diff --git a/src/py/mat3ra/esse/models/core/abstract/multidimensional_array.py b/src/py/mat3ra/esse/models/core/abstract/multidimensional_array.py new file mode 100644 index 000000000..a80176884 --- /dev/null +++ b/src/py/mat3ra/esse/models/core/abstract/multidimensional_array.py @@ -0,0 +1,47 @@ +# generated by datamodel-codegen: +# filename: core/abstract/multidimensional_array.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import List, Optional + +from pydantic import BaseModel, Field, RootModel, conint + + +class ShapeItem(RootModel[conint(ge=0)]): + root: conint(ge=0) + + +class Axe(BaseModel): + name: str + """ + Axis name, e.g. x, y, bias, time. + """ + values: Optional[List[float]] = None + """ + Explicit coordinate of each point along this axis. + """ + start: Optional[float] = None + """ + Coordinate of the first point, when the axis is evenly spaced. + """ + step: Optional[float] = None + """ + Spacing between points, when the axis is evenly spaced. + """ + + +class MultidimensionalArraySchema(BaseModel): + shape: List[ShapeItem] = Field(..., min_length=1) + """ + Length of each dimension, outermost first, e.g. [256, 256] for a square image. + """ + values: Optional[List[float]] = None + """ + Flattened values in row-major (C) order, length equal to the product of shape. Omitted when the data is stored out of line, which is the normal case for real measurements. + """ + axes: List[Axe] + """ + One entry per dimension, in shape order. An axis is given either by explicit values or by a start and a step. + """ diff --git a/src/py/mat3ra/esse/models/core/reference/__init__.py b/src/py/mat3ra/esse/models/core/reference/__init__.py index 986bd625e..b35f80cb4 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 Type123(Enum): +class Type130(Enum): experiment = "experiment" @@ -83,7 +83,7 @@ class LocationSchema(BaseModel): """ -class Type124(Enum): +class Type131(Enum): literature = "literature" @@ -93,7 +93,7 @@ class PagesSchema(BaseModel): class LiteratureReferenceSchema(BaseModel): - type: Optional[Type124] = None + type: Optional[Type131] = None doi: Optional[str] = None """ Digital Object Identifier of the reference. @@ -153,7 +153,7 @@ class LiteratureReferenceSchema(BaseModel): class InfoForCharacteristicObtainedByExperiment(BaseModel): - type: Optional[Type123] = None + type: Optional[Type130] = None authors: List[ExperimentAuthorSchema] """ experiment authors @@ -183,7 +183,7 @@ class InfoForCharacteristicObtainedByExperiment(BaseModel): class LiteratureReferenceSchema12(BaseModel): - type: Optional[Type124] = None + type: Optional[Type131] = 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 5f1b2944d..1f6bf5fb3 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 Type79(Enum): +class Type80(Enum): literature = "literature" @@ -61,7 +61,7 @@ class PagesSchema(BaseModel): class LiteratureReferenceSchema(BaseModel): - type: Optional[Type79] = None + type: Optional[Type80] = None doi: Optional[str] = None """ Digital Object Identifier of the reference. diff --git a/src/py/mat3ra/esse/models/core/reference/measurement.py b/src/py/mat3ra/esse/models/core/reference/measurement.py new file mode 100644 index 000000000..6832c88f2 --- /dev/null +++ b/src/py/mat3ra/esse/models/core/reference/measurement.py @@ -0,0 +1,34 @@ +# generated by datamodel-codegen: +# filename: core/reference/measurement.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Type(Enum): + measurement = "measurement" + + +class InfoForAValueObtainedByMeasurement(BaseModel): + type: Optional[Type] = None + measurementId: str + """ + Measurement's identity + """ + channel: Optional[str] = None + """ + Data channel or analysis step the value was extracted from, e.g. the phase channel of a switching-spectroscopy acquisition + """ + sampleId: Optional[str] = None + """ + Identity of the sample the measurement was taken on + """ + instrumentId: Optional[str] = None + """ + Identity of the instrument the measurement was taken with + """ diff --git a/src/py/mat3ra/esse/models/core/reference/process.py b/src/py/mat3ra/esse/models/core/reference/process.py new file mode 100644 index 000000000..9d1b19ab2 --- /dev/null +++ b/src/py/mat3ra/esse/models/core/reference/process.py @@ -0,0 +1,30 @@ +# generated by datamodel-codegen: +# filename: core/reference/process.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Type(Enum): + process = "process" + + +class InfoForAValueObtainedFromAProcess(BaseModel): + type: Optional[Type] = None + processId: str + """ + Process's identity + """ + stepFlowchartId: Optional[str] = None + """ + flowchartId of the step the value came from, the analogue of unitId + """ + sampleId: Optional[str] = None + """ + Identity of the sample the process produced + """ diff --git a/src/py/mat3ra/esse/models/core/reusable/array_data.py b/src/py/mat3ra/esse/models/core/reusable/array_data.py new file mode 100644 index 000000000..15992ccf5 --- /dev/null +++ b/src/py/mat3ra/esse/models/core/reusable/array_data.py @@ -0,0 +1,180 @@ +# generated by datamodel-codegen: +# filename: core/reusable/array_data.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, Field, RootModel, conint + + +class DataType(Enum): + float32 = "float32" + float64 = "float64" + int8 = "int8" + int16 = "int16" + int32 = "int32" + int64 = "int64" + uint8 = "uint8" + uint16 = "uint16" + uint32 = "uint32" + uint64 = "uint64" + + +class Format(Enum): + asylum_ibw = "asylum_ibw" + nanonis_sxm = "nanonis_sxm" + nanonis_dat = "nanonis_dat" + gwyddion_gwy = "gwyddion_gwy" + bruker_nanoscope = "bruker_nanoscope" + nexus_hdf5 = "nexus_hdf5" + usid_hdf5 = "usid_hdf5" + hdf5 = "hdf5" + npy = "npy" + csv = "csv" + tsv = "tsv" + xlsx = "xlsx" + tiff = "tiff" + png = "png" + json = "json" + txt = "txt" + other = "other" + + +class Algorithm(Enum): + md5 = "md5" + sha1 = "sha1" + sha256 = "sha256" + + +class Checksum(BaseModel): + algorithm: Algorithm + value: str + + +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 Role(Enum): + raw = "raw" + processed = "processed" + log = "log" + image = "image" + metadata = "metadata" + other = "other" + + +class FileReferenceSchema(BaseModel): + format: Optional[Format] = None + """ + Vendor or interchange format the file is written in. + """ + size: Optional[conint(ge=0)] = None + """ + Size of the file in bytes. + """ + checksum: Optional[Checksum] = None + """ + Content hash, so a referenced file can be identified after it moves. + """ + url: Optional[str] = None + """ + Location the file can be retrieved from. + """ + objectData: Optional[ObjectStorageContainerData] = Field(None, title="Object Storage Container Data") + role: Optional[Role] = None + """ + What the file is to the record that references it. + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: str + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class ShapeItem(RootModel[conint(ge=0)]): + root: conint(ge=0) + + +class Axe(BaseModel): + name: str + """ + Axis name, e.g. x, y, bias, time. + """ + values: Optional[List[float]] = None + """ + Explicit coordinate of each point along this axis. + """ + start: Optional[float] = None + """ + Coordinate of the first point, when the axis is evenly spaced. + """ + step: Optional[float] = None + """ + Spacing between points, when the axis is evenly spaced. + """ + + +class ArrayDataSchema(BaseModel): + units: Optional[str] = None + """ + Units of the values, e.g. nm for a topography channel. + """ + dataType: Optional[DataType] = None + """ + Storage type of the values in the referenced file. + """ + file: Optional[FileReferenceSchema] = Field(None, title="file reference schema") + """ + A file kept outside the record: its metadata, the vendor format it is written in, a checksum and where it lives. Unlike system/file_source, which requires the file content as text, this references binary instrument output (an Igor binary wave, a Nanonis scan) without embedding it. + """ + datasetPath: Optional[str] = None + """ + Path to the dataset inside the file, e.g. an HDF5 path or an Igor layer label such as HeightRetrace. + """ + shape: List[ShapeItem] = Field(..., min_length=1) + """ + Length of each dimension, outermost first, e.g. [256, 256] for a square image. + """ + values: Optional[List[float]] = None + """ + Flattened values in row-major (C) order, length equal to the product of shape. Omitted when the data is stored out of line, which is the normal case for real measurements. + """ + axes: List[Axe] + """ + One entry per dimension, in shape order. An axis is given either by explicit values or by a start and a step. + """ diff --git a/src/py/mat3ra/esse/models/core/reusable/axis_enum.py b/src/py/mat3ra/esse/models/core/reusable/axis_enum.py deleted file mode 100644 index 792ccc783..000000000 --- a/src/py/mat3ra/esse/models/core/reusable/axis_enum.py +++ /dev/null @@ -1,13 +0,0 @@ -# generated by datamodel-codegen: -# filename: core/reusable/axis_enum.json -# version: 0.28.5 - -from __future__ import annotations - -from enum import Enum - - -class AxisEnum(Enum): - x = "x" - y = "y" - z = "z" diff --git a/src/py/mat3ra/esse/models/core/reusable/energy.py b/src/py/mat3ra/esse/models/core/reusable/energy.py index 0e6ac6ac9..38e947fd9 100644 --- a/src/py/mat3ra/esse/models/core/reusable/energy.py +++ b/src/py/mat3ra/esse/models/core/reusable/energy.py @@ -21,11 +21,11 @@ class Units(Enum): eV_atom = "eV/atom" -class Units197(Enum): +class Units221(Enum): eV_A_2 = "eV/A^2" class EnergySchema(BaseModel): name: str - units: Union[Units, Units197] + units: Union[Units, Units221] value: float diff --git a/src/py/mat3ra/esse/models/core/reusable/environment.py b/src/py/mat3ra/esse/models/core/reusable/environment.py new file mode 100644 index 000000000..2fb207ca3 --- /dev/null +++ b/src/py/mat3ra/esse/models/core/reusable/environment.py @@ -0,0 +1,79 @@ +# generated by datamodel-codegen: +# filename: core/reusable/environment.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): + K = "K" + degC = "degC" + + +class TemperatureQuantitySchema(BaseModel): + units: Optional[Units] = "K" + value: float + + +class Units223(Enum): + kbar = "kbar" + pa = "pa" + Torr = "Torr" + mTorr = "mTorr" + mbar = "mbar" + bar = "bar" + atm = "atm" + + +class PressureQuantitySchema(BaseModel): + units: Units223 + value: float + + +class Atmosphere(Enum): + ambient = "ambient" + vacuum = "vacuum" + high_vacuum = "high_vacuum" + ultra_high_vacuum = "ultra_high_vacuum" + nitrogen = "nitrogen" + argon = "argon" + oxygen = "oxygen" + forming_gas = "forming_gas" + liquid = "liquid" + other = "other" + + +class Units224(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Humidity(BaseModel): + value: Optional[float] = None + units: Optional[Units224] = None + + +class EnvironmentSchema(BaseModel): + temperature: Optional[TemperatureQuantitySchema] = Field(None, title="temperature quantity schema") + """ + A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + pressure: Optional[PressureQuantitySchema] = Field(None, title="pressure quantity schema") + """ + A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + atmosphere: Optional[Atmosphere] = None + """ + Gas or vacuum the sample sits in. + """ + humidity: Optional[Humidity] = None + """ + Relative humidity, as a percentage. + """ diff --git a/src/py/mat3ra/esse/models/core/reusable/file_reference.py b/src/py/mat3ra/esse/models/core/reusable/file_reference.py new file mode 100644 index 000000000..91bf3c680 --- /dev/null +++ b/src/py/mat3ra/esse/models/core/reusable/file_reference.py @@ -0,0 +1,113 @@ +# generated by datamodel-codegen: +# filename: core/reusable/file_reference.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, Field, conint + + +class Format(Enum): + asylum_ibw = "asylum_ibw" + nanonis_sxm = "nanonis_sxm" + nanonis_dat = "nanonis_dat" + gwyddion_gwy = "gwyddion_gwy" + bruker_nanoscope = "bruker_nanoscope" + nexus_hdf5 = "nexus_hdf5" + usid_hdf5 = "usid_hdf5" + hdf5 = "hdf5" + npy = "npy" + csv = "csv" + tsv = "tsv" + xlsx = "xlsx" + tiff = "tiff" + png = "png" + json = "json" + txt = "txt" + other = "other" + + +class Algorithm(Enum): + md5 = "md5" + sha1 = "sha1" + sha256 = "sha256" + + +class Checksum(BaseModel): + algorithm: Algorithm + value: str + + +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 Role(Enum): + raw = "raw" + processed = "processed" + log = "log" + image = "image" + metadata = "metadata" + other = "other" + + +class FileReferenceSchema(BaseModel): + format: Optional[Format] = None + """ + Vendor or interchange format the file is written in. + """ + size: Optional[conint(ge=0)] = None + """ + Size of the file in bytes. + """ + checksum: Optional[Checksum] = None + """ + Content hash, so a referenced file can be identified after it moves. + """ + url: Optional[str] = None + """ + Location the file can be retrieved from. + """ + objectData: Optional[ObjectStorageContainerData] = Field(None, title="Object Storage Container Data") + role: Optional[Role] = None + """ + What the file is to the record that references it. + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: str + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ diff --git a/src/py/mat3ra/esse/models/core/reusable/hubbard_parameters.py b/src/py/mat3ra/esse/models/core/reusable/hubbard_parameters.py deleted file mode 100644 index 42a83f2d3..000000000 --- a/src/py/mat3ra/esse/models/core/reusable/hubbard_parameters.py +++ /dev/null @@ -1,48 +0,0 @@ -# generated by datamodel-codegen: -# filename: core/reusable/hubbard_parameters.json -# version: 0.28.5 - -from __future__ import annotations - -from enum import Enum -from typing import List, Optional - -from pydantic import BaseModel, constr - - -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 HubbardParametersReusableSchema(BaseModel): - units: Units - values: List[AtomicDataPerOrbitalPairNumeric] diff --git a/src/py/mat3ra/esse/models/core/reusable/identifier.py b/src/py/mat3ra/esse/models/core/reusable/identifier.py new file mode 100644 index 000000000..a4dc4c27c --- /dev/null +++ b/src/py/mat3ra/esse/models/core/reusable/identifier.py @@ -0,0 +1,31 @@ +# generated by datamodel-codegen: +# filename: core/reusable/identifier.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Scheme(Enum): + internal = "internal" + htem = "htem" + lmc = "lmc" + igsn = "igsn" + doi = "doi" + barcode = "barcode" + vendor = "vendor" + other = "other" + + +class IdentifierSchema(BaseModel): + scheme: Scheme + """ + Namespace the value is unique within. + """ + value: str + """ + The identifier itself. + """ diff --git a/src/py/mat3ra/esse/models/apse/materials/materials_project/__init__.py b/src/py/mat3ra/esse/models/core/reusable/quantity/__init__.py similarity index 100% rename from src/py/mat3ra/esse/models/apse/materials/materials_project/__init__.py rename to src/py/mat3ra/esse/models/core/reusable/quantity/__init__.py diff --git a/src/py/mat3ra/esse/models/core/reusable/quantity/current.py b/src/py/mat3ra/esse/models/core/reusable/quantity/current.py new file mode 100644 index 000000000..44dc021fe --- /dev/null +++ b/src/py/mat3ra/esse/models/core/reusable/quantity/current.py @@ -0,0 +1,22 @@ +# generated by datamodel-codegen: +# filename: core/reusable/quantity/current.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Units(Enum): + A = "A" + mA = "mA" + uA = "uA" + nA = "nA" + pA = "pA" + + +class CurrentQuantitySchema(BaseModel): + units: Units + value: float diff --git a/src/py/mat3ra/esse/models/core/reusable/quantity/frequency.py b/src/py/mat3ra/esse/models/core/reusable/quantity/frequency.py new file mode 100644 index 000000000..71338044e --- /dev/null +++ b/src/py/mat3ra/esse/models/core/reusable/quantity/frequency.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: core/reusable/quantity/frequency.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Units(Enum): + cm_1 = "cm-1" + THz = "THz" + meV = "meV" + Hz = "Hz" + kHz = "kHz" + MHz = "MHz" + GHz = "GHz" + + +class FrequencyQuantitySchema(BaseModel): + units: Units + value: float diff --git a/src/py/mat3ra/esse/models/core/reusable/quantity/length.py b/src/py/mat3ra/esse/models/core/reusable/quantity/length.py new file mode 100644 index 000000000..7d3486675 --- /dev/null +++ b/src/py/mat3ra/esse/models/core/reusable/quantity/length.py @@ -0,0 +1,27 @@ +# generated by datamodel-codegen: +# filename: core/reusable/quantity/length.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +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 LengthQuantitySchema(BaseModel): + units: Units + value: float diff --git a/src/py/mat3ra/esse/models/core/reusable/quantity/pressure.py b/src/py/mat3ra/esse/models/core/reusable/quantity/pressure.py new file mode 100644 index 000000000..4570bb55e --- /dev/null +++ b/src/py/mat3ra/esse/models/core/reusable/quantity/pressure.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: core/reusable/quantity/pressure.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Units(Enum): + kbar = "kbar" + pa = "pa" + Torr = "Torr" + mTorr = "mTorr" + mbar = "mbar" + bar = "bar" + atm = "atm" + + +class PressureQuantitySchema(BaseModel): + units: Units + value: float diff --git a/src/py/mat3ra/esse/models/core/reusable/quantity/temperature.py b/src/py/mat3ra/esse/models/core/reusable/quantity/temperature.py new file mode 100644 index 000000000..f88ce56ae --- /dev/null +++ b/src/py/mat3ra/esse/models/core/reusable/quantity/temperature.py @@ -0,0 +1,20 @@ +# generated by datamodel-codegen: +# filename: core/reusable/quantity/temperature.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Units(Enum): + K = "K" + degC = "degC" + + +class TemperatureQuantitySchema(BaseModel): + units: Optional[Units] = "K" + value: float diff --git a/src/py/mat3ra/esse/models/core/reusable/quantity/time.py b/src/py/mat3ra/esse/models/core/reusable/quantity/time.py new file mode 100644 index 000000000..63aa020b1 --- /dev/null +++ b/src/py/mat3ra/esse/models/core/reusable/quantity/time.py @@ -0,0 +1,24 @@ +# generated by datamodel-codegen: +# filename: core/reusable/quantity/time.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Units(Enum): + s = "s" + ms = "ms" + us = "us" + ns = "ns" + min = "min" + h = "h" + + +class TimeQuantitySchema(BaseModel): + units: Optional[Units] = "s" + value: float diff --git a/src/py/mat3ra/esse/models/core/reusable/quantity/voltage.py b/src/py/mat3ra/esse/models/core/reusable/quantity/voltage.py new file mode 100644 index 000000000..3109e6cbb --- /dev/null +++ b/src/py/mat3ra/esse/models/core/reusable/quantity/voltage.py @@ -0,0 +1,21 @@ +# generated by datamodel-codegen: +# filename: core/reusable/quantity/voltage.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum + +from pydantic import BaseModel + + +class Units(Enum): + V = "V" + mV = "mV" + uV = "uV" + kV = "kV" + + +class VoltageQuantitySchema(BaseModel): + units: Units + value: float 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/definitions/materials.py b/src/py/mat3ra/esse/models/definitions/materials.py deleted file mode 100644 index 1c8eaaeb4..000000000 --- a/src/py/mat3ra/esse/models/definitions/materials.py +++ /dev/null @@ -1,13 +0,0 @@ -# generated by datamodel-codegen: -# filename: definitions/materials.json -# version: 0.28.5 - -from __future__ import annotations - -from typing import Any - -from pydantic import Field, RootModel - - -class MaterialsDefinitions(RootModel[Any]): - root: Any = Field(..., title="Materials Definitions") diff --git a/src/py/mat3ra/esse/models/element.py b/src/py/mat3ra/esse/models/element.py index 5be808fa4..8cd29c27e 100644 --- a/src/py/mat3ra/esse/models/element.py +++ b/src/py/mat3ra/esse/models/element.py @@ -167,7 +167,7 @@ class Name494(Enum): ionization_potential = "ionization_potential" -class Units195(Enum): +class Units219(Enum): kcal_mol = "kcal/mol" kJ_mol = "kJ/mol" eV = "eV" @@ -180,7 +180,7 @@ class Units195(Enum): class IonizationPotentialElementalPropertySchema(BaseModel): name: Name494 - units: Units195 + units: Units219 value: float diff --git a/src/py/mat3ra/esse/models/instrument/__init__.py b/src/py/mat3ra/esse/models/instrument/__init__.py new file mode 100644 index 000000000..e7974c894 --- /dev/null +++ b/src/py/mat3ra/esse/models/instrument/__init__.py @@ -0,0 +1,310 @@ +# generated by datamodel-codegen: +# filename: instrument.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): + characterization = "characterization" + + +class SlugifiedEntryOrSlug165(Enum): + microscopy = "microscopy" + spectroscopy = "spectroscopy" + diffraction = "diffraction" + electrical = "electrical" + optical = "optical" + + +class SlugifiedEntryOrSlug166(Enum): + scanning_probe_microscopy = "scanning_probe_microscopy" + electron_microscopy = "electron_microscopy" + x_ray = "x_ray" + transport = "transport" + dielectric = "dielectric" + ultraviolet_visible_near_infrared = "ultraviolet_visible_near_infrared" + + +class SlugifiedEntryOrSlug167(Enum): + atomic_force_microscopy = "atomic_force_microscopy" + scanning_tunneling_microscopy = "scanning_tunneling_microscopy" + scanning_tunneling_spectroscopy = "scanning_tunneling_spectroscopy" + piezoresponse_force_microscopy = "piezoresponse_force_microscopy" + kelvin_probe_force_microscopy = "kelvin_probe_force_microscopy" + conductive_atomic_force_microscopy = "conductive_atomic_force_microscopy" + magnetic_force_microscopy = "magnetic_force_microscopy" + + +class SlugifiedEntryOrSlug168(Enum): + experimental = "experimental" + + +class CharacterizationTechniqueCategorySchema(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 + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug165]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug166]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug167]] = 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 + """ + + +class SlugifiedEntryOrSlug169(Enum): + synthesis = "synthesis" + + +class SlugifiedEntryOrSlug170(Enum): + vapor_deposition = "vapor_deposition" + solution_processing = "solution_processing" + bulk_growth = "bulk_growth" + post_processing = "post_processing" + + +class SlugifiedEntryOrSlug171(Enum): + physical_vapor_deposition = "physical_vapor_deposition" + chemical_vapor_deposition = "chemical_vapor_deposition" + annealing = "annealing" + + +class SlugifiedEntryOrSlug172(Enum): + pulsed_laser_deposition = "pulsed_laser_deposition" + sputtering = "sputtering" + molecular_beam_epitaxy = "molecular_beam_epitaxy" + thermal_evaporation = "thermal_evaporation" + electron_beam_evaporation = "electron_beam_evaporation" + atomic_layer_deposition = "atomic_layer_deposition" + plasma_enhanced_atomic_layer_deposition = "plasma_enhanced_atomic_layer_deposition" + thermal_chemical_vapor_deposition = "thermal_chemical_vapor_deposition" + metalorganic_chemical_vapor_deposition = "metalorganic_chemical_vapor_deposition" + plasma_enhanced_chemical_vapor_deposition = "plasma_enhanced_chemical_vapor_deposition" + + +class SlugifiedEntryOrSlug173(Enum): + experimental = "experimental" + + +class SynthesisTechniqueCategorySchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug169]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug170]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug171]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug172]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug173]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class Kind(Enum): + probe = "probe" + cantilever = "cantilever" + scanner = "scanner" + laser = "laser" + detector = "detector" + lock_in_amplifier = "lock_in_amplifier" + controller = "controller" + heater = "heater" + cryostat = "cryostat" + chamber = "chamber" + stage = "stage" + evaporation_source = "evaporation_source" + target_holder = "target_holder" + gas_line = "gas_line" + mass_flow_controller = "mass_flow_controller" + pump = "pump" + gauge = "gauge" + other = "other" + + +class InstrumentComponentSchema(BaseModel): + kind: Kind + name: str + vendor: Optional[str] = None + model: Optional[str] = None + serialNumber: Optional[str] = None + parameters: Optional[Dict[str, Any]] = None + """ + Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever. + """ + + +class RunConfig(BaseModel): + commandTemplate: str + """ + The command template of the application + """ + outFileName: str + """ + The output file name of the application + """ + + +class ApplicationSchema(BaseModel): + 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 + """ + isDefaultVersion: Optional[bool] = None + """ + Whether the version is the default version + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + isUsingMaterial: Optional[bool] = None + """ + Whether the application is using (being passed during a downstream processing routine) a material structure. + """ + runConfig: Optional[RunConfig] = None + """ + The run configuration of the application + """ + + +class Location(BaseModel): + facility: Optional[str] = None + laboratory: Optional[str] = None + room: Optional[str] = None + + +class InstrumentSchema(BaseModel): + 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: Optional[str] = None + """ + The short name of the instrument, e.g. jupiter, pdac_com5 + """ + summary: Optional[str] = None + """ + Instrument's short description. + """ + vendor: Optional[str] = None + """ + Manufacturer of the instrument, e.g. Asylum Research + """ + model: Optional[str] = None + """ + Model name, e.g. Jupiter + """ + serialNumber: Optional[str] = None + """ + Vendor serial number identifying this particular unit. + """ + firmware: Optional[str] = None + """ + Controller or acquisition-software version, the analogue of an application version, e.g. 19.34.88 + """ + techniques: Optional[List[Union[CharacterizationTechniqueCategorySchema, SynthesisTechniqueCategorySchema]]] = None + """ + Techniques this instrument can perform. + """ + components: Optional[List[InstrumentComponentSchema]] = None + """ + Parts of the instrument that matter to a result, e.g. the probe a scan was taken with or the source a film was grown from. + """ + controlSoftware: Optional[List[ApplicationSchema]] = None + """ + Software driving the instrument, reusing the application entity rather than restating a name and a version. + """ + location: Optional[Location] = None + """ + Where the instrument is, which for a multi-institution project is part of the provenance. + """ diff --git a/src/py/mat3ra/esse/models/instrument/component.py b/src/py/mat3ra/esse/models/instrument/component.py new file mode 100644 index 000000000..7e8149a14 --- /dev/null +++ b/src/py/mat3ra/esse/models/instrument/component.py @@ -0,0 +1,43 @@ +# generated by datamodel-codegen: +# filename: instrument/component.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Any, Dict, Optional + +from pydantic import BaseModel + + +class Kind(Enum): + probe = "probe" + cantilever = "cantilever" + scanner = "scanner" + laser = "laser" + detector = "detector" + lock_in_amplifier = "lock_in_amplifier" + controller = "controller" + heater = "heater" + cryostat = "cryostat" + chamber = "chamber" + stage = "stage" + evaporation_source = "evaporation_source" + target_holder = "target_holder" + gas_line = "gas_line" + mass_flow_controller = "mass_flow_controller" + pump = "pump" + gauge = "gauge" + other = "other" + + +class InstrumentComponentSchema(BaseModel): + kind: Kind + name: str + vendor: Optional[str] = None + model: Optional[str] = None + serialNumber: Optional[str] = None + parameters: Optional[Dict[str, Any]] = None + """ + Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever. + """ diff --git a/src/py/mat3ra/esse/models/instrument/instrument_properties.py b/src/py/mat3ra/esse/models/instrument/instrument_properties.py new file mode 100644 index 000000000..ea56b9026 --- /dev/null +++ b/src/py/mat3ra/esse/models/instrument/instrument_properties.py @@ -0,0 +1,289 @@ +# generated by datamodel-codegen: +# filename: instrument/instrument_properties.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): + characterization = "characterization" + + +class SlugifiedEntryOrSlug175(Enum): + microscopy = "microscopy" + spectroscopy = "spectroscopy" + diffraction = "diffraction" + electrical = "electrical" + optical = "optical" + + +class SlugifiedEntryOrSlug176(Enum): + scanning_probe_microscopy = "scanning_probe_microscopy" + electron_microscopy = "electron_microscopy" + x_ray = "x_ray" + transport = "transport" + dielectric = "dielectric" + ultraviolet_visible_near_infrared = "ultraviolet_visible_near_infrared" + + +class SlugifiedEntryOrSlug177(Enum): + atomic_force_microscopy = "atomic_force_microscopy" + scanning_tunneling_microscopy = "scanning_tunneling_microscopy" + scanning_tunneling_spectroscopy = "scanning_tunneling_spectroscopy" + piezoresponse_force_microscopy = "piezoresponse_force_microscopy" + kelvin_probe_force_microscopy = "kelvin_probe_force_microscopy" + conductive_atomic_force_microscopy = "conductive_atomic_force_microscopy" + magnetic_force_microscopy = "magnetic_force_microscopy" + + +class SlugifiedEntryOrSlug178(Enum): + experimental = "experimental" + + +class CharacterizationTechniqueCategorySchema(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 + """ + tier3: 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, SlugifiedEntryOrSlug176]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: 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 + """ + + +class SlugifiedEntryOrSlug179(Enum): + synthesis = "synthesis" + + +class SlugifiedEntryOrSlug180(Enum): + vapor_deposition = "vapor_deposition" + solution_processing = "solution_processing" + bulk_growth = "bulk_growth" + post_processing = "post_processing" + + +class SlugifiedEntryOrSlug181(Enum): + physical_vapor_deposition = "physical_vapor_deposition" + chemical_vapor_deposition = "chemical_vapor_deposition" + annealing = "annealing" + + +class SlugifiedEntryOrSlug182(Enum): + pulsed_laser_deposition = "pulsed_laser_deposition" + sputtering = "sputtering" + molecular_beam_epitaxy = "molecular_beam_epitaxy" + thermal_evaporation = "thermal_evaporation" + electron_beam_evaporation = "electron_beam_evaporation" + atomic_layer_deposition = "atomic_layer_deposition" + plasma_enhanced_atomic_layer_deposition = "plasma_enhanced_atomic_layer_deposition" + thermal_chemical_vapor_deposition = "thermal_chemical_vapor_deposition" + metalorganic_chemical_vapor_deposition = "metalorganic_chemical_vapor_deposition" + plasma_enhanced_chemical_vapor_deposition = "plasma_enhanced_chemical_vapor_deposition" + + +class SlugifiedEntryOrSlug183(Enum): + experimental = "experimental" + + +class SynthesisTechniqueCategorySchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug179]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug180]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug181]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug182]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug183]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class Kind(Enum): + probe = "probe" + cantilever = "cantilever" + scanner = "scanner" + laser = "laser" + detector = "detector" + lock_in_amplifier = "lock_in_amplifier" + controller = "controller" + heater = "heater" + cryostat = "cryostat" + chamber = "chamber" + stage = "stage" + evaporation_source = "evaporation_source" + target_holder = "target_holder" + gas_line = "gas_line" + mass_flow_controller = "mass_flow_controller" + pump = "pump" + gauge = "gauge" + other = "other" + + +class InstrumentComponentSchema(BaseModel): + kind: Kind + name: str + vendor: Optional[str] = None + model: Optional[str] = None + serialNumber: Optional[str] = None + parameters: Optional[Dict[str, Any]] = None + """ + Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever. + """ + + +class RunConfig(BaseModel): + commandTemplate: str + """ + The command template of the application + """ + outFileName: str + """ + The output file name of the application + """ + + +class ApplicationSchema(BaseModel): + 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 + """ + isDefaultVersion: Optional[bool] = None + """ + Whether the version is the default version + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + isUsingMaterial: Optional[bool] = None + """ + Whether the application is using (being passed during a downstream processing routine) a material structure. + """ + runConfig: Optional[RunConfig] = None + """ + The run configuration of the application + """ + + +class Location(BaseModel): + facility: Optional[str] = None + laboratory: Optional[str] = None + room: Optional[str] = None + + +class InstrumentPropertiesSchema(BaseModel): + shortName: Optional[str] = None + """ + The short name of the instrument, e.g. jupiter, pdac_com5 + """ + summary: Optional[str] = None + """ + Instrument's short description. + """ + vendor: Optional[str] = None + """ + Manufacturer of the instrument, e.g. Asylum Research + """ + model: Optional[str] = None + """ + Model name, e.g. Jupiter + """ + serialNumber: Optional[str] = None + """ + Vendor serial number identifying this particular unit. + """ + firmware: Optional[str] = None + """ + Controller or acquisition-software version, the analogue of an application version, e.g. 19.34.88 + """ + techniques: Optional[List[Union[CharacterizationTechniqueCategorySchema, SynthesisTechniqueCategorySchema]]] = None + """ + Techniques this instrument can perform. + """ + components: Optional[List[InstrumentComponentSchema]] = None + """ + Parts of the instrument that matter to a result, e.g. the probe a scan was taken with or the source a film was grown from. + """ + controlSoftware: Optional[List[ApplicationSchema]] = None + """ + Software driving the instrument, reusing the application entity rather than restating a name and a version. + """ + location: Optional[Location] = None + """ + Where the instrument is, which for a multi-institution project is part of the provenance. + """ diff --git a/src/py/mat3ra/esse/models/instrument/instrument_property.py b/src/py/mat3ra/esse/models/instrument/instrument_property.py new file mode 100644 index 000000000..272ded5aa --- /dev/null +++ b/src/py/mat3ra/esse/models/instrument/instrument_property.py @@ -0,0 +1,317 @@ +# generated by datamodel-codegen: +# filename: instrument/instrument_property.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): + characterization = "characterization" + + +class SlugifiedEntryOrSlug185(Enum): + microscopy = "microscopy" + spectroscopy = "spectroscopy" + diffraction = "diffraction" + electrical = "electrical" + optical = "optical" + + +class SlugifiedEntryOrSlug186(Enum): + scanning_probe_microscopy = "scanning_probe_microscopy" + electron_microscopy = "electron_microscopy" + x_ray = "x_ray" + transport = "transport" + dielectric = "dielectric" + ultraviolet_visible_near_infrared = "ultraviolet_visible_near_infrared" + + +class SlugifiedEntryOrSlug187(Enum): + atomic_force_microscopy = "atomic_force_microscopy" + scanning_tunneling_microscopy = "scanning_tunneling_microscopy" + scanning_tunneling_spectroscopy = "scanning_tunneling_spectroscopy" + piezoresponse_force_microscopy = "piezoresponse_force_microscopy" + kelvin_probe_force_microscopy = "kelvin_probe_force_microscopy" + conductive_atomic_force_microscopy = "conductive_atomic_force_microscopy" + magnetic_force_microscopy = "magnetic_force_microscopy" + + +class SlugifiedEntryOrSlug188(Enum): + experimental = "experimental" + + +class CharacterizationTechniqueCategorySchema(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 + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug185]] = 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 + """ + subtype: 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 + """ + + +class SlugifiedEntryOrSlug189(Enum): + synthesis = "synthesis" + + +class SlugifiedEntryOrSlug190(Enum): + vapor_deposition = "vapor_deposition" + solution_processing = "solution_processing" + bulk_growth = "bulk_growth" + post_processing = "post_processing" + + +class SlugifiedEntryOrSlug191(Enum): + physical_vapor_deposition = "physical_vapor_deposition" + chemical_vapor_deposition = "chemical_vapor_deposition" + annealing = "annealing" + + +class SlugifiedEntryOrSlug192(Enum): + pulsed_laser_deposition = "pulsed_laser_deposition" + sputtering = "sputtering" + molecular_beam_epitaxy = "molecular_beam_epitaxy" + thermal_evaporation = "thermal_evaporation" + electron_beam_evaporation = "electron_beam_evaporation" + atomic_layer_deposition = "atomic_layer_deposition" + plasma_enhanced_atomic_layer_deposition = "plasma_enhanced_atomic_layer_deposition" + thermal_chemical_vapor_deposition = "thermal_chemical_vapor_deposition" + metalorganic_chemical_vapor_deposition = "metalorganic_chemical_vapor_deposition" + plasma_enhanced_chemical_vapor_deposition = "plasma_enhanced_chemical_vapor_deposition" + + +class SlugifiedEntryOrSlug193(Enum): + experimental = "experimental" + + +class SynthesisTechniqueCategorySchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug189]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug190]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug191]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug192]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug193]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class Kind(Enum): + probe = "probe" + cantilever = "cantilever" + scanner = "scanner" + laser = "laser" + detector = "detector" + lock_in_amplifier = "lock_in_amplifier" + controller = "controller" + heater = "heater" + cryostat = "cryostat" + chamber = "chamber" + stage = "stage" + evaporation_source = "evaporation_source" + target_holder = "target_holder" + gas_line = "gas_line" + mass_flow_controller = "mass_flow_controller" + pump = "pump" + gauge = "gauge" + other = "other" + + +class InstrumentComponentSchema(BaseModel): + kind: Kind + name: str + vendor: Optional[str] = None + model: Optional[str] = None + serialNumber: Optional[str] = None + parameters: Optional[Dict[str, Any]] = None + """ + Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever. + """ + + +class RunConfig(BaseModel): + commandTemplate: str + """ + The command template of the application + """ + outFileName: str + """ + The output file name of the application + """ + + +class ApplicationSchema(BaseModel): + 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 + """ + isDefaultVersion: Optional[bool] = None + """ + Whether the version is the default version + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + isUsingMaterial: Optional[bool] = None + """ + Whether the application is using (being passed during a downstream processing routine) a material structure. + """ + runConfig: Optional[RunConfig] = None + """ + The run configuration of the application + """ + + +class Location(BaseModel): + facility: Optional[str] = None + laboratory: Optional[str] = None + room: Optional[str] = None + + +class InstrumentSchema(BaseModel): + 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: Optional[str] = None + """ + The short name of the instrument, e.g. jupiter, pdac_com5 + """ + summary: Optional[str] = None + """ + Instrument's short description. + """ + vendor: Optional[str] = None + """ + Manufacturer of the instrument, e.g. Asylum Research + """ + model: Optional[str] = None + """ + Model name, e.g. Jupiter + """ + serialNumber: Optional[str] = None + """ + Vendor serial number identifying this particular unit. + """ + firmware: Optional[str] = None + """ + Controller or acquisition-software version, the analogue of an application version, e.g. 19.34.88 + """ + techniques: Optional[List[Union[CharacterizationTechniqueCategorySchema, SynthesisTechniqueCategorySchema]]] = None + """ + Techniques this instrument can perform. + """ + components: Optional[List[InstrumentComponentSchema]] = None + """ + Parts of the instrument that matter to a result, e.g. the probe a scan was taken with or the source a film was grown from. + """ + controlSoftware: Optional[List[ApplicationSchema]] = None + """ + Software driving the instrument, reusing the application entity rather than restating a name and a version. + """ + location: Optional[Location] = None + """ + Where the instrument is, which for a multi-institution project is part of the provenance. + """ + + +class InstrumentPropertySchema(BaseModel): + instrument: Optional[InstrumentSchema] = Field(None, title="instrument schema") + """ + A physical apparatus used to measure or fabricate a sample: a microscope, a deposition chamber, a furnace. The experimental mirror of software/application, composed the same way, because what an application is to a job an instrument is to a measurement. + """ diff --git a/src/py/mat3ra/esse/models/job/__init__.py b/src/py/mat3ra/esse/models/job/__init__.py index 230d3bd79..b596e8cdb 100644 --- a/src/py/mat3ra/esse/models/job/__init__.py +++ b/src/py/mat3ra/esse/models/job/__init__.py @@ -836,6 +836,10 @@ class NWChemTotalEnergyContextProviderSchema(BaseModel): """ Whether atomic positions are expressed in cartesian coordinates. """ + RESTART: Optional[bool] = None + """ + Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart. + """ class RESTARTMODE(Enum): @@ -1151,7 +1155,7 @@ class GridContextItemSchema(BaseModel): isEdited: bool -class Name610(Enum): +class Name615(Enum): qpath = "qpath" ipath = "ipath" kpath = "kpath" @@ -1817,7 +1821,7 @@ class DFTHybridModelSchema(BaseModel): method: BaseMethod23 = Field(..., title="base method") -class Type95(Enum): +class Type98(Enum): ml = "ml" @@ -1845,12 +1849,12 @@ class BaseMethod24(BaseModel): class MLModelSchema(BaseModel): - type: Type95 + type: Type98 subtype: Literal["3#-datamodel-code-generator-#-object-#-special-#"] method: BaseMethod24 = Field(..., title="base method") -class Type96(Enum): +class Type99(Enum): unknown = "unknown" @@ -1878,12 +1882,12 @@ class BaseMethod25(BaseModel): class UnknownModelSchema(BaseModel): - type: Type96 + type: Type99 subtype: Literal["4#-datamodel-code-generator-#-object-#-special-#"] method: BaseMethod25 = Field(..., title="base method") -class ApplicationSchema10(BaseModel): +class ApplicationSchema15(BaseModel): id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -1976,7 +1980,7 @@ class SubworkflowSchema(BaseModel): model: Union[DFTLDAModelSchema, DFTGGAModelSchema, DFTHybridModelSchema, MLModelSchema, UnknownModelSchema] = Field( ..., discriminator="subtype", title="Any model schema" ) - application: ApplicationSchema10 = Field(..., title="application schema") + application: ApplicationSchema15 = Field(..., title="application schema") isMultiMaterial: Optional[bool] = None isDraft: Optional[bool] = False """ @@ -2378,7 +2382,7 @@ class WorkflowSchema(BaseModel): descriptionObject: Optional[Dict[str, Any]] = None -class Status41(Enum): +class Status46(Enum): pre_submission = "pre-submission" queued = "queued" submitted = "submitted" @@ -2496,7 +2500,7 @@ class JobSchema(BaseModel): """ Identity used to track jobs originated from command-line """ - status: Status41 + status: Status46 """ job status """ diff --git a/src/py/mat3ra/esse/models/job/queue.py b/src/py/mat3ra/esse/models/job/queue.py deleted file mode 100644 index 9bc6df5de..000000000 --- a/src/py/mat3ra/esse/models/job/queue.py +++ /dev/null @@ -1,71 +0,0 @@ -# generated by datamodel-codegen: -# filename: job/queue.json -# version: 0.28.5 - -from __future__ import annotations - -from enum import Enum -from typing import Optional - -from pydantic import BaseModel - - -class Name(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 Capacity(Enum): - FULL = "FULL" - DEGRADED = "DEGRADED" - UNAVAILABLE = "UNAVAILABLE" - - -class QueueSchema(BaseModel): - name: Name - """ - 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. - """ - maxPpn: int - """ - Maximum processors per node. - """ - maxNodes: int - """ - Maximum number of nodes allowed for this queue. - """ - availableNodes: int - """ - Number of nodes currently available. - """ - currentNodes: int - """ - Number of nodes currently in use. - """ - capacity: Optional[Capacity] = None - """ - Capacity status of the queue. - """ diff --git a/src/py/mat3ra/esse/models/material/__init__.py b/src/py/mat3ra/esse/models/material/__init__.py index 5cbe57ce7..40d97ac3f 100644 --- a/src/py/mat3ra/esse/models/material/__init__.py +++ b/src/py/mat3ra/esse/models/material/__init__.py @@ -285,30 +285,30 @@ class VolumeSchema(BaseModel): value: float -class Name617(Enum): +class Name622(Enum): density = "density" -class Units282(Enum): +class Units319(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units282] = None + units: Optional[Units319] = None value: float -class Units283(Enum): +class Units320(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units283] = None + units: Optional[Units320] = None value: float -class Name618(Enum): +class Name623(Enum): symmetry = "symmetry" @@ -328,7 +328,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name619(Enum): +class Name624(Enum): elemental_ratio = "elemental_ratio" @@ -341,7 +341,7 @@ class ElementalRatio(BaseModel): """ -class Name620(Enum): +class Name625(Enum): p_norm = "p-norm" @@ -354,7 +354,7 @@ class PNorm(BaseModel): value: float -class Name621(Enum): +class Name626(Enum): inchi = "inchi" @@ -363,7 +363,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name622(Enum): +class Name627(Enum): inchi_key = "inchi_key" @@ -450,7 +450,7 @@ class FileSourceSchema(BaseModel): """ -class Name623(Enum): +class Name628(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -463,7 +463,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name623 + name: Name628 """ Name of the consistency check that is performed, which is listed in an enum. """ diff --git a/src/py/mat3ra/esse/models/material/material_properties.py b/src/py/mat3ra/esse/models/material/material_properties.py index bf98a858d..747d41f88 100644 --- a/src/py/mat3ra/esse/models/material/material_properties.py +++ b/src/py/mat3ra/esse/models/material/material_properties.py @@ -285,30 +285,30 @@ class VolumeSchema(BaseModel): value: float -class Name649(Enum): +class Name654(Enum): density = "density" -class Units294(Enum): +class Units331(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units294] = None + units: Optional[Units331] = None value: float -class Units295(Enum): +class Units332(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units295] = None + units: Optional[Units332] = None value: float -class Name650(Enum): +class Name655(Enum): symmetry = "symmetry" @@ -328,7 +328,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name651(Enum): +class Name656(Enum): elemental_ratio = "elemental_ratio" @@ -341,7 +341,7 @@ class ElementalRatio(BaseModel): """ -class Name652(Enum): +class Name657(Enum): p_norm = "p-norm" @@ -354,7 +354,7 @@ class PNorm(BaseModel): value: float -class Name653(Enum): +class Name658(Enum): inchi = "inchi" @@ -363,7 +363,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name654(Enum): +class Name659(Enum): inchi_key = "inchi_key" @@ -450,7 +450,7 @@ class FileSourceSchema(BaseModel): """ -class Name655(Enum): +class Name660(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -463,7 +463,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name655 + name: Name660 """ Name of the consistency check that is performed, which is listed in an enum. """ diff --git a/src/py/mat3ra/esse/models/material/metadata.py b/src/py/mat3ra/esse/models/material/metadata.py deleted file mode 100644 index 4acd58b6f..000000000 --- a/src/py/mat3ra/esse/models/material/metadata.py +++ /dev/null @@ -1,69 +0,0 @@ -# generated by datamodel-codegen: -# filename: material/metadata.json -# version: 0.28.5 - -from __future__ import annotations - -from enum import Enum -from typing import Optional - -from pydantic import 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 - isSlab: Optional[bool] = None - """ - Whether the material was created as a surface slab - """ - h: Optional[float] = None - """ - Miller index h used to generate the slab - """ - k: Optional[float] = None - """ - Miller index k used to generate the slab - """ - l: Optional[float] = None - """ - Miller index l used to generate the slab - """ - thickness: Optional[float] = None - """ - Slab thickness in number of layers - """ - vacuumRatio: Optional[float] = None - """ - Vacuum fraction used when scaling the out-of-plane lattice vector - """ - vx: Optional[float] = None - """ - Termination vector component along a - """ - vy: Optional[float] = None - """ - Termination vector component along b - """ - bulkId: Optional[str] = None - """ - Source bulk material id used to generate the slab - """ - - -class MaterialMetadataSchema(BaseModel): - metadata: Optional[Metadata] = {} diff --git a/src/py/mat3ra/esse/models/material_enhanced.py b/src/py/mat3ra/esse/models/material_enhanced.py index 76fb2306a..1e13dc5a9 100644 --- a/src/py/mat3ra/esse/models/material_enhanced.py +++ b/src/py/mat3ra/esse/models/material_enhanced.py @@ -300,30 +300,30 @@ class VolumeSchema(BaseModel): value: float -class Name625(Enum): +class Name630(Enum): density = "density" -class Units285(Enum): +class Units322(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units285] = None + units: Optional[Units322] = None value: float -class Units286(Enum): +class Units323(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units286] = None + units: Optional[Units323] = None value: float -class Name626(Enum): +class Name631(Enum): symmetry = "symmetry" @@ -343,7 +343,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name627(Enum): +class Name632(Enum): elemental_ratio = "elemental_ratio" @@ -356,7 +356,7 @@ class ElementalRatio(BaseModel): """ -class Name628(Enum): +class Name633(Enum): p_norm = "p-norm" @@ -369,7 +369,7 @@ class PNorm(BaseModel): value: float -class Name629(Enum): +class Name634(Enum): inchi = "inchi" @@ -378,7 +378,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name630(Enum): +class Name635(Enum): inchi_key = "inchi_key" @@ -465,7 +465,7 @@ class FileSourceSchema(BaseModel): """ -class Name631(Enum): +class Name636(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -478,7 +478,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name631 + name: Name636 """ Name of the consistency check that is performed, which is listed in an enum. """ diff --git a/src/py/mat3ra/esse/models/material_enhanced_hashed.py b/src/py/mat3ra/esse/models/material_enhanced_hashed.py index 6fc2f98d3..b3839c01c 100644 --- a/src/py/mat3ra/esse/models/material_enhanced_hashed.py +++ b/src/py/mat3ra/esse/models/material_enhanced_hashed.py @@ -300,30 +300,30 @@ class VolumeSchema(BaseModel): value: float -class Name633(Enum): +class Name638(Enum): density = "density" -class Units288(Enum): +class Units325(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units288] = None + units: Optional[Units325] = None value: float -class Units289(Enum): +class Units326(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units289] = None + units: Optional[Units326] = None value: float -class Name634(Enum): +class Name639(Enum): symmetry = "symmetry" @@ -343,7 +343,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name635(Enum): +class Name640(Enum): elemental_ratio = "elemental_ratio" @@ -356,7 +356,7 @@ class ElementalRatio(BaseModel): """ -class Name636(Enum): +class Name641(Enum): p_norm = "p-norm" @@ -369,7 +369,7 @@ class PNorm(BaseModel): value: float -class Name637(Enum): +class Name642(Enum): inchi = "inchi" @@ -378,7 +378,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name638(Enum): +class Name643(Enum): inchi_key = "inchi_key" @@ -465,7 +465,7 @@ class FileSourceSchema(BaseModel): """ -class Name639(Enum): +class Name644(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -478,7 +478,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name639 + name: Name644 """ Name of the consistency check that is performed, which is listed in an enum. """ diff --git a/src/py/mat3ra/esse/models/material_hashed.py b/src/py/mat3ra/esse/models/material_hashed.py index 4252b5f7d..26a09d310 100644 --- a/src/py/mat3ra/esse/models/material_hashed.py +++ b/src/py/mat3ra/esse/models/material_hashed.py @@ -285,30 +285,30 @@ class VolumeSchema(BaseModel): value: float -class Name641(Enum): +class Name646(Enum): density = "density" -class Units291(Enum): +class Units328(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units291] = None + units: Optional[Units328] = None value: float -class Units292(Enum): +class Units329(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units292] = None + units: Optional[Units329] = None value: float -class Name642(Enum): +class Name647(Enum): symmetry = "symmetry" @@ -328,7 +328,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name643(Enum): +class Name648(Enum): elemental_ratio = "elemental_ratio" @@ -341,7 +341,7 @@ class ElementalRatio(BaseModel): """ -class Name644(Enum): +class Name649(Enum): p_norm = "p-norm" @@ -354,7 +354,7 @@ class PNorm(BaseModel): value: float -class Name645(Enum): +class Name650(Enum): inchi = "inchi" @@ -363,7 +363,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name646(Enum): +class Name651(Enum): inchi_key = "inchi_key" @@ -450,7 +450,7 @@ class FileSourceSchema(BaseModel): """ -class Name647(Enum): +class Name652(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -463,7 +463,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name647 + name: Name652 """ Name of the consistency check that is performed, which is listed in an enum. """ 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 c12919aa7..6eea30e69 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 @@ -423,22 +423,22 @@ class Name340(Enum): density = "density" -class Units133(Enum): +class Units156(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units133] = None + units: Optional[Units156] = None value: float -class Units134(Enum): +class Units157(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units134] = None + units: Optional[Units157] = None value: float @@ -975,13 +975,13 @@ class Name347(Enum): volume = "volume" -class Units135(Enum): +class Units158(Enum): angstrom_3 = "angstrom^3" class VolumeSchema42(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units135] = None + units: Optional[Units158] = None value: float @@ -989,22 +989,22 @@ class Name348(Enum): density = "density" -class Units136(Enum): +class Units159(Enum): g_cm_3 = "g/cm^3" class DensitySchema42(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units136] = None + units: Optional[Units159] = None value: float -class Units137(Enum): +class Units160(Enum): angstrom = "angstrom" class ScalarSchema43(BaseModel): - units: Optional[Units137] = None + units: Optional[Units160] = None value: float @@ -1485,13 +1485,13 @@ class Name355(Enum): volume = "volume" -class Units138(Enum): +class Units161(Enum): angstrom_3 = "angstrom^3" class VolumeSchema43(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units138] = None + units: Optional[Units161] = None value: float @@ -1499,22 +1499,22 @@ class Name356(Enum): density = "density" -class Units139(Enum): +class Units162(Enum): g_cm_3 = "g/cm^3" class DensitySchema43(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units139] = None + units: Optional[Units162] = None value: float -class Units140(Enum): +class Units163(Enum): angstrom = "angstrom" class ScalarSchema44(BaseModel): - units: Optional[Units140] = None + units: Optional[Units163] = None value: float @@ -1957,13 +1957,13 @@ class Name363(Enum): volume = "volume" -class Units141(Enum): +class Units164(Enum): angstrom_3 = "angstrom^3" class VolumeSchema44(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units141] = None + units: Optional[Units164] = None value: float @@ -1971,22 +1971,22 @@ class Name364(Enum): density = "density" -class Units142(Enum): +class Units165(Enum): g_cm_3 = "g/cm^3" class DensitySchema44(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units142] = None + units: Optional[Units165] = None value: float -class Units143(Enum): +class Units166(Enum): angstrom = "angstrom" class ScalarSchema45(BaseModel): - units: Optional[Units143] = None + units: Optional[Units166] = None value: float @@ -2460,13 +2460,13 @@ class Name371(Enum): volume = "volume" -class Units144(Enum): +class Units167(Enum): angstrom_3 = "angstrom^3" class VolumeSchema45(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units144] = None + units: Optional[Units167] = None value: float @@ -2474,22 +2474,22 @@ class Name372(Enum): density = "density" -class Units145(Enum): +class Units168(Enum): g_cm_3 = "g/cm^3" class DensitySchema45(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units145] = None + units: Optional[Units168] = None value: float -class Units146(Enum): +class Units169(Enum): angstrom = "angstrom" class ScalarSchema46(BaseModel): - units: Optional[Units146] = None + units: Optional[Units169] = None value: float @@ -2932,13 +2932,13 @@ class Name379(Enum): volume = "volume" -class Units147(Enum): +class Units170(Enum): angstrom_3 = "angstrom^3" class VolumeSchema46(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units147] = None + units: Optional[Units170] = None value: float @@ -2946,22 +2946,22 @@ class Name380(Enum): density = "density" -class Units148(Enum): +class Units171(Enum): g_cm_3 = "g/cm^3" class DensitySchema46(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units148] = None + units: Optional[Units171] = None value: float -class Units149(Enum): +class Units172(Enum): angstrom = "angstrom" class ScalarSchema47(BaseModel): - units: Optional[Units149] = None + units: Optional[Units172] = None value: float @@ -3423,13 +3423,13 @@ class Name387(Enum): volume = "volume" -class Units150(Enum): +class Units173(Enum): angstrom_3 = "angstrom^3" class VolumeSchema47(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units150] = None + units: Optional[Units173] = None value: float @@ -3437,22 +3437,22 @@ class Name388(Enum): density = "density" -class Units151(Enum): +class Units174(Enum): g_cm_3 = "g/cm^3" class DensitySchema47(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units151] = None + units: Optional[Units174] = None value: float -class Units152(Enum): +class Units175(Enum): angstrom = "angstrom" class ScalarSchema48(BaseModel): - units: Optional[Units152] = None + units: Optional[Units175] = None value: float @@ -3895,13 +3895,13 @@ class Name395(Enum): volume = "volume" -class Units153(Enum): +class Units176(Enum): angstrom_3 = "angstrom^3" class VolumeSchema48(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units153] = None + units: Optional[Units176] = None value: float @@ -3909,22 +3909,22 @@ class Name396(Enum): density = "density" -class Units154(Enum): +class Units177(Enum): g_cm_3 = "g/cm^3" class DensitySchema48(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units154] = None + units: Optional[Units177] = None value: float -class Units155(Enum): +class Units178(Enum): angstrom = "angstrom" class ScalarSchema49(BaseModel): - units: Optional[Units155] = None + units: Optional[Units178] = None value: float @@ -4385,13 +4385,13 @@ class Name403(Enum): volume = "volume" -class Units156(Enum): +class Units179(Enum): angstrom_3 = "angstrom^3" class VolumeSchema49(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units156] = None + units: Optional[Units179] = None value: float @@ -4399,22 +4399,22 @@ class Name404(Enum): density = "density" -class Units157(Enum): +class Units180(Enum): g_cm_3 = "g/cm^3" class DensitySchema49(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units157] = None + units: Optional[Units180] = None value: float -class Units158(Enum): +class Units181(Enum): angstrom = "angstrom" class ScalarSchema50(BaseModel): - units: Optional[Units158] = None + units: Optional[Units181] = None value: float 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 d0f7fcd21..627ee660c 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 @@ -423,22 +423,22 @@ class Name244(Enum): density = "density" -class Units97(Enum): +class Units120(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units97] = None + units: Optional[Units120] = None value: float -class Units98(Enum): +class Units121(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units98] = None + units: Optional[Units121] = None value: float @@ -975,13 +975,13 @@ class Name251(Enum): volume = "volume" -class Units99(Enum): +class Units122(Enum): angstrom_3 = "angstrom^3" class VolumeSchema30(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units99] = None + units: Optional[Units122] = None value: float @@ -989,22 +989,22 @@ class Name252(Enum): density = "density" -class Units100(Enum): +class Units123(Enum): g_cm_3 = "g/cm^3" class DensitySchema30(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units100] = None + units: Optional[Units123] = None value: float -class Units101(Enum): +class Units124(Enum): angstrom = "angstrom" class ScalarSchema31(BaseModel): - units: Optional[Units101] = None + units: Optional[Units124] = None value: float @@ -1485,13 +1485,13 @@ class Name259(Enum): volume = "volume" -class Units102(Enum): +class Units125(Enum): angstrom_3 = "angstrom^3" class VolumeSchema31(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units102] = None + units: Optional[Units125] = None value: float @@ -1499,22 +1499,22 @@ class Name260(Enum): density = "density" -class Units103(Enum): +class Units126(Enum): g_cm_3 = "g/cm^3" class DensitySchema31(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units103] = None + units: Optional[Units126] = None value: float -class Units104(Enum): +class Units127(Enum): angstrom = "angstrom" class ScalarSchema32(BaseModel): - units: Optional[Units104] = None + units: Optional[Units127] = None value: float @@ -1957,13 +1957,13 @@ class Name267(Enum): volume = "volume" -class Units105(Enum): +class Units128(Enum): angstrom_3 = "angstrom^3" class VolumeSchema32(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units105] = None + units: Optional[Units128] = None value: float @@ -1971,22 +1971,22 @@ class Name268(Enum): density = "density" -class Units106(Enum): +class Units129(Enum): g_cm_3 = "g/cm^3" class DensitySchema32(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units106] = None + units: Optional[Units129] = None value: float -class Units107(Enum): +class Units130(Enum): angstrom = "angstrom" class ScalarSchema33(BaseModel): - units: Optional[Units107] = None + units: Optional[Units130] = None value: float @@ -2460,13 +2460,13 @@ class Name275(Enum): volume = "volume" -class Units108(Enum): +class Units131(Enum): angstrom_3 = "angstrom^3" class VolumeSchema33(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units108] = None + units: Optional[Units131] = None value: float @@ -2474,22 +2474,22 @@ class Name276(Enum): density = "density" -class Units109(Enum): +class Units132(Enum): g_cm_3 = "g/cm^3" class DensitySchema33(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units109] = None + units: Optional[Units132] = None value: float -class Units110(Enum): +class Units133(Enum): angstrom = "angstrom" class ScalarSchema34(BaseModel): - units: Optional[Units110] = None + units: Optional[Units133] = None value: float @@ -2932,13 +2932,13 @@ class Name283(Enum): volume = "volume" -class Units111(Enum): +class Units134(Enum): angstrom_3 = "angstrom^3" class VolumeSchema34(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units111] = None + units: Optional[Units134] = None value: float @@ -2946,22 +2946,22 @@ class Name284(Enum): density = "density" -class Units112(Enum): +class Units135(Enum): g_cm_3 = "g/cm^3" class DensitySchema34(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units112] = None + units: Optional[Units135] = None value: float -class Units113(Enum): +class Units136(Enum): angstrom = "angstrom" class ScalarSchema35(BaseModel): - units: Optional[Units113] = None + units: Optional[Units136] = None value: float @@ -3423,13 +3423,13 @@ class Name291(Enum): volume = "volume" -class Units114(Enum): +class Units137(Enum): angstrom_3 = "angstrom^3" class VolumeSchema35(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units114] = None + units: Optional[Units137] = None value: float @@ -3437,22 +3437,22 @@ class Name292(Enum): density = "density" -class Units115(Enum): +class Units138(Enum): g_cm_3 = "g/cm^3" class DensitySchema35(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units115] = None + units: Optional[Units138] = None value: float -class Units116(Enum): +class Units139(Enum): angstrom = "angstrom" class ScalarSchema36(BaseModel): - units: Optional[Units116] = None + units: Optional[Units139] = None value: float @@ -3895,13 +3895,13 @@ class Name299(Enum): volume = "volume" -class Units117(Enum): +class Units140(Enum): angstrom_3 = "angstrom^3" class VolumeSchema36(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units117] = None + units: Optional[Units140] = None value: float @@ -3909,22 +3909,22 @@ class Name300(Enum): density = "density" -class Units118(Enum): +class Units141(Enum): g_cm_3 = "g/cm^3" class DensitySchema36(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units118] = None + units: Optional[Units141] = None value: float -class Units119(Enum): +class Units142(Enum): angstrom = "angstrom" class ScalarSchema37(BaseModel): - units: Optional[Units119] = None + units: Optional[Units142] = None value: float @@ -4385,13 +4385,13 @@ class Name307(Enum): volume = "volume" -class Units120(Enum): +class Units143(Enum): angstrom_3 = "angstrom^3" class VolumeSchema37(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units120] = None + units: Optional[Units143] = None value: float @@ -4399,22 +4399,22 @@ class Name308(Enum): density = "density" -class Units121(Enum): +class Units144(Enum): g_cm_3 = "g/cm^3" class DensitySchema37(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units121] = None + units: Optional[Units144] = None value: float -class Units122(Enum): +class Units145(Enum): angstrom = "angstrom" class ScalarSchema38(BaseModel): - units: Optional[Units122] = None + units: Optional[Units145] = None value: float diff --git a/src/py/mat3ra/esse/models/materials_category/defective_structures/three_dimensional/solid_solution/configuration.py b/src/py/mat3ra/esse/models/materials_category/defective_structures/three_dimensional/solid_solution/configuration.py index a27ffef30..7098390fb 100644 --- a/src/py/mat3ra/esse/models/materials_category/defective_structures/three_dimensional/solid_solution/configuration.py +++ b/src/py/mat3ra/esse/models/materials_category/defective_structures/three_dimensional/solid_solution/configuration.py @@ -289,22 +289,22 @@ class Name316(Enum): density = "density" -class Units124(Enum): +class Units147(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units124] = None + units: Optional[Units147] = None value: float -class Units125(Enum): +class Units148(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units125] = None + units: Optional[Units148] = None value: float @@ -812,13 +812,13 @@ class Name323(Enum): volume = "volume" -class Units126(Enum): +class Units149(Enum): angstrom_3 = "angstrom^3" class VolumeSchema39(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units126] = None + units: Optional[Units149] = None value: float @@ -826,22 +826,22 @@ class Name324(Enum): density = "density" -class Units127(Enum): +class Units150(Enum): g_cm_3 = "g/cm^3" class DensitySchema39(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units127] = None + units: Optional[Units150] = None value: float -class Units128(Enum): +class Units151(Enum): angstrom = "angstrom" class ScalarSchema40(BaseModel): - units: Optional[Units128] = None + units: Optional[Units151] = None value: float @@ -1261,13 +1261,13 @@ class Name331(Enum): volume = "volume" -class Units129(Enum): +class Units152(Enum): angstrom_3 = "angstrom^3" class VolumeSchema40(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units129] = None + units: Optional[Units152] = None value: float @@ -1275,22 +1275,22 @@ class Name332(Enum): density = "density" -class Units130(Enum): +class Units153(Enum): g_cm_3 = "g/cm^3" class DensitySchema40(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units130] = None + units: Optional[Units153] = None value: float -class Units131(Enum): +class Units154(Enum): angstrom = "angstrom" class ScalarSchema41(BaseModel): - units: Optional[Units131] = None + units: Optional[Units154] = None value: float 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 1b507c39c..792e40179 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 @@ -423,22 +423,22 @@ class Name116(Enum): density = "density" -class Units49(Enum): +class Units72(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units49] = None + units: Optional[Units72] = None value: float -class Units50(Enum): +class Units73(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units50] = None + units: Optional[Units73] = None value: float @@ -975,13 +975,13 @@ class Name123(Enum): volume = "volume" -class Units51(Enum): +class Units74(Enum): angstrom_3 = "angstrom^3" class VolumeSchema14(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units51] = None + units: Optional[Units74] = None value: float @@ -989,22 +989,22 @@ class Name124(Enum): density = "density" -class Units52(Enum): +class Units75(Enum): g_cm_3 = "g/cm^3" class DensitySchema14(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units52] = None + units: Optional[Units75] = None value: float -class Units53(Enum): +class Units76(Enum): angstrom = "angstrom" class ScalarSchema15(BaseModel): - units: Optional[Units53] = None + units: Optional[Units76] = None value: float @@ -1464,13 +1464,13 @@ class Name131(Enum): volume = "volume" -class Units54(Enum): +class Units77(Enum): angstrom_3 = "angstrom^3" class VolumeSchema15(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units54] = None + units: Optional[Units77] = None value: float @@ -1478,22 +1478,22 @@ class Name132(Enum): density = "density" -class Units55(Enum): +class Units78(Enum): g_cm_3 = "g/cm^3" class DensitySchema15(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units55] = None + units: Optional[Units78] = None value: float -class Units56(Enum): +class Units79(Enum): angstrom = "angstrom" class ScalarSchema16(BaseModel): - units: Optional[Units56] = None + units: Optional[Units79] = None value: float @@ -2059,13 +2059,13 @@ class Name139(Enum): volume = "volume" -class Units57(Enum): +class Units80(Enum): angstrom_3 = "angstrom^3" class VolumeSchema16(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units57] = None + units: Optional[Units80] = None value: float @@ -2073,22 +2073,22 @@ class Name140(Enum): density = "density" -class Units58(Enum): +class Units81(Enum): g_cm_3 = "g/cm^3" class DensitySchema16(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units58] = None + units: Optional[Units81] = None value: float -class Units59(Enum): +class Units82(Enum): angstrom = "angstrom" class ScalarSchema17(BaseModel): - units: Optional[Units59] = None + units: Optional[Units82] = None value: float diff --git a/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/base_configuration.py b/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/base_configuration.py deleted file mode 100644 index 26fef6858..000000000 --- a/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/base_configuration.py +++ /dev/null @@ -1,1561 +0,0 @@ -# generated by datamodel-codegen: -# filename: materials_category/defective_structures/two_dimensional/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, 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 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 - """ - - -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 Name39(Enum): - density = "density" - - -class Units21(Enum): - g_cm_3 = "g/cm^3" - - -class DensitySchema(BaseModel): - name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units21] = None - value: float - - -class Units22(Enum): - angstrom = "angstrom" - - -class ScalarSchema(BaseModel): - units: Optional[Units22] = None - value: float - - -class Name40(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 Name41(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 Name42(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 Name43(Enum): - inchi = "inchi" - - -class InChIRepresentationSchema(BaseModel): - name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class Name44(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 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 - """ - - -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 Name45(Enum): - default = "default" - atomsTooClose = "atomsTooClose" - atomsOverlap = "atomsOverlap" - - -class Severity(Enum): - info = "info" - warning = "warning" - error = "error" - - -class MaterialConsistencyCheckSchema(BaseModel): - name: Name45 - """ - 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 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 - 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 - """ - metadata: Optional[Dict[str, Any]] = None - - -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 Value16(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 AtomicElementSchema7(BaseModel): - value: Union[Value16, Value17] - """ - All elements, including extra elements - """ - id: int - """ - integer id of this entry - """ - - -class BasisSchema5(BaseModel): - elements: List[AtomicElementSchema7] = 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 Name46(Enum): - volume = "volume" - - -class Units23(Enum): - angstrom_3 = "angstrom^3" - - -class VolumeSchema5(BaseModel): - name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units23] = None - value: float - - -class Name47(Enum): - density = "density" - - -class Units24(Enum): - g_cm_3 = "g/cm^3" - - -class DensitySchema5(BaseModel): - name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units24] = None - value: float - - -class Units25(Enum): - angstrom = "angstrom" - - -class ScalarSchema6(BaseModel): - units: Optional[Units25] = None - value: float - - -class Name48(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 Name49(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 Name50(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 Name51(Enum): - inchi = "inchi" - - -class InChIRepresentationSchema5(BaseModel): - name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class Name52(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 Name53(Enum): - default = "default" - atomsTooClose = "atomsTooClose" - atomsOverlap = "atomsOverlap" - - -class MaterialConsistencyCheckSchema5(BaseModel): - name: Name53 - """ - 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 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: 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") - """ - 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 - 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 - """ - 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 - """ - Size of the vacuum slab in angstroms - """ - crystal: CrystalSchema5 = Field(..., title="Crystal Schema") - """ - A crystal structure, referencing the base material schema - """ - - -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 - """ - - -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 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 Name54(Enum): - volume = "volume" - - -class Units26(Enum): - angstrom_3 = "angstrom^3" - - -class VolumeSchema6(BaseModel): - name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units26] = None - value: float - - -class Name55(Enum): - density = "density" - - -class Units27(Enum): - g_cm_3 = "g/cm^3" - - -class DensitySchema6(BaseModel): - name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units27] = None - value: float - - -class Units28(Enum): - angstrom = "angstrom" - - -class ScalarSchema7(BaseModel): - units: Optional[Units28] = None - value: float - - -class Name56(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 Name57(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 Name58(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 Name59(Enum): - inchi = "inchi" - - -class InChIRepresentationSchema6(BaseModel): - name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class Name60(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 Name61(Enum): - default = "default" - atomsTooClose = "atomsTooClose" - atomsOverlap = "atomsOverlap" - - -class MaterialConsistencyCheckSchema6(BaseModel): - name: Name61 - """ - 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 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: 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") - """ - 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 - 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 - """ - metadata: Optional[Dict[str, Any]] = None - - -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: CrystalSchema6 = 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( - ..., max_length=3, min_length=3 - ) - direction: Optional[AxisEnum] = Field("z", title="Axis Enum") - """ - Enum for axis types - """ 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 eb796e132..fa1a5b9d8 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 @@ -429,22 +429,22 @@ class Name44(Enum): density = "density" -class Units22(Enum): +class Units45(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units22] = None + units: Optional[Units45] = None value: float -class Units23(Enum): +class Units46(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units23] = None + units: Optional[Units46] = None value: float @@ -975,13 +975,13 @@ class Name51(Enum): volume = "volume" -class Units24(Enum): +class Units47(Enum): angstrom_3 = "angstrom^3" class VolumeSchema5(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units24] = None + units: Optional[Units47] = None value: float @@ -989,22 +989,22 @@ class Name52(Enum): density = "density" -class Units25(Enum): +class Units48(Enum): g_cm_3 = "g/cm^3" class DensitySchema5(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units25] = None + units: Optional[Units48] = None value: float -class Units26(Enum): +class Units49(Enum): angstrom = "angstrom" class ScalarSchema6(BaseModel): - units: Optional[Units26] = None + units: Optional[Units49] = None value: float @@ -1485,13 +1485,13 @@ class Name59(Enum): volume = "volume" -class Units27(Enum): +class Units50(Enum): angstrom_3 = "angstrom^3" class VolumeSchema6(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units27] = None + units: Optional[Units50] = None value: float @@ -1499,22 +1499,22 @@ class Name60(Enum): density = "density" -class Units28(Enum): +class Units51(Enum): g_cm_3 = "g/cm^3" class DensitySchema6(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units28] = None + units: Optional[Units51] = None value: float -class Units29(Enum): +class Units52(Enum): angstrom = "angstrom" class ScalarSchema7(BaseModel): - units: Optional[Units29] = None + units: Optional[Units52] = None value: float @@ -1957,13 +1957,13 @@ class Name67(Enum): volume = "volume" -class Units30(Enum): +class Units53(Enum): angstrom_3 = "angstrom^3" class VolumeSchema7(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units30] = None + units: Optional[Units53] = None value: float @@ -1971,22 +1971,22 @@ class Name68(Enum): density = "density" -class Units31(Enum): +class Units54(Enum): g_cm_3 = "g/cm^3" class DensitySchema7(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units31] = None + units: Optional[Units54] = None value: float -class Units32(Enum): +class Units55(Enum): angstrom = "angstrom" class ScalarSchema8(BaseModel): - units: Optional[Units32] = None + units: Optional[Units55] = None value: float @@ -2460,13 +2460,13 @@ class Name75(Enum): volume = "volume" -class Units33(Enum): +class Units56(Enum): angstrom_3 = "angstrom^3" class VolumeSchema8(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units33] = None + units: Optional[Units56] = None value: float @@ -2474,22 +2474,22 @@ class Name76(Enum): density = "density" -class Units34(Enum): +class Units57(Enum): g_cm_3 = "g/cm^3" class DensitySchema8(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units34] = None + units: Optional[Units57] = None value: float -class Units35(Enum): +class Units58(Enum): angstrom = "angstrom" class ScalarSchema9(BaseModel): - units: Optional[Units35] = None + units: Optional[Units58] = None value: float @@ -2932,13 +2932,13 @@ class Name83(Enum): volume = "volume" -class Units36(Enum): +class Units59(Enum): angstrom_3 = "angstrom^3" class VolumeSchema9(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units36] = None + units: Optional[Units59] = None value: float @@ -2946,22 +2946,22 @@ class Name84(Enum): density = "density" -class Units37(Enum): +class Units60(Enum): g_cm_3 = "g/cm^3" class DensitySchema9(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units37] = None + units: Optional[Units60] = None value: float -class Units38(Enum): +class Units61(Enum): angstrom = "angstrom" class ScalarSchema10(BaseModel): - units: Optional[Units38] = None + units: Optional[Units61] = None value: float @@ -3423,13 +3423,13 @@ class Name91(Enum): volume = "volume" -class Units39(Enum): +class Units62(Enum): angstrom_3 = "angstrom^3" class VolumeSchema10(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units39] = None + units: Optional[Units62] = None value: float @@ -3437,22 +3437,22 @@ class Name92(Enum): density = "density" -class Units40(Enum): +class Units63(Enum): g_cm_3 = "g/cm^3" class DensitySchema10(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units40] = None + units: Optional[Units63] = None value: float -class Units41(Enum): +class Units64(Enum): angstrom = "angstrom" class ScalarSchema11(BaseModel): - units: Optional[Units41] = None + units: Optional[Units64] = None value: float @@ -3895,13 +3895,13 @@ class Name99(Enum): volume = "volume" -class Units42(Enum): +class Units65(Enum): angstrom_3 = "angstrom^3" class VolumeSchema11(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units42] = None + units: Optional[Units65] = None value: float @@ -3909,22 +3909,22 @@ class Name100(Enum): density = "density" -class Units43(Enum): +class Units66(Enum): g_cm_3 = "g/cm^3" class DensitySchema11(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units43] = None + units: Optional[Units66] = None value: float -class Units44(Enum): +class Units67(Enum): angstrom = "angstrom" class ScalarSchema12(BaseModel): - units: Optional[Units44] = None + units: Optional[Units67] = None value: float @@ -4385,13 +4385,13 @@ class Name107(Enum): volume = "volume" -class Units45(Enum): +class Units68(Enum): angstrom_3 = "angstrom^3" class VolumeSchema12(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units45] = None + units: Optional[Units68] = None value: float @@ -4399,22 +4399,22 @@ class Name108(Enum): density = "density" -class Units46(Enum): +class Units69(Enum): g_cm_3 = "g/cm^3" class DensitySchema12(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units46] = None + units: Optional[Units69] = None value: float -class Units47(Enum): +class Units70(Enum): angstrom = "angstrom" class ScalarSchema13(BaseModel): - units: Optional[Units47] = None + units: Optional[Units70] = None value: float 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 37bca3c3c..ed90120b2 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 @@ -423,22 +423,22 @@ class Name196(Enum): density = "density" -class Units79(Enum): +class Units102(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units79] = None + units: Optional[Units102] = None value: float -class Units80(Enum): +class Units103(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units80] = None + units: Optional[Units103] = None value: float @@ -975,13 +975,13 @@ class Name203(Enum): volume = "volume" -class Units81(Enum): +class Units104(Enum): angstrom_3 = "angstrom^3" class VolumeSchema24(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units81] = None + units: Optional[Units104] = None value: float @@ -989,22 +989,22 @@ class Name204(Enum): density = "density" -class Units82(Enum): +class Units105(Enum): g_cm_3 = "g/cm^3" class DensitySchema24(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units82] = None + units: Optional[Units105] = None value: float -class Units83(Enum): +class Units106(Enum): angstrom = "angstrom" class ScalarSchema25(BaseModel): - units: Optional[Units83] = None + units: Optional[Units106] = None value: float @@ -1477,13 +1477,13 @@ class Name211(Enum): volume = "volume" -class Units84(Enum): +class Units107(Enum): angstrom_3 = "angstrom^3" class VolumeSchema25(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units84] = None + units: Optional[Units107] = None value: float @@ -1491,22 +1491,22 @@ class Name212(Enum): density = "density" -class Units85(Enum): +class Units108(Enum): g_cm_3 = "g/cm^3" class DensitySchema25(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units85] = None + units: Optional[Units108] = None value: float -class Units86(Enum): +class Units109(Enum): angstrom = "angstrom" class ScalarSchema26(BaseModel): - units: Optional[Units86] = None + units: Optional[Units109] = None value: float @@ -1949,13 +1949,13 @@ class Name219(Enum): volume = "volume" -class Units87(Enum): +class Units110(Enum): angstrom_3 = "angstrom^3" class VolumeSchema26(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units87] = None + units: Optional[Units110] = None value: float @@ -1963,22 +1963,22 @@ class Name220(Enum): density = "density" -class Units88(Enum): +class Units111(Enum): g_cm_3 = "g/cm^3" class DensitySchema26(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units88] = None + units: Optional[Units111] = None value: float -class Units89(Enum): +class Units112(Enum): angstrom = "angstrom" class ScalarSchema27(BaseModel): - units: Optional[Units89] = None + units: Optional[Units112] = None value: float @@ -2427,13 +2427,13 @@ class Name227(Enum): volume = "volume" -class Units90(Enum): +class Units113(Enum): angstrom_3 = "angstrom^3" class VolumeSchema27(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units90] = None + units: Optional[Units113] = None value: float @@ -2441,22 +2441,22 @@ class Name228(Enum): density = "density" -class Units91(Enum): +class Units114(Enum): g_cm_3 = "g/cm^3" class DensitySchema27(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units91] = None + units: Optional[Units114] = None value: float -class Units92(Enum): +class Units115(Enum): angstrom = "angstrom" class ScalarSchema28(BaseModel): - units: Optional[Units92] = None + units: Optional[Units115] = None value: float @@ -2954,13 +2954,13 @@ class Name235(Enum): volume = "volume" -class Units93(Enum): +class Units116(Enum): angstrom_3 = "angstrom^3" class VolumeSchema28(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units93] = None + units: Optional[Units116] = None value: float @@ -2968,22 +2968,22 @@ class Name236(Enum): density = "density" -class Units94(Enum): +class Units117(Enum): g_cm_3 = "g/cm^3" class DensitySchema28(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units94] = None + units: Optional[Units117] = None value: float -class Units95(Enum): +class Units118(Enum): angstrom = "angstrom" class ScalarSchema29(BaseModel): - units: Optional[Units95] = None + units: Optional[Units118] = None value: float 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 01ad440c7..949339cf9 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 @@ -423,22 +423,22 @@ class Name148(Enum): density = "density" -class Units61(Enum): +class Units84(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units61] = None + units: Optional[Units84] = None value: float -class Units62(Enum): +class Units85(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units62] = None + units: Optional[Units85] = None value: float @@ -975,13 +975,13 @@ class Name155(Enum): volume = "volume" -class Units63(Enum): +class Units86(Enum): angstrom_3 = "angstrom^3" class VolumeSchema18(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units63] = None + units: Optional[Units86] = None value: float @@ -989,22 +989,22 @@ class Name156(Enum): density = "density" -class Units64(Enum): +class Units87(Enum): g_cm_3 = "g/cm^3" class DensitySchema18(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units64] = None + units: Optional[Units87] = None value: float -class Units65(Enum): +class Units88(Enum): angstrom = "angstrom" class ScalarSchema19(BaseModel): - units: Optional[Units65] = None + units: Optional[Units88] = None value: float @@ -1477,13 +1477,13 @@ class Name163(Enum): volume = "volume" -class Units66(Enum): +class Units89(Enum): angstrom_3 = "angstrom^3" class VolumeSchema19(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units66] = None + units: Optional[Units89] = None value: float @@ -1491,22 +1491,22 @@ class Name164(Enum): density = "density" -class Units67(Enum): +class Units90(Enum): g_cm_3 = "g/cm^3" class DensitySchema19(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units67] = None + units: Optional[Units90] = None value: float -class Units68(Enum): +class Units91(Enum): angstrom = "angstrom" class ScalarSchema20(BaseModel): - units: Optional[Units68] = None + units: Optional[Units91] = None value: float @@ -1949,13 +1949,13 @@ class Name171(Enum): volume = "volume" -class Units69(Enum): +class Units92(Enum): angstrom_3 = "angstrom^3" class VolumeSchema20(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units69] = None + units: Optional[Units92] = None value: float @@ -1963,22 +1963,22 @@ class Name172(Enum): density = "density" -class Units70(Enum): +class Units93(Enum): g_cm_3 = "g/cm^3" class DensitySchema20(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units70] = None + units: Optional[Units93] = None value: float -class Units71(Enum): +class Units94(Enum): angstrom = "angstrom" class ScalarSchema21(BaseModel): - units: Optional[Units71] = None + units: Optional[Units94] = None value: float @@ -2427,13 +2427,13 @@ class Name179(Enum): volume = "volume" -class Units72(Enum): +class Units95(Enum): angstrom_3 = "angstrom^3" class VolumeSchema21(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units72] = None + units: Optional[Units95] = None value: float @@ -2441,22 +2441,22 @@ class Name180(Enum): density = "density" -class Units73(Enum): +class Units96(Enum): g_cm_3 = "g/cm^3" class DensitySchema21(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units73] = None + units: Optional[Units96] = None value: float -class Units74(Enum): +class Units97(Enum): angstrom = "angstrom" class ScalarSchema22(BaseModel): - units: Optional[Units74] = None + units: Optional[Units97] = None value: float @@ -2954,13 +2954,13 @@ class Name187(Enum): volume = "volume" -class Units75(Enum): +class Units98(Enum): angstrom_3 = "angstrom^3" class VolumeSchema22(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units75] = None + units: Optional[Units98] = None value: float @@ -2968,22 +2968,22 @@ class Name188(Enum): density = "density" -class Units76(Enum): +class Units99(Enum): g_cm_3 = "g/cm^3" class DensitySchema22(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units76] = None + units: Optional[Units99] = None value: float -class Units77(Enum): +class Units100(Enum): angstrom = "angstrom" class ScalarSchema23(BaseModel): - units: Optional[Units77] = None + units: Optional[Units100] = None value: float 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 3d713bd50..eaac92221 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 @@ -289,22 +289,22 @@ class Name33(Enum): density = "density" -class Units18(Enum): +class Units41(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units18] = None + units: Optional[Units41] = None value: float -class Units19(Enum): +class Units42(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units19] = None + units: Optional[Units42] = None value: float 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 d4f4d7e29..fa75515b2 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 @@ -285,30 +285,30 @@ class VolumeSchema(BaseModel): value: float -class Name588(Enum): +class Name593(Enum): density = "density" -class Units268(Enum): +class Units301(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units268] = None + units: Optional[Units301] = None value: float -class Units269(Enum): +class Units302(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units269] = None + units: Optional[Units302] = None value: float -class Name589(Enum): +class Name594(Enum): symmetry = "symmetry" @@ -328,7 +328,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name590(Enum): +class Name595(Enum): elemental_ratio = "elemental_ratio" @@ -341,7 +341,7 @@ class ElementalRatio(BaseModel): """ -class Name591(Enum): +class Name596(Enum): p_norm = "p-norm" @@ -354,7 +354,7 @@ class PNorm(BaseModel): value: float -class Name592(Enum): +class Name597(Enum): inchi = "inchi" @@ -363,7 +363,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name593(Enum): +class Name598(Enum): inchi_key = "inchi_key" @@ -450,7 +450,7 @@ class FileSourceSchema(BaseModel): """ -class Name594(Enum): +class Name599(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -463,7 +463,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name594 + name: Name599 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -808,44 +808,44 @@ class LatticeSchema60(BaseModel): ) -class Name595(Enum): +class Name600(Enum): volume = "volume" -class Units270(Enum): +class Units303(Enum): angstrom_3 = "angstrom^3" class VolumeSchema61(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units270] = None + units: Optional[Units303] = None value: float -class Name596(Enum): +class Name601(Enum): density = "density" -class Units271(Enum): +class Units304(Enum): g_cm_3 = "g/cm^3" class DensitySchema62(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units271] = None + units: Optional[Units304] = None value: float -class Units272(Enum): +class Units305(Enum): angstrom = "angstrom" class ScalarSchema76(BaseModel): - units: Optional[Units272] = None + units: Optional[Units305] = None value: float -class Name597(Enum): +class Name602(Enum): symmetry = "symmetry" @@ -865,7 +865,7 @@ class SymmetrySchema61(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name598(Enum): +class Name603(Enum): elemental_ratio = "elemental_ratio" @@ -878,7 +878,7 @@ class ElementalRatio62(BaseModel): """ -class Name599(Enum): +class Name604(Enum): p_norm = "p-norm" @@ -891,7 +891,7 @@ class PNorm61(BaseModel): value: float -class Name600(Enum): +class Name605(Enum): inchi = "inchi" @@ -900,7 +900,7 @@ class InChIRepresentationSchema62(BaseModel): value: str -class Name601(Enum): +class Name606(Enum): inchi_key = "inchi_key" @@ -960,14 +960,14 @@ class DatabaseSourceSchema61(BaseModel): """ -class Name602(Enum): +class Name607(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" class MaterialConsistencyCheckSchema61(BaseModel): - name: Name602 + name: Name607 """ Name of the consistency check that is performed, which is listed in an enum. """ 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 07b7a37c3..c60c4c630 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 @@ -285,30 +285,30 @@ class VolumeSchema(BaseModel): value: float -class Name810(Enum): +class Name817(Enum): density = "density" -class Units355(Enum): +class Units470(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units355] = None + units: Optional[Units470] = None value: float -class Units356(Enum): +class Units471(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units356] = None + units: Optional[Units471] = None value: float -class Name811(Enum): +class Name818(Enum): symmetry = "symmetry" @@ -328,7 +328,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name812(Enum): +class Name819(Enum): elemental_ratio = "elemental_ratio" @@ -341,7 +341,7 @@ class ElementalRatio(BaseModel): """ -class Name813(Enum): +class Name820(Enum): p_norm = "p-norm" @@ -354,7 +354,7 @@ class PNorm(BaseModel): value: float -class Name814(Enum): +class Name821(Enum): inchi = "inchi" @@ -363,7 +363,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name815(Enum): +class Name822(Enum): inchi_key = "inchi_key" @@ -450,7 +450,7 @@ class FileSourceSchema(BaseModel): """ -class Name816(Enum): +class Name823(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -463,7 +463,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name816 + name: Name823 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -808,44 +808,44 @@ class LatticeSchema84(BaseModel): ) -class Name817(Enum): +class Name824(Enum): volume = "volume" -class Units357(Enum): +class Units472(Enum): angstrom_3 = "angstrom^3" class VolumeSchema84(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units357] = None + units: Optional[Units472] = None value: float -class Name818(Enum): +class Name825(Enum): density = "density" -class Units358(Enum): +class Units473(Enum): g_cm_3 = "g/cm^3" class DensitySchema85(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units358] = None + units: Optional[Units473] = None value: float -class Units359(Enum): +class Units474(Enum): angstrom = "angstrom" class ScalarSchema100(BaseModel): - units: Optional[Units359] = None + units: Optional[Units474] = None value: float -class Name819(Enum): +class Name826(Enum): symmetry = "symmetry" @@ -865,11 +865,11 @@ class SymmetrySchema84(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name820(Enum): +class Name827(Enum): elemental_ratio = "elemental_ratio" -class ElementalRatio85(BaseModel): +class ElementalRatio87(BaseModel): name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] value: confloat(ge=0.0, le=1.0) element: Optional[str] = None @@ -878,7 +878,7 @@ class ElementalRatio85(BaseModel): """ -class Name821(Enum): +class Name828(Enum): p_norm = "p-norm" @@ -891,7 +891,7 @@ class PNorm85(BaseModel): value: float -class Name822(Enum): +class Name829(Enum): inchi = "inchi" @@ -900,7 +900,7 @@ class InChIRepresentationSchema85(BaseModel): value: str -class Name823(Enum): +class Name830(Enum): inchi_key = "inchi_key" @@ -915,7 +915,7 @@ class DerivedPropertiesSchema85( VolumeSchema84, DensitySchema85, SymmetrySchema84, - ElementalRatio85, + ElementalRatio87, PNorm85, InChIRepresentationSchema85, InChIKeyRepresentationSchema85, @@ -926,14 +926,14 @@ class DerivedPropertiesSchema85( VolumeSchema84, DensitySchema85, SymmetrySchema84, - ElementalRatio85, + ElementalRatio87, PNorm85, InChIRepresentationSchema85, InChIKeyRepresentationSchema85, ] = Field(..., discriminator="name") -class DatabaseSourceSchema84(BaseModel): +class DatabaseSourceSchema86(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 @@ -960,14 +960,14 @@ class DatabaseSourceSchema84(BaseModel): """ -class Name824(Enum): +class Name831(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" class MaterialConsistencyCheckSchema84(BaseModel): - name: Name824 + name: Name831 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -1033,7 +1033,7 @@ class CrystalSchema75(BaseModel): basis: BasisSchema84 = Field(..., title="basis schema") lattice: LatticeSchema84 = Field(..., title="lattice schema") derivedProperties: Optional[List[DerivedPropertiesSchema85]] = Field(None, title="derived properties schema") - external: Optional[DatabaseSourceSchema84] = Field(None, title="database source schema") + external: Optional[DatabaseSourceSchema86] = Field(None, title="database source schema") """ information about a database source """ 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 c393069e0..4a606d89b 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 @@ -285,30 +285,30 @@ class VolumeSchema(BaseModel): value: float -class Name859(Enum): +class Name867(Enum): density = "density" -class Units375(Enum): +class Units497(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units375] = None + units: Optional[Units497] = None value: float -class Units376(Enum): +class Units498(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units376] = None + units: Optional[Units498] = None value: float -class Name860(Enum): +class Name868(Enum): symmetry = "symmetry" @@ -328,7 +328,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name861(Enum): +class Name869(Enum): elemental_ratio = "elemental_ratio" @@ -341,7 +341,7 @@ class ElementalRatio(BaseModel): """ -class Name862(Enum): +class Name870(Enum): p_norm = "p-norm" @@ -354,7 +354,7 @@ class PNorm(BaseModel): value: float -class Name863(Enum): +class Name871(Enum): inchi = "inchi" @@ -363,7 +363,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name864(Enum): +class Name872(Enum): inchi_key = "inchi_key" @@ -450,7 +450,7 @@ class FileSourceSchema(BaseModel): """ -class Name865(Enum): +class Name873(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -463,7 +463,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name865 + name: Name873 """ Name of the consistency check that is performed, which is listed in an enum. """ 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 99a408d14..6c5d122e6 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 @@ -285,30 +285,30 @@ class VolumeSchema(BaseModel): value: float -class Name577(Enum): +class Name582(Enum): density = "density" -class Units263(Enum): +class Units296(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units263] = None + units: Optional[Units296] = None value: float -class Units264(Enum): +class Units297(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units264] = None + units: Optional[Units297] = None value: float -class Name578(Enum): +class Name583(Enum): symmetry = "symmetry" @@ -328,7 +328,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name579(Enum): +class Name584(Enum): elemental_ratio = "elemental_ratio" @@ -341,7 +341,7 @@ class ElementalRatio(BaseModel): """ -class Name580(Enum): +class Name585(Enum): p_norm = "p-norm" @@ -354,7 +354,7 @@ class PNorm(BaseModel): value: float -class Name581(Enum): +class Name586(Enum): inchi = "inchi" @@ -363,7 +363,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name582(Enum): +class Name587(Enum): inchi_key = "inchi_key" @@ -450,7 +450,7 @@ class FileSourceSchema(BaseModel): """ -class Name583(Enum): +class Name588(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -463,7 +463,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name583 + name: Name588 """ Name of the consistency check that is performed, which is listed in an enum. """ 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 d23364820..1078eb3f4 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 @@ -432,30 +432,30 @@ class VolumeSchema(BaseModel): value: float -class Name664(Enum): +class Name669(Enum): density = "density" -class Units297(Enum): +class Units338(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units297] = None + units: Optional[Units338] = None value: float -class Units298(Enum): +class Units339(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units298] = None + units: Optional[Units339] = None value: float -class Name665(Enum): +class Name670(Enum): symmetry = "symmetry" @@ -475,7 +475,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name666(Enum): +class Name671(Enum): elemental_ratio = "elemental_ratio" @@ -488,7 +488,7 @@ class ElementalRatio(BaseModel): """ -class Name667(Enum): +class Name672(Enum): p_norm = "p-norm" @@ -501,7 +501,7 @@ class PNorm(BaseModel): value: float -class Name668(Enum): +class Name673(Enum): inchi = "inchi" @@ -510,7 +510,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name669(Enum): +class Name674(Enum): inchi_key = "inchi_key" @@ -597,7 +597,7 @@ class FileSourceSchema(BaseModel): """ -class Name670(Enum): +class Name675(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -610,7 +610,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name670 + name: Name675 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -992,44 +992,44 @@ class LatticeSchema68(BaseModel): ) -class Name671(Enum): +class Name676(Enum): volume = "volume" -class Units299(Enum): +class Units340(Enum): angstrom_3 = "angstrom^3" class VolumeSchema68(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units299] = None + units: Optional[Units340] = None value: float -class Name672(Enum): +class Name677(Enum): density = "density" -class Units300(Enum): +class Units341(Enum): g_cm_3 = "g/cm^3" class DensitySchema69(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units300] = None + units: Optional[Units341] = None value: float -class Units301(Enum): +class Units342(Enum): angstrom = "angstrom" class ScalarSchema83(BaseModel): - units: Optional[Units301] = None + units: Optional[Units342] = None value: float -class Name673(Enum): +class Name678(Enum): symmetry = "symmetry" @@ -1049,7 +1049,7 @@ class SymmetrySchema68(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name674(Enum): +class Name679(Enum): elemental_ratio = "elemental_ratio" @@ -1062,7 +1062,7 @@ class ElementalRatio69(BaseModel): """ -class Name675(Enum): +class Name680(Enum): p_norm = "p-norm" @@ -1075,7 +1075,7 @@ class PNorm68(BaseModel): value: float -class Name676(Enum): +class Name681(Enum): inchi = "inchi" @@ -1084,7 +1084,7 @@ class InChIRepresentationSchema69(BaseModel): value: str -class Name677(Enum): +class Name682(Enum): inchi_key = "inchi_key" @@ -1144,14 +1144,14 @@ class DatabaseSourceSchema68(BaseModel): """ -class Name678(Enum): +class Name683(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" class MaterialConsistencyCheckSchema68(BaseModel): - name: Name678 + name: Name683 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -1481,44 +1481,44 @@ class LatticeSchema69(BaseModel): ) -class Name679(Enum): +class Name684(Enum): volume = "volume" -class Units302(Enum): +class Units343(Enum): angstrom_3 = "angstrom^3" class VolumeSchema69(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units302] = None + units: Optional[Units343] = None value: float -class Name680(Enum): +class Name685(Enum): density = "density" -class Units303(Enum): +class Units344(Enum): g_cm_3 = "g/cm^3" class DensitySchema70(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units303] = None + units: Optional[Units344] = None value: float -class Units304(Enum): +class Units345(Enum): angstrom = "angstrom" class ScalarSchema84(BaseModel): - units: Optional[Units304] = None + units: Optional[Units345] = None value: float -class Name681(Enum): +class Name686(Enum): symmetry = "symmetry" @@ -1538,7 +1538,7 @@ class SymmetrySchema69(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name682(Enum): +class Name687(Enum): elemental_ratio = "elemental_ratio" @@ -1551,7 +1551,7 @@ class ElementalRatio70(BaseModel): """ -class Name683(Enum): +class Name688(Enum): p_norm = "p-norm" @@ -1564,7 +1564,7 @@ class PNorm69(BaseModel): value: float -class Name684(Enum): +class Name689(Enum): inchi = "inchi" @@ -1573,7 +1573,7 @@ class InChIRepresentationSchema70(BaseModel): value: str -class Name685(Enum): +class Name690(Enum): inchi_key = "inchi_key" @@ -1633,14 +1633,14 @@ class DatabaseSourceSchema69(BaseModel): """ -class Name686(Enum): +class Name691(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" class MaterialConsistencyCheckSchema69(BaseModel): - name: Name686 + name: Name691 """ Name of the consistency check that is performed, which is listed in an enum. """ 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 e918e7f9e..2a59c4298 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 @@ -432,30 +432,30 @@ class VolumeSchema(BaseModel): value: float -class Name688(Enum): +class Name693(Enum): density = "density" -class Units306(Enum): +class Units347(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units306] = None + units: Optional[Units347] = None value: float -class Units307(Enum): +class Units348(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units307] = None + units: Optional[Units348] = None value: float -class Name689(Enum): +class Name694(Enum): symmetry = "symmetry" @@ -475,7 +475,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name690(Enum): +class Name695(Enum): elemental_ratio = "elemental_ratio" @@ -488,7 +488,7 @@ class ElementalRatio(BaseModel): """ -class Name691(Enum): +class Name696(Enum): p_norm = "p-norm" @@ -501,7 +501,7 @@ class PNorm(BaseModel): value: float -class Name692(Enum): +class Name697(Enum): inchi = "inchi" @@ -510,7 +510,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name693(Enum): +class Name698(Enum): inchi_key = "inchi_key" @@ -597,7 +597,7 @@ class FileSourceSchema(BaseModel): """ -class Name694(Enum): +class Name699(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -610,7 +610,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name694 + name: Name699 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -992,44 +992,44 @@ class LatticeSchema71(BaseModel): ) -class Name695(Enum): +class Name700(Enum): volume = "volume" -class Units308(Enum): +class Units349(Enum): angstrom_3 = "angstrom^3" class VolumeSchema71(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units308] = None + units: Optional[Units349] = None value: float -class Name696(Enum): +class Name701(Enum): density = "density" -class Units309(Enum): +class Units350(Enum): g_cm_3 = "g/cm^3" class DensitySchema72(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units309] = None + units: Optional[Units350] = None value: float -class Units310(Enum): +class Units351(Enum): angstrom = "angstrom" class ScalarSchema86(BaseModel): - units: Optional[Units310] = None + units: Optional[Units351] = None value: float -class Name697(Enum): +class Name702(Enum): symmetry = "symmetry" @@ -1049,7 +1049,7 @@ class SymmetrySchema71(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name698(Enum): +class Name703(Enum): elemental_ratio = "elemental_ratio" @@ -1062,7 +1062,7 @@ class ElementalRatio72(BaseModel): """ -class Name699(Enum): +class Name704(Enum): p_norm = "p-norm" @@ -1075,7 +1075,7 @@ class PNorm71(BaseModel): value: float -class Name700(Enum): +class Name705(Enum): inchi = "inchi" @@ -1084,7 +1084,7 @@ class InChIRepresentationSchema72(BaseModel): value: str -class Name701(Enum): +class Name706(Enum): inchi_key = "inchi_key" @@ -1144,14 +1144,14 @@ class DatabaseSourceSchema71(BaseModel): """ -class Name702(Enum): +class Name707(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" class MaterialConsistencyCheckSchema71(BaseModel): - name: Name702 + name: Name707 """ Name of the consistency check that is performed, which is listed in an enum. """ 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 2e84dbfa1..abbf95073 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 @@ -419,30 +419,30 @@ class VolumeSchema(BaseModel): value: float -class Name736(Enum): +class Name743(Enum): density = "density" -class Units327(Enum): +class Units410(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units327] = None + units: Optional[Units410] = None value: float -class Units328(Enum): +class Units411(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units328] = None + units: Optional[Units411] = None value: float -class Name737(Enum): +class Name744(Enum): symmetry = "symmetry" @@ -462,7 +462,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name738(Enum): +class Name745(Enum): elemental_ratio = "elemental_ratio" @@ -475,7 +475,7 @@ class ElementalRatio(BaseModel): """ -class Name739(Enum): +class Name746(Enum): p_norm = "p-norm" @@ -488,7 +488,7 @@ class PNorm(BaseModel): value: float -class Name740(Enum): +class Name747(Enum): inchi = "inchi" @@ -497,7 +497,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name741(Enum): +class Name748(Enum): inchi_key = "inchi_key" @@ -584,7 +584,7 @@ class FileSourceSchema(BaseModel): """ -class Name742(Enum): +class Name749(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -597,7 +597,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name742 + name: Name749 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -971,44 +971,44 @@ class LatticeSchema75(BaseModel): ) -class Name743(Enum): +class Name750(Enum): volume = "volume" -class Units329(Enum): +class Units412(Enum): angstrom_3 = "angstrom^3" class VolumeSchema75(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units329] = None + units: Optional[Units412] = None value: float -class Name744(Enum): +class Name751(Enum): density = "density" -class Units330(Enum): +class Units413(Enum): g_cm_3 = "g/cm^3" class DensitySchema76(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units330] = None + units: Optional[Units413] = None value: float -class Units331(Enum): +class Units414(Enum): angstrom = "angstrom" class ScalarSchema91(BaseModel): - units: Optional[Units331] = None + units: Optional[Units414] = None value: float -class Name745(Enum): +class Name752(Enum): symmetry = "symmetry" @@ -1028,11 +1028,11 @@ class SymmetrySchema75(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name746(Enum): +class Name753(Enum): elemental_ratio = "elemental_ratio" -class ElementalRatio76(BaseModel): +class ElementalRatio78(BaseModel): name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] value: confloat(ge=0.0, le=1.0) element: Optional[str] = None @@ -1041,7 +1041,7 @@ class ElementalRatio76(BaseModel): """ -class Name747(Enum): +class Name754(Enum): p_norm = "p-norm" @@ -1054,7 +1054,7 @@ class PNorm76(BaseModel): value: float -class Name748(Enum): +class Name755(Enum): inchi = "inchi" @@ -1063,7 +1063,7 @@ class InChIRepresentationSchema76(BaseModel): value: str -class Name749(Enum): +class Name756(Enum): inchi_key = "inchi_key" @@ -1078,7 +1078,7 @@ class DerivedPropertiesSchema76( VolumeSchema75, DensitySchema76, SymmetrySchema75, - ElementalRatio76, + ElementalRatio78, PNorm76, InChIRepresentationSchema76, InChIKeyRepresentationSchema76, @@ -1089,14 +1089,14 @@ class DerivedPropertiesSchema76( VolumeSchema75, DensitySchema76, SymmetrySchema75, - ElementalRatio76, + ElementalRatio78, PNorm76, InChIRepresentationSchema76, InChIKeyRepresentationSchema76, ] = Field(..., discriminator="name") -class DatabaseSourceSchema75(BaseModel): +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 @@ -1123,14 +1123,14 @@ class DatabaseSourceSchema75(BaseModel): """ -class Name750(Enum): +class Name757(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" class MaterialConsistencyCheckSchema75(BaseModel): - name: Name750 + name: Name757 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -1196,7 +1196,7 @@ class CrystalSchema66(BaseModel): basis: BasisSchema75 = Field(..., title="basis schema") lattice: LatticeSchema75 = Field(..., title="lattice schema") derivedProperties: Optional[List[DerivedPropertiesSchema76]] = Field(None, title="derived properties schema") - external: Optional[DatabaseSourceSchema75] = Field(None, title="database source schema") + external: Optional[DatabaseSourceSchema77] = Field(None, title="database source schema") """ information about a database source """ 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 50026d970..5bb175f51 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 @@ -427,30 +427,30 @@ class VolumeSchema(BaseModel): value: float -class Name776(Enum): +class Name783(Enum): density = "density" -class Units342(Enum): +class Units425(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units342] = None + units: Optional[Units425] = None value: float -class Units343(Enum): +class Units426(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units343] = None + units: Optional[Units426] = None value: float -class Name777(Enum): +class Name784(Enum): symmetry = "symmetry" @@ -470,7 +470,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name778(Enum): +class Name785(Enum): elemental_ratio = "elemental_ratio" @@ -483,7 +483,7 @@ class ElementalRatio(BaseModel): """ -class Name779(Enum): +class Name786(Enum): p_norm = "p-norm" @@ -496,7 +496,7 @@ class PNorm(BaseModel): value: float -class Name780(Enum): +class Name787(Enum): inchi = "inchi" @@ -505,7 +505,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name781(Enum): +class Name788(Enum): inchi_key = "inchi_key" @@ -592,7 +592,7 @@ class FileSourceSchema(BaseModel): """ -class Name782(Enum): +class Name789(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -605,7 +605,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name782 + name: Name789 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -979,44 +979,44 @@ class LatticeSchema80(BaseModel): ) -class Name783(Enum): +class Name790(Enum): volume = "volume" -class Units344(Enum): +class Units427(Enum): angstrom_3 = "angstrom^3" class VolumeSchema80(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units344] = None + units: Optional[Units427] = None value: float -class Name784(Enum): +class Name791(Enum): density = "density" -class Units345(Enum): +class Units428(Enum): g_cm_3 = "g/cm^3" class DensitySchema81(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units345] = None + units: Optional[Units428] = None value: float -class Units346(Enum): +class Units429(Enum): angstrom = "angstrom" class ScalarSchema96(BaseModel): - units: Optional[Units346] = None + units: Optional[Units429] = None value: float -class Name785(Enum): +class Name792(Enum): symmetry = "symmetry" @@ -1036,11 +1036,11 @@ class SymmetrySchema80(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name786(Enum): +class Name793(Enum): elemental_ratio = "elemental_ratio" -class ElementalRatio81(BaseModel): +class ElementalRatio83(BaseModel): name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] value: confloat(ge=0.0, le=1.0) element: Optional[str] = None @@ -1049,7 +1049,7 @@ class ElementalRatio81(BaseModel): """ -class Name787(Enum): +class Name794(Enum): p_norm = "p-norm" @@ -1062,7 +1062,7 @@ class PNorm81(BaseModel): value: float -class Name788(Enum): +class Name795(Enum): inchi = "inchi" @@ -1071,7 +1071,7 @@ class InChIRepresentationSchema81(BaseModel): value: str -class Name789(Enum): +class Name796(Enum): inchi_key = "inchi_key" @@ -1086,7 +1086,7 @@ class DerivedPropertiesSchema81( VolumeSchema80, DensitySchema81, SymmetrySchema80, - ElementalRatio81, + ElementalRatio83, PNorm81, InChIRepresentationSchema81, InChIKeyRepresentationSchema81, @@ -1097,14 +1097,14 @@ class DerivedPropertiesSchema81( VolumeSchema80, DensitySchema81, SymmetrySchema80, - ElementalRatio81, + ElementalRatio83, PNorm81, InChIRepresentationSchema81, InChIKeyRepresentationSchema81, ] = Field(..., discriminator="name") -class DatabaseSourceSchema80(BaseModel): +class DatabaseSourceSchema82(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 @@ -1131,14 +1131,14 @@ class DatabaseSourceSchema80(BaseModel): """ -class Name790(Enum): +class Name797(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" class MaterialConsistencyCheckSchema80(BaseModel): - name: Name790 + name: Name797 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -1204,7 +1204,7 @@ class CrystalSchema71(BaseModel): basis: BasisSchema80 = Field(..., title="basis schema") lattice: LatticeSchema80 = Field(..., title="lattice schema") derivedProperties: Optional[List[DerivedPropertiesSchema81]] = Field(None, title="derived properties schema") - external: Optional[DatabaseSourceSchema80] = Field(None, title="database source schema") + external: Optional[DatabaseSourceSchema82] = Field(None, title="database source schema") """ information about a database source """ diff --git a/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.py b/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.py deleted file mode 100644 index f38171a32..000000000 --- a/src/py/mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.py +++ /dev/null @@ -1,1151 +0,0 @@ -# generated by datamodel-codegen: -# filename: materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.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 SupercellMatrix2DSchemaItem(RootModel[List[int]]): - root: List[int] - - -class ArrayOf3NumberElementsSchema(RootModel[List[float]]): - root: List[float] = Field(..., title="array of 3 number elements 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" - ) - """ - 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 Value185(Enum): - X = "X" - Vac = "Vac" - - -class AtomicElementSchema(BaseModel): - value: Union[Value, Value185] - """ - 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 Name794(Enum): - density = "density" - - -class Units347(Enum): - g_cm_3 = "g/cm^3" - - -class DensitySchema(BaseModel): - name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units347] = None - value: float - - -class Units348(Enum): - angstrom = "angstrom" - - -class ScalarSchema(BaseModel): - units: Optional[Units348] = None - value: float - - -class Name795(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 Name796(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 Name797(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 Name798(Enum): - inchi = "inchi" - - -class InChIRepresentationSchema(BaseModel): - name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class Name799(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 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 - """ - - -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 Name800(Enum): - default = "default" - atomsTooClose = "atomsTooClose" - atomsOverlap = "atomsOverlap" - - -class Severity(Enum): - info = "info" - warning = "warning" - error = "error" - - -class MaterialConsistencyCheckSchema(BaseModel): - name: Name800 - """ - 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 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 - 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 - """ - metadata: Optional[Dict[str, Any]] = None - - -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 Value186(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 Value187(Enum): - X = "X" - Vac = "Vac" - - -class AtomicElementSchema89(BaseModel): - value: Union[Value186, Value187] - """ - All elements, including extra elements - """ - id: int - """ - integer id of this entry - """ - - -class BasisSchema87(BaseModel): - elements: List[AtomicElementSchema89] = 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 LatticeVectorsSchema87(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 LatticeUnitsSchema88(BaseModel): - length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") - angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") - - -class LatticeSchema87(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[LatticeVectorsSchema87] = 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"}), - title="Lattice units schema", - ) - - -class Name801(Enum): - volume = "volume" - - -class Units349(Enum): - angstrom_3 = "angstrom^3" - - -class VolumeSchema87(BaseModel): - name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units349] = None - value: float - - -class Name802(Enum): - density = "density" - - -class Units350(Enum): - g_cm_3 = "g/cm^3" - - -class DensitySchema88(BaseModel): - name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units350] = None - value: float - - -class Units351(Enum): - angstrom = "angstrom" - - -class ScalarSchema102(BaseModel): - units: Optional[Units351] = None - value: float - - -class Name803(Enum): - symmetry = "symmetry" - - -class SymmetrySchema87(BaseModel): - pointGroupSymbol: Optional[str] = None - """ - point group symbol in Schoenflies notation - """ - spaceGroupSymbol: Optional[str] = None - """ - space group symbol in Hermann–Mauguin notation - """ - tolerance: Optional[ScalarSchema102] = Field(None, title="scalar schema") - """ - tolerance used for symmetry calculation - """ - name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] - - -class Name804(Enum): - elemental_ratio = "elemental_ratio" - - -class ElementalRatio88(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 Name805(Enum): - p_norm = "p-norm" - - -class PNorm88(BaseModel): - name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] - degree: Optional[int] = None - """ - degree of the dimensionality of the norm - """ - value: float - - -class Name806(Enum): - inchi = "inchi" - - -class InChIRepresentationSchema88(BaseModel): - name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class Name807(Enum): - inchi_key = "inchi_key" - - -class InChIKeyRepresentationSchema88(BaseModel): - name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class DerivedPropertiesSchema88( - RootModel[ - Union[ - VolumeSchema87, - DensitySchema88, - SymmetrySchema87, - ElementalRatio88, - PNorm88, - InChIRepresentationSchema88, - InChIKeyRepresentationSchema88, - ] - ] -): - root: Union[ - VolumeSchema87, - DensitySchema88, - SymmetrySchema87, - ElementalRatio88, - PNorm88, - InChIRepresentationSchema88, - InChIKeyRepresentationSchema88, - ] = Field(..., discriminator="name") - - -class Name808(Enum): - default = "default" - atomsTooClose = "atomsTooClose" - atomsOverlap = "atomsOverlap" - - -class MaterialConsistencyCheckSchema87(BaseModel): - name: Name808 - """ - 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 CrystalSchema82(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: 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") - """ - 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[MaterialConsistencyCheckSchema87]] = 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: Optional[str] = None - """ - entity name - """ - isDefault: Optional[bool] = False - """ - 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 - """ - Size of the vacuum slab in angstroms - """ - crystal: CrystalSchema82 = Field(..., title="Crystal Schema") - """ - A crystal structure, referencing the base material schema - """ - - -class SlabStrainedSupercellWithGapConfigurationSchema(BaseModel): - gap: Optional[confloat(ge=0.0)] = None - """ - If provided, the film is shifted to have it as smallest distance to the substrate - """ - 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[AtomicLayersUniqueRepeatedSchema, VacuumConfigurationSchema]] = Field( - ..., max_length=2, min_length=2 - ) - direction: Optional[AxisEnum] = Field("z", title="Axis Enum") - """ - Enum for axis types - """ 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 fa697ecfd..fae56a2ff 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 @@ -289,22 +289,22 @@ class Name412(Enum): density = "density" -class Units160(Enum): +class Units183(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units160] = None + units: Optional[Units183] = None value: float -class Units161(Enum): +class Units184(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units161] = None + units: Optional[Units184] = None value: float @@ -812,13 +812,13 @@ class Name419(Enum): volume = "volume" -class Units162(Enum): +class Units185(Enum): angstrom_3 = "angstrom^3" class VolumeSchema51(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units162] = None + units: Optional[Units185] = None value: float @@ -826,22 +826,22 @@ class Name420(Enum): density = "density" -class Units163(Enum): +class Units186(Enum): g_cm_3 = "g/cm^3" class DensitySchema51(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units163] = None + units: Optional[Units186] = None value: float -class Units164(Enum): +class Units187(Enum): angstrom = "angstrom" class ScalarSchema52(BaseModel): - units: Optional[Units164] = None + units: Optional[Units187] = None value: float 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 628f3a431..9d27be3c4 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 @@ -289,22 +289,22 @@ class Name470(Enum): density = "density" -class Units181(Enum): +class Units204(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units181] = None + units: Optional[Units204] = None value: float -class Units182(Enum): +class Units205(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units182] = None + units: Optional[Units205] = None value: float 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 a71246b69..52a1eaeea 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 @@ -285,30 +285,30 @@ class VolumeSchema(BaseModel): value: float -class Name717(Enum): +class Name722(Enum): density = "density" -class Units319(Enum): +class Units360(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units319] = None + units: Optional[Units360] = None value: float -class Units320(Enum): +class Units361(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units320] = None + units: Optional[Units361] = None value: float -class Name718(Enum): +class Name723(Enum): symmetry = "symmetry" @@ -328,7 +328,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name719(Enum): +class Name724(Enum): elemental_ratio = "elemental_ratio" @@ -341,7 +341,7 @@ class ElementalRatio(BaseModel): """ -class Name720(Enum): +class Name725(Enum): p_norm = "p-norm" @@ -354,7 +354,7 @@ class PNorm(BaseModel): value: float -class Name721(Enum): +class Name726(Enum): inchi = "inchi" @@ -363,7 +363,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name722(Enum): +class Name727(Enum): inchi_key = "inchi_key" @@ -450,7 +450,7 @@ class FileSourceSchema(BaseModel): """ -class Name723(Enum): +class Name728(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -463,7 +463,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name723 + name: Name728 """ Name of the consistency check that is performed, which is listed in an enum. """ 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 8f21b9bc3..cf7287c04 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 @@ -285,30 +285,30 @@ class VolumeSchema(BaseModel): value: float -class Name878(Enum): +class Name886(Enum): density = "density" -class Units385(Enum): +class Units507(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units385] = None + units: Optional[Units507] = None value: float -class Units386(Enum): +class Units508(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units386] = None + units: Optional[Units508] = None value: float -class Name879(Enum): +class Name887(Enum): symmetry = "symmetry" @@ -328,7 +328,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name880(Enum): +class Name888(Enum): elemental_ratio = "elemental_ratio" @@ -341,7 +341,7 @@ class ElementalRatio(BaseModel): """ -class Name881(Enum): +class Name889(Enum): p_norm = "p-norm" @@ -354,7 +354,7 @@ class PNorm(BaseModel): value: float -class Name882(Enum): +class Name890(Enum): inchi = "inchi" @@ -363,7 +363,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name883(Enum): +class Name891(Enum): inchi_key = "inchi_key" @@ -450,7 +450,7 @@ class FileSourceSchema(BaseModel): """ -class Name884(Enum): +class Name892(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -463,7 +463,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name884 + name: Name892 """ Name of the consistency check that is performed, which is listed in an enum. """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_site.py b/src/py/mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_site.py deleted file mode 100644 index 9853355db..000000000 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_site.py +++ /dev/null @@ -1,1576 +0,0 @@ -# generated by datamodel-codegen: -# filename: materials_category_components/entities/auxiliary/zero_dimensional/void_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, constr - - -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 Value189(Enum): - X = "X" - Vac = "Vac" - - -class AtomicElementSchema(BaseModel): - value: Union[Value, Value189] - """ - 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 Name780(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 Name781(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 Name782(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 Name783(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 Name784(Enum): - inchi = "inchi" - - -class InChIRepresentationSchema(BaseModel): - name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class Name785(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 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 - """ - - -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 Name786(Enum): - default = "default" - atomsTooClose = "atomsTooClose" - atomsOverlap = "atomsOverlap" - - -class Severity(Enum): - info = "info" - warning = "warning" - error = "error" - - -class MaterialConsistencyCheckSchema(BaseModel): - name: Name786 - """ - 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 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 - 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 - """ - metadata: Optional[Dict[str, Any]] = None - - -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") - - -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 Value190(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 Value191(Enum): - X = "X" - Vac = "Vac" - - -class AtomicElementSchema91(BaseModel): - value: Union[Value190, Value191] - """ - All elements, including extra elements - """ - id: int - """ - integer id of this entry - """ - - -class BasisSchema89(BaseModel): - elements: List[AtomicElementSchema91] = 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 LatticeVectorsSchema90(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 LatticeUnitsSchema90(BaseModel): - length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") - angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") - - -class LatticeSchema89(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[LatticeVectorsSchema90] = 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"}), - title="Lattice units schema", - ) - - -class Name787(Enum): - volume = "volume" - - -class Units320(Enum): - angstrom_3 = "angstrom^3" - - -class VolumeSchema89(BaseModel): - name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units320] = None - value: float - - -class Name788(Enum): - density = "density" - - -class Units321(Enum): - g_cm_3 = "g/cm^3" - - -class DensitySchema90(BaseModel): - name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units321] = None - value: float - - -class Units322(Enum): - angstrom = "angstrom" - - -class ScalarSchema105(BaseModel): - units: Optional[Units322] = None - value: float - - -class Name789(Enum): - symmetry = "symmetry" - - -class SymmetrySchema90(BaseModel): - pointGroupSymbol: Optional[str] = None - """ - point group symbol in Schoenflies notation - """ - spaceGroupSymbol: Optional[str] = None - """ - space group symbol in Hermann–Mauguin notation - """ - tolerance: Optional[ScalarSchema105] = Field(None, title="scalar schema") - """ - tolerance used for symmetry calculation - """ - name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] - - -class Name790(Enum): - elemental_ratio = "elemental_ratio" - - -class ElementalRatio90(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 Name791(Enum): - p_norm = "p-norm" - - -class PNorm90(BaseModel): - name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] - degree: Optional[int] = None - """ - degree of the dimensionality of the norm - """ - value: float - - -class Name792(Enum): - inchi = "inchi" - - -class InChIRepresentationSchema90(BaseModel): - name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class Name793(Enum): - inchi_key = "inchi_key" - - -class InChIKeyRepresentationSchema90(BaseModel): - name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class DerivedPropertiesSchema90( - RootModel[ - Union[ - VolumeSchema89, - DensitySchema90, - SymmetrySchema90, - ElementalRatio90, - PNorm90, - InChIRepresentationSchema90, - InChIKeyRepresentationSchema90, - ] - ] -): - root: Union[ - VolumeSchema89, - DensitySchema90, - SymmetrySchema90, - ElementalRatio90, - PNorm90, - InChIRepresentationSchema90, - InChIKeyRepresentationSchema90, - ] = Field(..., discriminator="name") - - -class Name794(Enum): - default = "default" - atomsTooClose = "atomsTooClose" - atomsOverlap = "atomsOverlap" - - -class MaterialConsistencyCheckSchema89(BaseModel): - name: Name794 - """ - 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 CrystalSchema86(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: 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") - """ - 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[MaterialConsistencyCheckSchema89]] = 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: Optional[str] = None - """ - entity name - """ - isDefault: Optional[bool] = False - """ - Identifies that entity is defaultable - """ - metadata: Optional[Dict[str, Any]] = None - - -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: CrystalSchema86 = 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 Value192(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 Value193(Enum): - X = "X" - Vac = "Vac" - - -class AtomicElementSchema92(BaseModel): - value: Union[Value192, Value193] - """ - All elements, including extra elements - """ - id: int - """ - integer id of this entry - """ - - -class BasisSchema90(BaseModel): - elements: List[AtomicElementSchema92] = 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 LatticeVectorsSchema91(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 LatticeUnitsSchema91(BaseModel): - length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum") - angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum") - - -class LatticeSchema90(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[LatticeVectorsSchema91] = 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"}), - title="Lattice units schema", - ) - - -class Name795(Enum): - volume = "volume" - - -class Units323(Enum): - angstrom_3 = "angstrom^3" - - -class VolumeSchema90(BaseModel): - name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units323] = None - value: float - - -class Name796(Enum): - density = "density" - - -class Units324(Enum): - g_cm_3 = "g/cm^3" - - -class DensitySchema91(BaseModel): - name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units324] = None - value: float - - -class Units325(Enum): - angstrom = "angstrom" - - -class ScalarSchema106(BaseModel): - units: Optional[Units325] = None - value: float - - -class Name797(Enum): - symmetry = "symmetry" - - -class SymmetrySchema91(BaseModel): - pointGroupSymbol: Optional[str] = None - """ - point group symbol in Schoenflies notation - """ - spaceGroupSymbol: Optional[str] = None - """ - space group symbol in Hermann–Mauguin notation - """ - tolerance: Optional[ScalarSchema106] = Field(None, title="scalar schema") - """ - tolerance used for symmetry calculation - """ - name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] - - -class Name798(Enum): - elemental_ratio = "elemental_ratio" - - -class ElementalRatio91(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 Name799(Enum): - p_norm = "p-norm" - - -class PNorm91(BaseModel): - name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] - degree: Optional[int] = None - """ - degree of the dimensionality of the norm - """ - value: float - - -class Name800(Enum): - inchi = "inchi" - - -class InChIRepresentationSchema91(BaseModel): - name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class Name801(Enum): - inchi_key = "inchi_key" - - -class InChIKeyRepresentationSchema91(BaseModel): - name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class DerivedPropertiesSchema91( - RootModel[ - Union[ - VolumeSchema90, - DensitySchema91, - SymmetrySchema91, - ElementalRatio91, - PNorm91, - InChIRepresentationSchema91, - InChIKeyRepresentationSchema91, - ] - ] -): - root: Union[ - VolumeSchema90, - DensitySchema91, - SymmetrySchema91, - ElementalRatio91, - PNorm91, - InChIRepresentationSchema91, - InChIKeyRepresentationSchema91, - ] = Field(..., discriminator="name") - - -class Name802(Enum): - default = "default" - atomsTooClose = "atomsTooClose" - atomsOverlap = "atomsOverlap" - - -class MaterialConsistencyCheckSchema90(BaseModel): - name: Name802 - """ - 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 CrystalSchema87(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: 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") - """ - 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[MaterialConsistencyCheckSchema90]] = 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: Optional[str] = None - """ - entity name - """ - isDefault: Optional[bool] = False - """ - 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 - """ - Size of the vacuum slab in angstroms - """ - crystal: CrystalSchema87 = Field(..., title="Crystal Schema") - """ - A crystal structure, referencing the base material schema - """ - - -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 - """ - - -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") - """ - Combined schema for all coordinate condition types - """ 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 c48adb7f0..8610a8db9 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 @@ -289,22 +289,22 @@ class Name430(Enum): density = "density" -class Units166(Enum): +class Units189(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units166] = None + units: Optional[Units189] = None value: float -class Units167(Enum): +class Units190(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units167] = None + units: Optional[Units190] = None value: float 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 3ff357d91..11c6879f2 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 @@ -291,30 +291,30 @@ class VolumeSchema(BaseModel): value: float -class Name867(Enum): +class Name875(Enum): density = "density" -class Units378(Enum): +class Units500(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units378] = None + units: Optional[Units500] = None value: float -class Units379(Enum): +class Units501(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units379] = None + units: Optional[Units501] = None value: float -class Name868(Enum): +class Name876(Enum): symmetry = "symmetry" @@ -334,7 +334,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name869(Enum): +class Name877(Enum): elemental_ratio = "elemental_ratio" @@ -347,7 +347,7 @@ class ElementalRatio(BaseModel): """ -class Name870(Enum): +class Name878(Enum): p_norm = "p-norm" @@ -360,7 +360,7 @@ class PNorm(BaseModel): value: float -class Name871(Enum): +class Name879(Enum): inchi = "inchi" @@ -369,7 +369,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name872(Enum): +class Name880(Enum): inchi_key = "inchi_key" @@ -456,7 +456,7 @@ class FileSourceSchema(BaseModel): """ -class Name873(Enum): +class Name881(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -469,7 +469,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name873 + name: Name881 """ Name of the consistency check that is performed, which is listed in an enum. """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_base.py b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_base.py deleted file mode 100644 index 930220d14..000000000 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_base.py +++ /dev/null @@ -1,541 +0,0 @@ -# generated by datamodel-codegen: -# filename: materials_category_components/entities/reusable/one_dimensional/crystal_lattice_base.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 Value43(Enum): - X = "X" - Vac = "Vac" - - -class AtomicElementSchema(BaseModel): - value: Union[Value, Value43] - """ - 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 Name145(Enum): - density = "density" - - -class Units61(Enum): - g_cm_3 = "g/cm^3" - - -class DensitySchema(BaseModel): - name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units61] = None - value: float - - -class Units62(Enum): - angstrom = "angstrom" - - -class ScalarSchema(BaseModel): - units: Optional[Units62] = None - value: float - - -class Name146(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 Name147(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 Name148(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 Name149(Enum): - inchi = "inchi" - - -class InChIRepresentationSchema(BaseModel): - name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class Name150(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 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 - """ - - -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 Name151(Enum): - default = "default" - atomsTooClose = "atomsTooClose" - atomsOverlap = "atomsOverlap" - - -class Severity(Enum): - info = "info" - warning = "warning" - error = "error" - - -class MaterialConsistencyCheckSchema(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 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 - 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 - """ - metadata: Optional[Dict[str, Any]] = None - - -class CrystalLatticeBaseSchema(BaseModel): - 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_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 7f0abf3ee..48226a983 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 @@ -289,22 +289,22 @@ class Name446(Enum): density = "density" -class Units172(Enum): +class Units195(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units172] = None + units: Optional[Units195] = None value: float -class Units173(Enum): +class Units196(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units173] = None + units: Optional[Units196] = None value: float 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 b6b38b2ac..4c9b0a178 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 @@ -436,22 +436,22 @@ class Name454(Enum): density = "density" -class Units175(Enum): +class Units198(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units175] = None + units: Optional[Units198] = None value: float -class Units176(Enum): +class Units199(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units176] = None + units: Optional[Units199] = None value: float 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 3bfa1cafc..f192702a3 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 @@ -289,22 +289,22 @@ class Name438(Enum): density = "density" -class Units169(Enum): +class Units192(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units169] = None + units: Optional[Units192] = None value: float -class Units170(Enum): +class Units193(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units170] = None + units: Optional[Units193] = None value: float 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 2333c91a3..8b709cb3e 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 @@ -285,30 +285,30 @@ class VolumeSchema(BaseModel): value: float -class Name793(Enum): +class Name800(Enum): density = "density" -class Units348(Enum): +class Units463(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units348] = None + units: Optional[Units463] = None value: float -class Units349(Enum): +class Units464(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units349] = None + units: Optional[Units464] = None value: float -class Name794(Enum): +class Name801(Enum): symmetry = "symmetry" @@ -328,7 +328,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name795(Enum): +class Name802(Enum): elemental_ratio = "elemental_ratio" @@ -341,7 +341,7 @@ class ElementalRatio(BaseModel): """ -class Name796(Enum): +class Name803(Enum): p_norm = "p-norm" @@ -354,7 +354,7 @@ class PNorm(BaseModel): value: float -class Name797(Enum): +class Name804(Enum): inchi = "inchi" @@ -363,7 +363,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name798(Enum): +class Name805(Enum): inchi_key = "inchi_key" @@ -450,7 +450,7 @@ class FileSourceSchema(BaseModel): """ -class Name799(Enum): +class Name806(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -463,7 +463,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name799 + name: Name806 """ Name of the consistency check that is performed, which is listed in an enum. """ 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 ae6c93c35..b0daa8ba5 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 @@ -285,30 +285,30 @@ class VolumeSchema(BaseModel): value: float -class Name801(Enum): +class Name808(Enum): density = "density" -class Units351(Enum): +class Units466(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units351] = None + units: Optional[Units466] = None value: float -class Units352(Enum): +class Units467(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units352] = None + units: Optional[Units467] = None value: float -class Name802(Enum): +class Name809(Enum): symmetry = "symmetry" @@ -328,7 +328,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name803(Enum): +class Name810(Enum): elemental_ratio = "elemental_ratio" @@ -341,7 +341,7 @@ class ElementalRatio(BaseModel): """ -class Name804(Enum): +class Name811(Enum): p_norm = "p-norm" @@ -354,7 +354,7 @@ class PNorm(BaseModel): value: float -class Name805(Enum): +class Name812(Enum): inchi = "inchi" @@ -363,7 +363,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name806(Enum): +class Name813(Enum): inchi_key = "inchi_key" @@ -450,7 +450,7 @@ class FileSourceSchema(BaseModel): """ -class Name807(Enum): +class Name814(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -463,7 +463,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name807 + name: Name814 """ Name of the consistency check that is performed, which is listed in an enum. """ 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 c11d3b8dc..02640bd7b 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 @@ -285,30 +285,30 @@ class VolumeSchema(BaseModel): value: float -class Name828(Enum): +class Name835(Enum): density = "density" -class Units361(Enum): +class Units476(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units361] = None + units: Optional[Units476] = None value: float -class Units362(Enum): +class Units477(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units362] = None + units: Optional[Units477] = None value: float -class Name829(Enum): +class Name836(Enum): symmetry = "symmetry" @@ -328,7 +328,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name830(Enum): +class Name837(Enum): elemental_ratio = "elemental_ratio" @@ -341,7 +341,7 @@ class ElementalRatio(BaseModel): """ -class Name831(Enum): +class Name838(Enum): p_norm = "p-norm" @@ -354,7 +354,7 @@ class PNorm(BaseModel): value: float -class Name832(Enum): +class Name839(Enum): inchi = "inchi" @@ -363,7 +363,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name833(Enum): +class Name840(Enum): inchi_key = "inchi_key" @@ -450,7 +450,7 @@ class FileSourceSchema(BaseModel): """ -class Name834(Enum): +class Name841(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -463,7 +463,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name834 + name: Name841 """ Name of the consistency check that is performed, which is listed in an enum. """ 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 f9f4a3eba..888b2d53c 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 @@ -289,22 +289,22 @@ class Name462(Enum): density = "density" -class Units178(Enum): +class Units201(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units178] = None + units: Optional[Units201] = None value: float -class Units179(Enum): +class Units202(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units179] = None + units: Optional[Units202] = None value: float 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 eb283fc48..689437453 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 @@ -419,30 +419,30 @@ class VolumeSchema(BaseModel): value: float -class Name752(Enum): +class Name759(Enum): density = "density" -class Units333(Enum): +class Units416(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units333] = None + units: Optional[Units416] = None value: float -class Units334(Enum): +class Units417(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units334] = None + units: Optional[Units417] = None value: float -class Name753(Enum): +class Name760(Enum): symmetry = "symmetry" @@ -462,7 +462,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name754(Enum): +class Name761(Enum): elemental_ratio = "elemental_ratio" @@ -475,7 +475,7 @@ class ElementalRatio(BaseModel): """ -class Name755(Enum): +class Name762(Enum): p_norm = "p-norm" @@ -488,7 +488,7 @@ class PNorm(BaseModel): value: float -class Name756(Enum): +class Name763(Enum): inchi = "inchi" @@ -497,7 +497,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name757(Enum): +class Name764(Enum): inchi_key = "inchi_key" @@ -584,7 +584,7 @@ class FileSourceSchema(BaseModel): """ -class Name758(Enum): +class Name765(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -597,7 +597,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name758 + name: Name765 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -971,44 +971,44 @@ class LatticeSchema77(BaseModel): ) -class Name759(Enum): +class Name766(Enum): volume = "volume" -class Units335(Enum): +class Units418(Enum): angstrom_3 = "angstrom^3" class VolumeSchema77(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units335] = None + units: Optional[Units418] = None value: float -class Name760(Enum): +class Name767(Enum): density = "density" -class Units336(Enum): +class Units419(Enum): g_cm_3 = "g/cm^3" class DensitySchema78(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units336] = None + units: Optional[Units419] = None value: float -class Units337(Enum): +class Units420(Enum): angstrom = "angstrom" class ScalarSchema93(BaseModel): - units: Optional[Units337] = None + units: Optional[Units420] = None value: float -class Name761(Enum): +class Name768(Enum): symmetry = "symmetry" @@ -1028,11 +1028,11 @@ class SymmetrySchema77(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name762(Enum): +class Name769(Enum): elemental_ratio = "elemental_ratio" -class ElementalRatio78(BaseModel): +class ElementalRatio80(BaseModel): name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] value: confloat(ge=0.0, le=1.0) element: Optional[str] = None @@ -1041,7 +1041,7 @@ class ElementalRatio78(BaseModel): """ -class Name763(Enum): +class Name770(Enum): p_norm = "p-norm" @@ -1054,7 +1054,7 @@ class PNorm78(BaseModel): value: float -class Name764(Enum): +class Name771(Enum): inchi = "inchi" @@ -1063,7 +1063,7 @@ class InChIRepresentationSchema78(BaseModel): value: str -class Name765(Enum): +class Name772(Enum): inchi_key = "inchi_key" @@ -1078,7 +1078,7 @@ class DerivedPropertiesSchema78( VolumeSchema77, DensitySchema78, SymmetrySchema77, - ElementalRatio78, + ElementalRatio80, PNorm78, InChIRepresentationSchema78, InChIKeyRepresentationSchema78, @@ -1089,14 +1089,14 @@ class DerivedPropertiesSchema78( VolumeSchema77, DensitySchema78, SymmetrySchema77, - ElementalRatio78, + ElementalRatio80, PNorm78, InChIRepresentationSchema78, InChIKeyRepresentationSchema78, ] = Field(..., discriminator="name") -class DatabaseSourceSchema77(BaseModel): +class DatabaseSourceSchema79(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 @@ -1123,14 +1123,14 @@ class DatabaseSourceSchema77(BaseModel): """ -class Name766(Enum): +class Name773(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" class MaterialConsistencyCheckSchema77(BaseModel): - name: Name766 + name: Name773 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -1196,7 +1196,7 @@ class CrystalSchema68(BaseModel): 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") + external: Optional[DatabaseSourceSchema79] = Field(None, title="database source schema") """ information about a database source """ @@ -1460,44 +1460,44 @@ class LatticeSchema78(BaseModel): ) -class Name767(Enum): +class Name774(Enum): volume = "volume" -class Units338(Enum): +class Units421(Enum): angstrom_3 = "angstrom^3" class VolumeSchema78(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units338] = None + units: Optional[Units421] = None value: float -class Name768(Enum): +class Name775(Enum): density = "density" -class Units339(Enum): +class Units422(Enum): g_cm_3 = "g/cm^3" class DensitySchema79(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units339] = None + units: Optional[Units422] = None value: float -class Units340(Enum): +class Units423(Enum): angstrom = "angstrom" class ScalarSchema94(BaseModel): - units: Optional[Units340] = None + units: Optional[Units423] = None value: float -class Name769(Enum): +class Name776(Enum): symmetry = "symmetry" @@ -1517,11 +1517,11 @@ class SymmetrySchema78(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name770(Enum): +class Name777(Enum): elemental_ratio = "elemental_ratio" -class ElementalRatio79(BaseModel): +class ElementalRatio81(BaseModel): name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] value: confloat(ge=0.0, le=1.0) element: Optional[str] = None @@ -1530,7 +1530,7 @@ class ElementalRatio79(BaseModel): """ -class Name771(Enum): +class Name778(Enum): p_norm = "p-norm" @@ -1543,7 +1543,7 @@ class PNorm79(BaseModel): value: float -class Name772(Enum): +class Name779(Enum): inchi = "inchi" @@ -1552,7 +1552,7 @@ class InChIRepresentationSchema79(BaseModel): value: str -class Name773(Enum): +class Name780(Enum): inchi_key = "inchi_key" @@ -1567,7 +1567,7 @@ class DerivedPropertiesSchema79( VolumeSchema78, DensitySchema79, SymmetrySchema78, - ElementalRatio79, + ElementalRatio81, PNorm79, InChIRepresentationSchema79, InChIKeyRepresentationSchema79, @@ -1578,14 +1578,14 @@ class DerivedPropertiesSchema79( VolumeSchema78, DensitySchema79, SymmetrySchema78, - ElementalRatio79, + ElementalRatio81, PNorm79, InChIRepresentationSchema79, InChIKeyRepresentationSchema79, ] = Field(..., discriminator="name") -class DatabaseSourceSchema78(BaseModel): +class DatabaseSourceSchema80(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 @@ -1612,14 +1612,14 @@ class DatabaseSourceSchema78(BaseModel): """ -class Name774(Enum): +class Name781(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" class MaterialConsistencyCheckSchema78(BaseModel): - name: Name774 + name: Name781 """ Name of the consistency check that is performed, which is listed in an enum. """ @@ -1685,7 +1685,7 @@ class CrystalSchema69(BaseModel): basis: BasisSchema78 = Field(..., title="basis schema") lattice: LatticeSchema78 = Field(..., title="lattice schema") derivedProperties: Optional[List[DerivedPropertiesSchema79]] = Field(None, title="derived properties schema") - external: Optional[DatabaseSourceSchema78] = Field(None, title="database source schema") + external: Optional[DatabaseSourceSchema80] = Field(None, title="database source schema") """ information about a database source """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.py b/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.py deleted file mode 100644 index 1ad34ea2c..000000000 --- a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.py +++ /dev/null @@ -1,1127 +0,0 @@ -# generated by datamodel-codegen: -# filename: materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.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 Value71(Enum): - X = "X" - Vac = "Vac" - - -class AtomicElementSchema(BaseModel): - value: Union[Value, Value71] - """ - 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 Name285(Enum): - density = "density" - - -class Units129(Enum): - g_cm_3 = "g/cm^3" - - -class DensitySchema(BaseModel): - name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units129] = None - value: float - - -class Units130(Enum): - angstrom = "angstrom" - - -class ScalarSchema(BaseModel): - units: Optional[Units130] = None - value: float - - -class Name286(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 Name287(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 Name288(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 Name289(Enum): - inchi = "inchi" - - -class InChIRepresentationSchema(BaseModel): - name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class Name290(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 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 - """ - - -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 Name291(Enum): - default = "default" - atomsTooClose = "atomsTooClose" - atomsOverlap = "atomsOverlap" - - -class Severity(Enum): - info = "info" - warning = "warning" - error = "error" - - -class MaterialConsistencyCheckSchema(BaseModel): - name: Name291 - """ - 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 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 - 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 - """ - metadata: Optional[Dict[str, Any]] = None - - -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 - """ - 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 - """ - use_conventional_cell: Optional[bool] = True - """ - Use the conventional cell for the crystal structure - """ - - -class AxisEnum(Enum): - x = "x" - y = "y" - z = "z" - - -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 AtomicElementSchema32(BaseModel): - value: Union[Value72, Value73] - """ - All elements, including extra elements - """ - id: int - """ - integer id of this entry - """ - - -class BasisSchema30(BaseModel): - elements: List[AtomicElementSchema32] = 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 LatticeUnitsSchema31(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[LatticeUnitsSchema31] = Field( - default_factory=lambda: LatticeUnitsSchema31.model_validate({"length": "angstrom", "angle": "degree"}), - title="Lattice units schema", - ) - - -class Name292(Enum): - volume = "volume" - - -class Units131(Enum): - angstrom_3 = "angstrom^3" - - -class VolumeSchema30(BaseModel): - name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units131] = None - value: float - - -class Name293(Enum): - density = "density" - - -class Units132(Enum): - g_cm_3 = "g/cm^3" - - -class DensitySchema31(BaseModel): - name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units132] = None - value: float - - -class Units133(Enum): - angstrom = "angstrom" - - -class ScalarSchema32(BaseModel): - units: Optional[Units133] = None - value: float - - -class Name294(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[ScalarSchema32] = Field(None, title="scalar schema") - """ - tolerance used for symmetry calculation - """ - name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] - - -class Name295(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 Name296(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 Name297(Enum): - inchi = "inchi" - - -class InChIRepresentationSchema31(BaseModel): - name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class Name298(Enum): - inchi_key = "inchi_key" - - -class InChIKeyRepresentationSchema31(BaseModel): - name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class DerivedPropertiesSchema31( - RootModel[ - Union[ - VolumeSchema30, - DensitySchema31, - SymmetrySchema30, - ElementalRatio31, - PNorm31, - InChIRepresentationSchema31, - InChIKeyRepresentationSchema31, - ] - ] -): - root: Union[ - VolumeSchema30, - DensitySchema31, - SymmetrySchema30, - ElementalRatio31, - PNorm31, - InChIRepresentationSchema31, - InChIKeyRepresentationSchema31, - ] = Field(..., discriminator="name") - - -class Name299(Enum): - default = "default" - atomsTooClose = "atomsTooClose" - atomsOverlap = "atomsOverlap" - - -class MaterialConsistencyCheckSchema30(BaseModel): - name: Name299 - """ - 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 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: 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") - """ - 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 - 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 - """ - 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 - """ - Size of the vacuum slab in angstroms - """ - crystal: CrystalSchema27 = Field(..., title="Crystal Schema") - """ - A crystal structure, referencing the base material schema - """ - - -class SlabUnitCellSchema(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 - """ diff --git a/src/py/mat3ra/esse/models/materials_category_components/operations/core/combinations/stack_component.py b/src/py/mat3ra/esse/models/materials_category_components/operations/core/combinations/stack_component.py deleted file mode 100644 index 0e294edfe..000000000 --- a/src/py/mat3ra/esse/models/materials_category_components/operations/core/combinations/stack_component.py +++ /dev/null @@ -1,967 +0,0 @@ -# generated by datamodel-codegen: -# filename: materials_category_components/operations/core/combinations/stack_component.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 Value45(Enum): - X = "X" - Vac = "Vac" - - -class AtomicElementSchema(BaseModel): - value: Union[Value, Value45] - """ - 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 Name182(Enum): - density = "density" - - -class Units90(Enum): - g_cm_3 = "g/cm^3" - - -class DensitySchema(BaseModel): - name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units90] = None - value: float - - -class Units91(Enum): - angstrom = "angstrom" - - -class ScalarSchema(BaseModel): - units: Optional[Units91] = None - value: float - - -class Name183(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 Name184(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 Name185(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 Name186(Enum): - inchi = "inchi" - - -class InChIRepresentationSchema(BaseModel): - name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class Name187(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 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 - """ - - -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 Name188(Enum): - default = "default" - atomsTooClose = "atomsTooClose" - atomsOverlap = "atomsOverlap" - - -class Severity(Enum): - info = "info" - warning = "warning" - error = "error" - - -class MaterialConsistencyCheckSchema(BaseModel): - name: Name188 - """ - 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 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 - 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 - """ - metadata: Optional[Dict[str, Any]] = None - - -class AxisEnum(Enum): - x = "x" - y = "y" - z = "z" - - -class Value46(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 AtomicElementSchema19(BaseModel): - value: Union[Value46, Value47] - """ - 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 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 LatticeUnitsSchema18(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[LatticeUnitsSchema18] = Field( - default_factory=lambda: LatticeUnitsSchema18.model_validate({"length": "angstrom", "angle": "degree"}), - title="Lattice units schema", - ) - - -class Name189(Enum): - volume = "volume" - - -class Units92(Enum): - angstrom_3 = "angstrom^3" - - -class VolumeSchema17(BaseModel): - name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units92] = None - value: float - - -class Name190(Enum): - density = "density" - - -class Units93(Enum): - g_cm_3 = "g/cm^3" - - -class DensitySchema18(BaseModel): - name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units93] = None - value: float - - -class Units94(Enum): - angstrom = "angstrom" - - -class ScalarSchema19(BaseModel): - units: Optional[Units94] = None - value: float - - -class Name191(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[ScalarSchema19] = Field(None, title="scalar schema") - """ - tolerance used for symmetry calculation - """ - name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] - - -class Name192(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 Name193(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 Name194(Enum): - inchi = "inchi" - - -class InChIRepresentationSchema18(BaseModel): - name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class Name195(Enum): - inchi_key = "inchi_key" - - -class InChIKeyRepresentationSchema18(BaseModel): - name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class DerivedPropertiesSchema18( - RootModel[ - Union[ - VolumeSchema17, - DensitySchema18, - SymmetrySchema17, - ElementalRatio18, - PNorm18, - InChIRepresentationSchema18, - InChIKeyRepresentationSchema18, - ] - ] -): - root: Union[ - VolumeSchema17, - DensitySchema18, - SymmetrySchema17, - ElementalRatio18, - PNorm18, - InChIRepresentationSchema18, - InChIKeyRepresentationSchema18, - ] = Field(..., discriminator="name") - - -class Name196(Enum): - default = "default" - atomsTooClose = "atomsTooClose" - atomsOverlap = "atomsOverlap" - - -class MaterialConsistencyCheckSchema17(BaseModel): - name: Name196 - """ - 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 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: 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") - """ - 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 - 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 - """ - 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 - """ - Size of the vacuum slab in angstroms - """ - crystal: CrystalSchema14 = Field(..., title="Crystal Schema") - """ - A crystal structure, referencing the base material schema - """ - - -class ESSE(RootModel[Union[CrystalSchema, VacuumConfigurationSchema]]): - root: Union[CrystalSchema, VacuumConfigurationSchema] = Field(..., title="Stack Component Schema") - """ - A component of a stack, which can be a crystal or a vacuum - """ 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 e11769117..fae23a962 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 @@ -285,30 +285,30 @@ class VolumeSchema(BaseModel): value: float -class Name707(Enum): +class Name712(Enum): density = "density" -class Units312(Enum): +class Units353(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units312] = None + units: Optional[Units353] = None value: float -class Units313(Enum): +class Units354(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units313] = None + units: Optional[Units354] = None value: float -class Name708(Enum): +class Name713(Enum): symmetry = "symmetry" @@ -328,7 +328,7 @@ class SymmetrySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] -class Name709(Enum): +class Name714(Enum): elemental_ratio = "elemental_ratio" @@ -341,7 +341,7 @@ class ElementalRatio(BaseModel): """ -class Name710(Enum): +class Name715(Enum): p_norm = "p-norm" @@ -354,7 +354,7 @@ class PNorm(BaseModel): value: float -class Name711(Enum): +class Name716(Enum): inchi = "inchi" @@ -363,7 +363,7 @@ class InChIRepresentationSchema(BaseModel): value: str -class Name712(Enum): +class Name717(Enum): inchi_key = "inchi_key" @@ -450,7 +450,7 @@ class FileSourceSchema(BaseModel): """ -class Name713(Enum): +class Name718(Enum): default = "default" atomsTooClose = "atomsTooClose" atomsOverlap = "atomsOverlap" @@ -463,7 +463,7 @@ class Severity(Enum): class MaterialConsistencyCheckSchema(BaseModel): - name: Name713 + name: Name718 """ Name of the consistency check that is performed, which is listed in an enum. """ diff --git a/src/py/mat3ra/esse/models/measurement/__init__.py b/src/py/mat3ra/esse/models/measurement/__init__.py new file mode 100644 index 000000000..5f48bc16e --- /dev/null +++ b/src/py/mat3ra/esse/models/measurement/__init__.py @@ -0,0 +1,860 @@ +# generated by datamodel-codegen: +# filename: measurement.json +# version: 0.28.5 + +from __future__ import annotations + +from datetime import datetime +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, Field, RootModel, conint + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + characterization = "characterization" + + +class SlugifiedEntryOrSlug226(Enum): + microscopy = "microscopy" + spectroscopy = "spectroscopy" + diffraction = "diffraction" + electrical = "electrical" + optical = "optical" + + +class SlugifiedEntryOrSlug227(Enum): + scanning_probe_microscopy = "scanning_probe_microscopy" + electron_microscopy = "electron_microscopy" + x_ray = "x_ray" + transport = "transport" + dielectric = "dielectric" + ultraviolet_visible_near_infrared = "ultraviolet_visible_near_infrared" + + +class SlugifiedEntryOrSlug228(Enum): + atomic_force_microscopy = "atomic_force_microscopy" + scanning_tunneling_microscopy = "scanning_tunneling_microscopy" + scanning_tunneling_spectroscopy = "scanning_tunneling_spectroscopy" + piezoresponse_force_microscopy = "piezoresponse_force_microscopy" + kelvin_probe_force_microscopy = "kelvin_probe_force_microscopy" + conductive_atomic_force_microscopy = "conductive_atomic_force_microscopy" + magnetic_force_microscopy = "magnetic_force_microscopy" + + +class SlugifiedEntryOrSlug229(Enum): + experimental = "experimental" + + +class CharacterizationTechniqueCategorySchema(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 + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug226]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug227]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug228]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug229]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class Cls(Enum): + Sample = "Sample" + + +class SampleEntityReferenceSchema(BaseModel): + cls: Optional[Cls] = None + """ + Sample class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +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 CoordinateSystem(Enum): + wafer_center = "wafer_center" + wafer_flat = "wafer_flat" + library_grid = "library_grid" + stage = "stage" + custom = "custom" + + +class SamplePositionSchema(BaseModel): + index: Optional[conint(ge=0)] = None + """ + Position number within the parent, e.g. 1 to 44 on an HTEM library. + """ + label: Optional[str] = None + """ + Human-readable label for the position, e.g. a sub-sample identifier such as R12. + """ + row: Optional[int] = None + column: Optional[int] = None + coordinate: List[float] = Field(..., max_length=2, min_length=2, title="coordinate 2d schema") + units: Units + coordinateSystem: Optional[CoordinateSystem] = "wafer_center" + """ + Origin and orientation the coordinate is given in. + """ + + +class EntityReferenceSchema(BaseModel): + id: str = Field(..., alias="_id") + """ + entity identity + """ + cls: Optional[str] = None + """ + entity class + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class Units334(Enum): + K = "K" + degC = "degC" + + +class TemperatureQuantitySchema(BaseModel): + units: Optional[Units334] = "K" + value: float + + +class Units335(Enum): + kbar = "kbar" + pa = "pa" + Torr = "Torr" + mTorr = "mTorr" + mbar = "mbar" + bar = "bar" + atm = "atm" + + +class PressureQuantitySchema(BaseModel): + units: Units335 + value: float + + +class Atmosphere(Enum): + ambient = "ambient" + vacuum = "vacuum" + high_vacuum = "high_vacuum" + ultra_high_vacuum = "ultra_high_vacuum" + nitrogen = "nitrogen" + argon = "argon" + oxygen = "oxygen" + forming_gas = "forming_gas" + liquid = "liquid" + other = "other" + + +class Units336(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Humidity(BaseModel): + value: Optional[float] = None + units: Optional[Units336] = None + + +class EnvironmentSchema(BaseModel): + temperature: Optional[TemperatureQuantitySchema] = Field(None, title="temperature quantity schema") + """ + A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + pressure: Optional[PressureQuantitySchema] = Field(None, title="pressure quantity schema") + """ + A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + atmosphere: Optional[Atmosphere] = None + """ + Gas or vacuum the sample sits in. + """ + humidity: Optional[Humidity] = None + """ + Relative humidity, as a percentage. + """ + + +class Direction(Enum): + forward = "forward" + backward = "backward" + + +class DataType(Enum): + float32 = "float32" + float64 = "float64" + int8 = "int8" + int16 = "int16" + int32 = "int32" + int64 = "int64" + uint8 = "uint8" + uint16 = "uint16" + uint32 = "uint32" + uint64 = "uint64" + + +class Format(Enum): + asylum_ibw = "asylum_ibw" + nanonis_sxm = "nanonis_sxm" + nanonis_dat = "nanonis_dat" + gwyddion_gwy = "gwyddion_gwy" + bruker_nanoscope = "bruker_nanoscope" + nexus_hdf5 = "nexus_hdf5" + usid_hdf5 = "usid_hdf5" + hdf5 = "hdf5" + npy = "npy" + csv = "csv" + tsv = "tsv" + xlsx = "xlsx" + tiff = "tiff" + png = "png" + json = "json" + txt = "txt" + other = "other" + + +class Algorithm(Enum): + md5 = "md5" + sha1 = "sha1" + sha256 = "sha256" + + +class Checksum(BaseModel): + algorithm: Algorithm + value: str + + +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 Role(Enum): + raw = "raw" + processed = "processed" + log = "log" + image = "image" + metadata = "metadata" + other = "other" + + +class FileReferenceSchema(BaseModel): + format: Optional[Format] = None + """ + Vendor or interchange format the file is written in. + """ + size: Optional[conint(ge=0)] = None + """ + Size of the file in bytes. + """ + checksum: Optional[Checksum] = None + """ + Content hash, so a referenced file can be identified after it moves. + """ + url: Optional[str] = None + """ + Location the file can be retrieved from. + """ + objectData: Optional[ObjectStorageContainerData] = Field(None, title="Object Storage Container Data") + role: Optional[Role] = None + """ + What the file is to the record that references it. + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: str + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class ShapeItem(RootModel[conint(ge=0)]): + root: conint(ge=0) + + +class Axe(BaseModel): + name: str + """ + Axis name, e.g. x, y, bias, time. + """ + values: Optional[List[float]] = None + """ + Explicit coordinate of each point along this axis. + """ + start: Optional[float] = None + """ + Coordinate of the first point, when the axis is evenly spaced. + """ + step: Optional[float] = None + """ + Spacing between points, when the axis is evenly spaced. + """ + + +class ArrayDataSchema(BaseModel): + units: Optional[str] = None + """ + Units of the values, e.g. nm for a topography channel. + """ + dataType: Optional[DataType] = None + """ + Storage type of the values in the referenced file. + """ + file: Optional[FileReferenceSchema] = Field(None, title="file reference schema") + """ + A file kept outside the record: its metadata, the vendor format it is written in, a checksum and where it lives. Unlike system/file_source, which requires the file content as text, this references binary instrument output (an Igor binary wave, a Nanonis scan) without embedding it. + """ + datasetPath: Optional[str] = None + """ + Path to the dataset inside the file, e.g. an HDF5 path or an Igor layer label such as HeightRetrace. + """ + shape: List[ShapeItem] = Field(..., min_length=1) + """ + Length of each dimension, outermost first, e.g. [256, 256] for a square image. + """ + values: Optional[List[float]] = None + """ + Flattened values in row-major (C) order, length equal to the product of shape. Omitted when the data is stored out of line, which is the normal case for real measurements. + """ + axes: List[Axe] + """ + One entry per dimension, in shape order. An axis is given either by explicit values or by a start and a step. + """ + + +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") + + +class MeasurementDataChannelSchema(BaseModel): + name: str + """ + Channel name, e.g. height, deflection, amplitude, phase, current, bias, piezoresponsePhase. + """ + direction: Optional[Direction] = None + """ + Scan direction the channel was recorded in, where forward and backward traces are kept separately. + """ + description: Optional[str] = None + data: Union[ArrayDataSchema, Field2DimensionPlotSchema] + + +class Checksum7(BaseModel): + algorithm: Algorithm + value: str + + +class FileReferenceSchema7(BaseModel): + format: Optional[Format] = None + """ + Vendor or interchange format the file is written in. + """ + size: Optional[conint(ge=0)] = None + """ + Size of the file in bytes. + """ + checksum: Optional[Checksum7] = None + """ + Content hash, so a referenced file can be identified after it moves. + """ + url: Optional[str] = None + """ + Location the file can be retrieved from. + """ + objectData: Optional[ObjectStorageContainerData] = Field(None, title="Object Storage Container Data") + role: Optional[Role] = None + """ + What the file is to the record that references it. + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: str + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class SlugifiedEntryOrSlug230(Enum): + characterization = "characterization" + + +class SlugifiedEntryOrSlug231(Enum): + microscopy = "microscopy" + spectroscopy = "spectroscopy" + diffraction = "diffraction" + electrical = "electrical" + optical = "optical" + + +class SlugifiedEntryOrSlug232(Enum): + scanning_probe_microscopy = "scanning_probe_microscopy" + electron_microscopy = "electron_microscopy" + x_ray = "x_ray" + transport = "transport" + dielectric = "dielectric" + ultraviolet_visible_near_infrared = "ultraviolet_visible_near_infrared" + + +class SlugifiedEntryOrSlug233(Enum): + atomic_force_microscopy = "atomic_force_microscopy" + scanning_tunneling_microscopy = "scanning_tunneling_microscopy" + scanning_tunneling_spectroscopy = "scanning_tunneling_spectroscopy" + piezoresponse_force_microscopy = "piezoresponse_force_microscopy" + kelvin_probe_force_microscopy = "kelvin_probe_force_microscopy" + conductive_atomic_force_microscopy = "conductive_atomic_force_microscopy" + magnetic_force_microscopy = "magnetic_force_microscopy" + + +class SlugifiedEntryOrSlug234(Enum): + experimental = "experimental" + + +class CharacterizationTechniqueCategorySchema10(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug230]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug231]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: 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, SlugifiedEntryOrSlug233]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug234]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class SlugifiedEntryOrSlug235(Enum): + synthesis = "synthesis" + + +class SlugifiedEntryOrSlug236(Enum): + vapor_deposition = "vapor_deposition" + solution_processing = "solution_processing" + bulk_growth = "bulk_growth" + post_processing = "post_processing" + + +class SlugifiedEntryOrSlug237(Enum): + physical_vapor_deposition = "physical_vapor_deposition" + chemical_vapor_deposition = "chemical_vapor_deposition" + annealing = "annealing" + + +class SlugifiedEntryOrSlug238(Enum): + pulsed_laser_deposition = "pulsed_laser_deposition" + sputtering = "sputtering" + molecular_beam_epitaxy = "molecular_beam_epitaxy" + thermal_evaporation = "thermal_evaporation" + electron_beam_evaporation = "electron_beam_evaporation" + atomic_layer_deposition = "atomic_layer_deposition" + plasma_enhanced_atomic_layer_deposition = "plasma_enhanced_atomic_layer_deposition" + thermal_chemical_vapor_deposition = "thermal_chemical_vapor_deposition" + metalorganic_chemical_vapor_deposition = "metalorganic_chemical_vapor_deposition" + plasma_enhanced_chemical_vapor_deposition = "plasma_enhanced_chemical_vapor_deposition" + + +class SlugifiedEntryOrSlug239(Enum): + experimental = "experimental" + + +class SynthesisTechniqueCategorySchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug235]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug236]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug237]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug238]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug239]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class Kind(Enum): + probe = "probe" + cantilever = "cantilever" + scanner = "scanner" + laser = "laser" + detector = "detector" + lock_in_amplifier = "lock_in_amplifier" + controller = "controller" + heater = "heater" + cryostat = "cryostat" + chamber = "chamber" + stage = "stage" + evaporation_source = "evaporation_source" + target_holder = "target_holder" + gas_line = "gas_line" + mass_flow_controller = "mass_flow_controller" + pump = "pump" + gauge = "gauge" + other = "other" + + +class InstrumentComponentSchema(BaseModel): + kind: Kind + name: str + vendor: Optional[str] = None + model: Optional[str] = None + serialNumber: Optional[str] = None + parameters: Optional[Dict[str, Any]] = None + """ + Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever. + """ + + +class RunConfig(BaseModel): + commandTemplate: str + """ + The command template of the application + """ + outFileName: str + """ + The output file name of the application + """ + + +class ApplicationSchema(BaseModel): + 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 + """ + isDefaultVersion: Optional[bool] = None + """ + Whether the version is the default version + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + isUsingMaterial: Optional[bool] = None + """ + Whether the application is using (being passed during a downstream processing routine) a material structure. + """ + runConfig: Optional[RunConfig] = None + """ + The run configuration of the application + """ + + +class Location(BaseModel): + facility: Optional[str] = None + laboratory: Optional[str] = None + room: Optional[str] = None + + +class InstrumentSchema(BaseModel): + 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: Optional[str] = None + """ + The short name of the instrument, e.g. jupiter, pdac_com5 + """ + summary: Optional[str] = None + """ + Instrument's short description. + """ + vendor: Optional[str] = None + """ + Manufacturer of the instrument, e.g. Asylum Research + """ + model: Optional[str] = None + """ + Model name, e.g. Jupiter + """ + serialNumber: Optional[str] = None + """ + Vendor serial number identifying this particular unit. + """ + firmware: Optional[str] = None + """ + Controller or acquisition-software version, the analogue of an application version, e.g. 19.34.88 + """ + techniques: Optional[List[Union[CharacterizationTechniqueCategorySchema10, SynthesisTechniqueCategorySchema]]] = ( + None + ) + """ + Techniques this instrument can perform. + """ + components: Optional[List[InstrumentComponentSchema]] = None + """ + Parts of the instrument that matter to a result, e.g. the probe a scan was taken with or the source a film was grown from. + """ + controlSoftware: Optional[List[ApplicationSchema]] = None + """ + Software driving the instrument, reusing the application entity rather than restating a name and a version. + """ + location: Optional[Location] = None + """ + Where the instrument is, which for a multi-institution project is part of the provenance. + """ + + +class Status(Enum): + draft = "draft" + planned = "planned" + active = "active" + finished = "finished" + error = "error" + cancelled = "cancelled" + + +class Operator(BaseModel): + name: str + """ + Operator's name as recorded, e.g. a username. + """ + affiliation: Optional[str] = None + """ + Institution the operator belongs to. + """ + account: Optional[EntityReferenceSchema] = Field(None, alias="_account", title="entity reference schema") + + +class MeasurementSchema(BaseModel): + categories: CharacterizationTechniqueCategorySchema = Field(..., title="characterization technique category schema") + """ + Techniques that measure a sample without intending to change it: microscopy, spectroscopy, diffraction, electrical and optical. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does. + """ + sample: SampleEntityReferenceSchema = Field(..., alias="_sample", title="Sample entity reference schema") + """ + Reference to a sample entity, the experimental mirror of system/_material. + """ + samplePosition: Optional[SamplePositionSchema] = Field(None, title="sample position schema") + """ + A location on a sample. Together with the identity of the sample it is the join key that ties a per-position measurement on a combinatorial library to the point it was taken at. + """ + parent: Optional[EntityReferenceSchema] = Field(None, title="entity reference schema") + environment: Optional[EnvironmentSchema] = Field(None, title="environment schema") + """ + Ambient or chamber conditions during a measurement or a process step. + """ + parameters: Optional[Dict[str, Any]] = None + """ + Technique-specific acquisition parameters. Unconstrained here, the way a model's parameters are unconstrained until a models_directory entry narrows them; measurement/parameters/scanning_probe_microscopy describes the expected shape for scanning probe techniques and will be bound per technique by catalogue entries in a later phase. + """ + data: Optional[List[MeasurementDataChannelSchema]] = None + """ + Channels acquired during the measurement. + """ + rawFiles: Optional[List[FileReferenceSchema7]] = None + """ + Vendor files this record was derived from, referenced rather than embedded. + """ + 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 + instrument: Optional[InstrumentSchema] = Field(None, title="instrument schema") + """ + A physical apparatus used to measure or fabricate a sample: a microscope, a deposition chamber, a furnace. The experimental mirror of software/application, composed the same way, because what an application is to a job an instrument is to a measurement. + """ + status: Optional[Status] = None + """ + Lifecycle state. 'draft' marks a recipe or protocol that has not been executed. + """ + startTime: Optional[datetime] = None + """ + When the activity started, as an ISO 8601 timestamp. A string rather than an epoch number so it stays readable without a converter, matching job.startTime. + """ + endTime: Optional[datetime] = None + """ + When the activity finished, as an ISO 8601 timestamp. + """ + operators: Optional[List[Operator]] = None + """ + People who ran the activity. A name and an optional affiliation rather than the bibliographic author shape used for citations: a laboratory record identifies an operator by whatever the instrument logged, often a single username, and a citation's requirement of a surname does not hold there. + """ + project: Optional[EntityReferenceSchema] = Field(None, alias="_project", title="entity reference schema") diff --git a/src/py/mat3ra/esse/models/measurement/base.py b/src/py/mat3ra/esse/models/measurement/base.py new file mode 100644 index 000000000..b3a88efdd --- /dev/null +++ b/src/py/mat3ra/esse/models/measurement/base.py @@ -0,0 +1,858 @@ +# generated by datamodel-codegen: +# filename: measurement/base.json +# version: 0.28.5 + +from __future__ import annotations + +from datetime import datetime +from enum import Enum +from typing import Any, Dict, List, Optional, Union + +from pydantic import BaseModel, Field, RootModel, conint + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + characterization = "characterization" + + +class SlugifiedEntryOrSlug40(Enum): + microscopy = "microscopy" + spectroscopy = "spectroscopy" + diffraction = "diffraction" + electrical = "electrical" + optical = "optical" + + +class SlugifiedEntryOrSlug41(Enum): + scanning_probe_microscopy = "scanning_probe_microscopy" + electron_microscopy = "electron_microscopy" + x_ray = "x_ray" + transport = "transport" + dielectric = "dielectric" + ultraviolet_visible_near_infrared = "ultraviolet_visible_near_infrared" + + +class SlugifiedEntryOrSlug42(Enum): + atomic_force_microscopy = "atomic_force_microscopy" + scanning_tunneling_microscopy = "scanning_tunneling_microscopy" + scanning_tunneling_spectroscopy = "scanning_tunneling_spectroscopy" + piezoresponse_force_microscopy = "piezoresponse_force_microscopy" + kelvin_probe_force_microscopy = "kelvin_probe_force_microscopy" + conductive_atomic_force_microscopy = "conductive_atomic_force_microscopy" + magnetic_force_microscopy = "magnetic_force_microscopy" + + +class SlugifiedEntryOrSlug43(Enum): + experimental = "experimental" + + +class CharacterizationTechniqueCategorySchema(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 + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug40]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug41]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug42]] = 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 + """ + + +class Cls(Enum): + Sample = "Sample" + + +class SampleEntityReferenceSchema(BaseModel): + cls: Optional[Cls] = None + """ + Sample class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +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 CoordinateSystem(Enum): + wafer_center = "wafer_center" + wafer_flat = "wafer_flat" + library_grid = "library_grid" + stage = "stage" + custom = "custom" + + +class SamplePositionSchema(BaseModel): + index: Optional[conint(ge=0)] = None + """ + Position number within the parent, e.g. 1 to 44 on an HTEM library. + """ + label: Optional[str] = None + """ + Human-readable label for the position, e.g. a sub-sample identifier such as R12. + """ + row: Optional[int] = None + column: Optional[int] = None + coordinate: List[float] = Field(..., max_length=2, min_length=2, title="coordinate 2d schema") + units: Units + coordinateSystem: Optional[CoordinateSystem] = "wafer_center" + """ + Origin and orientation the coordinate is given in. + """ + + +class EntityReferenceSchema(BaseModel): + id: str = Field(..., alias="_id") + """ + entity identity + """ + cls: Optional[str] = None + """ + entity class + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class Units37(Enum): + K = "K" + degC = "degC" + + +class TemperatureQuantitySchema(BaseModel): + units: Optional[Units37] = "K" + value: float + + +class Units38(Enum): + kbar = "kbar" + pa = "pa" + Torr = "Torr" + mTorr = "mTorr" + mbar = "mbar" + bar = "bar" + atm = "atm" + + +class PressureQuantitySchema(BaseModel): + units: Units38 + value: float + + +class Atmosphere(Enum): + ambient = "ambient" + vacuum = "vacuum" + high_vacuum = "high_vacuum" + ultra_high_vacuum = "ultra_high_vacuum" + nitrogen = "nitrogen" + argon = "argon" + oxygen = "oxygen" + forming_gas = "forming_gas" + liquid = "liquid" + other = "other" + + +class Units39(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Humidity(BaseModel): + value: Optional[float] = None + units: Optional[Units39] = None + + +class EnvironmentSchema(BaseModel): + temperature: Optional[TemperatureQuantitySchema] = Field(None, title="temperature quantity schema") + """ + A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + pressure: Optional[PressureQuantitySchema] = Field(None, title="pressure quantity schema") + """ + A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + atmosphere: Optional[Atmosphere] = None + """ + Gas or vacuum the sample sits in. + """ + humidity: Optional[Humidity] = None + """ + Relative humidity, as a percentage. + """ + + +class Direction(Enum): + forward = "forward" + backward = "backward" + + +class DataType(Enum): + float32 = "float32" + float64 = "float64" + int8 = "int8" + int16 = "int16" + int32 = "int32" + int64 = "int64" + uint8 = "uint8" + uint16 = "uint16" + uint32 = "uint32" + uint64 = "uint64" + + +class Format(Enum): + asylum_ibw = "asylum_ibw" + nanonis_sxm = "nanonis_sxm" + nanonis_dat = "nanonis_dat" + gwyddion_gwy = "gwyddion_gwy" + bruker_nanoscope = "bruker_nanoscope" + nexus_hdf5 = "nexus_hdf5" + usid_hdf5 = "usid_hdf5" + hdf5 = "hdf5" + npy = "npy" + csv = "csv" + tsv = "tsv" + xlsx = "xlsx" + tiff = "tiff" + png = "png" + json = "json" + txt = "txt" + other = "other" + + +class Algorithm(Enum): + md5 = "md5" + sha1 = "sha1" + sha256 = "sha256" + + +class Checksum(BaseModel): + algorithm: Algorithm + value: str + + +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 Role(Enum): + raw = "raw" + processed = "processed" + log = "log" + image = "image" + metadata = "metadata" + other = "other" + + +class FileReferenceSchema(BaseModel): + format: Optional[Format] = None + """ + Vendor or interchange format the file is written in. + """ + size: Optional[conint(ge=0)] = None + """ + Size of the file in bytes. + """ + checksum: Optional[Checksum] = None + """ + Content hash, so a referenced file can be identified after it moves. + """ + url: Optional[str] = None + """ + Location the file can be retrieved from. + """ + objectData: Optional[ObjectStorageContainerData] = Field(None, title="Object Storage Container Data") + role: Optional[Role] = None + """ + What the file is to the record that references it. + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: str + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class ShapeItem(RootModel[conint(ge=0)]): + root: conint(ge=0) + + +class Axe(BaseModel): + name: str + """ + Axis name, e.g. x, y, bias, time. + """ + values: Optional[List[float]] = None + """ + Explicit coordinate of each point along this axis. + """ + start: Optional[float] = None + """ + Coordinate of the first point, when the axis is evenly spaced. + """ + step: Optional[float] = None + """ + Spacing between points, when the axis is evenly spaced. + """ + + +class ArrayDataSchema(BaseModel): + units: Optional[str] = None + """ + Units of the values, e.g. nm for a topography channel. + """ + dataType: Optional[DataType] = None + """ + Storage type of the values in the referenced file. + """ + file: Optional[FileReferenceSchema] = Field(None, title="file reference schema") + """ + A file kept outside the record: its metadata, the vendor format it is written in, a checksum and where it lives. Unlike system/file_source, which requires the file content as text, this references binary instrument output (an Igor binary wave, a Nanonis scan) without embedding it. + """ + datasetPath: Optional[str] = None + """ + Path to the dataset inside the file, e.g. an HDF5 path or an Igor layer label such as HeightRetrace. + """ + shape: List[ShapeItem] = Field(..., min_length=1) + """ + Length of each dimension, outermost first, e.g. [256, 256] for a square image. + """ + values: Optional[List[float]] = None + """ + Flattened values in row-major (C) order, length equal to the product of shape. Omitted when the data is stored out of line, which is the normal case for real measurements. + """ + axes: List[Axe] + """ + One entry per dimension, in shape order. An axis is given either by explicit values or by a start and a step. + """ + + +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") + + +class MeasurementDataChannelSchema(BaseModel): + name: str + """ + Channel name, e.g. height, deflection, amplitude, phase, current, bias, piezoresponsePhase. + """ + direction: Optional[Direction] = None + """ + Scan direction the channel was recorded in, where forward and backward traces are kept separately. + """ + description: Optional[str] = None + data: Union[ArrayDataSchema, Field2DimensionPlotSchema] + + +class Checksum3(BaseModel): + algorithm: Algorithm + value: str + + +class FileReferenceSchema3(BaseModel): + format: Optional[Format] = None + """ + Vendor or interchange format the file is written in. + """ + size: Optional[conint(ge=0)] = None + """ + Size of the file in bytes. + """ + checksum: Optional[Checksum3] = None + """ + Content hash, so a referenced file can be identified after it moves. + """ + url: Optional[str] = None + """ + Location the file can be retrieved from. + """ + objectData: Optional[ObjectStorageContainerData] = Field(None, title="Object Storage Container Data") + role: Optional[Role] = None + """ + What the file is to the record that references it. + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: str + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class SlugifiedEntryOrSlug44(Enum): + characterization = "characterization" + + +class SlugifiedEntryOrSlug45(Enum): + microscopy = "microscopy" + spectroscopy = "spectroscopy" + diffraction = "diffraction" + electrical = "electrical" + optical = "optical" + + +class SlugifiedEntryOrSlug46(Enum): + scanning_probe_microscopy = "scanning_probe_microscopy" + electron_microscopy = "electron_microscopy" + x_ray = "x_ray" + transport = "transport" + dielectric = "dielectric" + ultraviolet_visible_near_infrared = "ultraviolet_visible_near_infrared" + + +class SlugifiedEntryOrSlug47(Enum): + atomic_force_microscopy = "atomic_force_microscopy" + scanning_tunneling_microscopy = "scanning_tunneling_microscopy" + scanning_tunneling_spectroscopy = "scanning_tunneling_spectroscopy" + piezoresponse_force_microscopy = "piezoresponse_force_microscopy" + kelvin_probe_force_microscopy = "kelvin_probe_force_microscopy" + conductive_atomic_force_microscopy = "conductive_atomic_force_microscopy" + magnetic_force_microscopy = "magnetic_force_microscopy" + + +class SlugifiedEntryOrSlug48(Enum): + experimental = "experimental" + + +class CharacterizationTechniqueCategorySchema4(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug44]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug45]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug46]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug47]] = 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 + """ + + +class SlugifiedEntryOrSlug49(Enum): + synthesis = "synthesis" + + +class SlugifiedEntryOrSlug50(Enum): + vapor_deposition = "vapor_deposition" + solution_processing = "solution_processing" + bulk_growth = "bulk_growth" + post_processing = "post_processing" + + +class SlugifiedEntryOrSlug51(Enum): + physical_vapor_deposition = "physical_vapor_deposition" + chemical_vapor_deposition = "chemical_vapor_deposition" + annealing = "annealing" + + +class SlugifiedEntryOrSlug52(Enum): + pulsed_laser_deposition = "pulsed_laser_deposition" + sputtering = "sputtering" + molecular_beam_epitaxy = "molecular_beam_epitaxy" + thermal_evaporation = "thermal_evaporation" + electron_beam_evaporation = "electron_beam_evaporation" + atomic_layer_deposition = "atomic_layer_deposition" + plasma_enhanced_atomic_layer_deposition = "plasma_enhanced_atomic_layer_deposition" + thermal_chemical_vapor_deposition = "thermal_chemical_vapor_deposition" + metalorganic_chemical_vapor_deposition = "metalorganic_chemical_vapor_deposition" + plasma_enhanced_chemical_vapor_deposition = "plasma_enhanced_chemical_vapor_deposition" + + +class SlugifiedEntryOrSlug53(Enum): + experimental = "experimental" + + +class SynthesisTechniqueCategorySchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug49]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug50]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug51]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug52]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug53]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class Kind(Enum): + probe = "probe" + cantilever = "cantilever" + scanner = "scanner" + laser = "laser" + detector = "detector" + lock_in_amplifier = "lock_in_amplifier" + controller = "controller" + heater = "heater" + cryostat = "cryostat" + chamber = "chamber" + stage = "stage" + evaporation_source = "evaporation_source" + target_holder = "target_holder" + gas_line = "gas_line" + mass_flow_controller = "mass_flow_controller" + pump = "pump" + gauge = "gauge" + other = "other" + + +class InstrumentComponentSchema(BaseModel): + kind: Kind + name: str + vendor: Optional[str] = None + model: Optional[str] = None + serialNumber: Optional[str] = None + parameters: Optional[Dict[str, Any]] = None + """ + Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever. + """ + + +class RunConfig(BaseModel): + commandTemplate: str + """ + The command template of the application + """ + outFileName: str + """ + The output file name of the application + """ + + +class ApplicationSchema(BaseModel): + 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 + """ + isDefaultVersion: Optional[bool] = None + """ + Whether the version is the default version + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + isUsingMaterial: Optional[bool] = None + """ + Whether the application is using (being passed during a downstream processing routine) a material structure. + """ + runConfig: Optional[RunConfig] = None + """ + The run configuration of the application + """ + + +class Location(BaseModel): + facility: Optional[str] = None + laboratory: Optional[str] = None + room: Optional[str] = None + + +class InstrumentSchema(BaseModel): + 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: Optional[str] = None + """ + The short name of the instrument, e.g. jupiter, pdac_com5 + """ + summary: Optional[str] = None + """ + Instrument's short description. + """ + vendor: Optional[str] = None + """ + Manufacturer of the instrument, e.g. Asylum Research + """ + model: Optional[str] = None + """ + Model name, e.g. Jupiter + """ + serialNumber: Optional[str] = None + """ + Vendor serial number identifying this particular unit. + """ + firmware: Optional[str] = None + """ + Controller or acquisition-software version, the analogue of an application version, e.g. 19.34.88 + """ + techniques: Optional[List[Union[CharacterizationTechniqueCategorySchema4, SynthesisTechniqueCategorySchema]]] = None + """ + Techniques this instrument can perform. + """ + components: Optional[List[InstrumentComponentSchema]] = None + """ + Parts of the instrument that matter to a result, e.g. the probe a scan was taken with or the source a film was grown from. + """ + controlSoftware: Optional[List[ApplicationSchema]] = None + """ + Software driving the instrument, reusing the application entity rather than restating a name and a version. + """ + location: Optional[Location] = None + """ + Where the instrument is, which for a multi-institution project is part of the provenance. + """ + + +class Status(Enum): + draft = "draft" + planned = "planned" + active = "active" + finished = "finished" + error = "error" + cancelled = "cancelled" + + +class Operator(BaseModel): + name: str + """ + Operator's name as recorded, e.g. a username. + """ + affiliation: Optional[str] = None + """ + Institution the operator belongs to. + """ + account: Optional[EntityReferenceSchema] = Field(None, alias="_account", title="entity reference schema") + + +class MeasurementBaseSchema(BaseModel): + categories: CharacterizationTechniqueCategorySchema = Field(..., title="characterization technique category schema") + """ + Techniques that measure a sample without intending to change it: microscopy, spectroscopy, diffraction, electrical and optical. tier3, type and subtype are each drawn from the branch's vocabulary; tying subtype to type (so that a sputtering subtype cannot sit under chemical vapor deposition) is the job of the leaf files a later phase adds, one per narrowing, as models_category does. + """ + sample: SampleEntityReferenceSchema = Field(..., alias="_sample", title="Sample entity reference schema") + """ + Reference to a sample entity, the experimental mirror of system/_material. + """ + samplePosition: Optional[SamplePositionSchema] = Field(None, title="sample position schema") + """ + A location on a sample. Together with the identity of the sample it is the join key that ties a per-position measurement on a combinatorial library to the point it was taken at. + """ + parent: Optional[EntityReferenceSchema] = Field(None, title="entity reference schema") + environment: Optional[EnvironmentSchema] = Field(None, title="environment schema") + """ + Ambient or chamber conditions during a measurement or a process step. + """ + parameters: Optional[Dict[str, Any]] = None + """ + Technique-specific acquisition parameters. Unconstrained here, the way a model's parameters are unconstrained until a models_directory entry narrows them; measurement/parameters/scanning_probe_microscopy describes the expected shape for scanning probe techniques and will be bound per technique by catalogue entries in a later phase. + """ + data: Optional[List[MeasurementDataChannelSchema]] = None + """ + Channels acquired during the measurement. + """ + rawFiles: Optional[List[FileReferenceSchema3]] = None + """ + Vendor files this record was derived from, referenced rather than embedded. + """ + 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 + instrument: Optional[InstrumentSchema] = Field(None, title="instrument schema") + """ + A physical apparatus used to measure or fabricate a sample: a microscope, a deposition chamber, a furnace. The experimental mirror of software/application, composed the same way, because what an application is to a job an instrument is to a measurement. + """ + status: Optional[Status] = None + """ + Lifecycle state. 'draft' marks a recipe or protocol that has not been executed. + """ + startTime: Optional[datetime] = None + """ + When the activity started, as an ISO 8601 timestamp. A string rather than an epoch number so it stays readable without a converter, matching job.startTime. + """ + endTime: Optional[datetime] = None + """ + When the activity finished, as an ISO 8601 timestamp. + """ + operators: Optional[List[Operator]] = None + """ + People who ran the activity. A name and an optional affiliation rather than the bibliographic author shape used for citations: a laboratory record identifies an operator by whatever the instrument logged, often a single username, and a citation's requirement of a surname does not hold there. + """ + project: Optional[EntityReferenceSchema] = Field(None, alias="_project", title="entity reference schema") diff --git a/src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/__init__.py b/src/py/mat3ra/esse/models/measurement/data/__init__.py similarity index 100% rename from src/py/mat3ra/esse/models/materials_category/defective_structures/two_dimensional/__init__.py rename to src/py/mat3ra/esse/models/measurement/data/__init__.py diff --git a/src/py/mat3ra/esse/models/measurement/data/channel.py b/src/py/mat3ra/esse/models/measurement/data/channel.py new file mode 100644 index 000000000..04c147c4a --- /dev/null +++ b/src/py/mat3ra/esse/models/measurement/data/channel.py @@ -0,0 +1,219 @@ +# generated by datamodel-codegen: +# filename: measurement/data/channel.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, conint + + +class Direction(Enum): + forward = "forward" + backward = "backward" + + +class DataType(Enum): + float32 = "float32" + float64 = "float64" + int8 = "int8" + int16 = "int16" + int32 = "int32" + int64 = "int64" + uint8 = "uint8" + uint16 = "uint16" + uint32 = "uint32" + uint64 = "uint64" + + +class Format(Enum): + asylum_ibw = "asylum_ibw" + nanonis_sxm = "nanonis_sxm" + nanonis_dat = "nanonis_dat" + gwyddion_gwy = "gwyddion_gwy" + bruker_nanoscope = "bruker_nanoscope" + nexus_hdf5 = "nexus_hdf5" + usid_hdf5 = "usid_hdf5" + hdf5 = "hdf5" + npy = "npy" + csv = "csv" + tsv = "tsv" + xlsx = "xlsx" + tiff = "tiff" + png = "png" + json = "json" + txt = "txt" + other = "other" + + +class Algorithm(Enum): + md5 = "md5" + sha1 = "sha1" + sha256 = "sha256" + + +class Checksum(BaseModel): + algorithm: Algorithm + value: str + + +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 Role(Enum): + raw = "raw" + processed = "processed" + log = "log" + image = "image" + metadata = "metadata" + other = "other" + + +class FileReferenceSchema(BaseModel): + format: Optional[Format] = None + """ + Vendor or interchange format the file is written in. + """ + size: Optional[conint(ge=0)] = None + """ + Size of the file in bytes. + """ + checksum: Optional[Checksum] = None + """ + Content hash, so a referenced file can be identified after it moves. + """ + url: Optional[str] = None + """ + Location the file can be retrieved from. + """ + objectData: Optional[ObjectStorageContainerData] = Field(None, title="Object Storage Container Data") + role: Optional[Role] = None + """ + What the file is to the record that references it. + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: str + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class ShapeItem(RootModel[conint(ge=0)]): + root: conint(ge=0) + + +class Axe(BaseModel): + name: str + """ + Axis name, e.g. x, y, bias, time. + """ + values: Optional[List[float]] = None + """ + Explicit coordinate of each point along this axis. + """ + start: Optional[float] = None + """ + Coordinate of the first point, when the axis is evenly spaced. + """ + step: Optional[float] = None + """ + Spacing between points, when the axis is evenly spaced. + """ + + +class ArrayDataSchema(BaseModel): + units: Optional[str] = None + """ + Units of the values, e.g. nm for a topography channel. + """ + dataType: Optional[DataType] = None + """ + Storage type of the values in the referenced file. + """ + file: Optional[FileReferenceSchema] = Field(None, title="file reference schema") + """ + A file kept outside the record: its metadata, the vendor format it is written in, a checksum and where it lives. Unlike system/file_source, which requires the file content as text, this references binary instrument output (an Igor binary wave, a Nanonis scan) without embedding it. + """ + datasetPath: Optional[str] = None + """ + Path to the dataset inside the file, e.g. an HDF5 path or an Igor layer label such as HeightRetrace. + """ + shape: List[ShapeItem] = Field(..., min_length=1) + """ + Length of each dimension, outermost first, e.g. [256, 256] for a square image. + """ + values: Optional[List[float]] = None + """ + Flattened values in row-major (C) order, length equal to the product of shape. Omitted when the data is stored out of line, which is the normal case for real measurements. + """ + axes: List[Axe] + """ + One entry per dimension, in shape order. An axis is given either by explicit values or by a start and a step. + """ + + +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") + + +class MeasurementDataChannelSchema(BaseModel): + name: str + """ + Channel name, e.g. height, deflection, amplitude, phase, current, bias, piezoresponsePhase. + """ + direction: Optional[Direction] = None + """ + Scan direction the channel was recorded in, where forward and backward traces are kept separately. + """ + description: Optional[str] = None + data: Union[ArrayDataSchema, Field2DimensionPlotSchema] diff --git a/src/py/mat3ra/esse/models/materials_category_components/entities/reusable/__init__.py b/src/py/mat3ra/esse/models/measurement/parameters/__init__.py similarity index 100% rename from src/py/mat3ra/esse/models/materials_category_components/entities/reusable/__init__.py rename to src/py/mat3ra/esse/models/measurement/parameters/__init__.py diff --git a/src/py/mat3ra/esse/models/measurement/parameters/scanning_probe_microscopy.py b/src/py/mat3ra/esse/models/measurement/parameters/scanning_probe_microscopy.py new file mode 100644 index 000000000..b913ea17d --- /dev/null +++ b/src/py/mat3ra/esse/models/measurement/parameters/scanning_probe_microscopy.py @@ -0,0 +1,317 @@ +# generated by datamodel-codegen: +# filename: measurement/parameters/scanning_probe_microscopy.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 Mode(Enum): + contact = "contact" + tapping = "tapping" + non_contact = "non_contact" + peak_force = "peak_force" + lateral_force = "lateral_force" + constant_current = "constant_current" + constant_height = "constant_height" + single_frequency = "single_frequency" + dual_ac_resonance_tracking = "dual_ac_resonance_tracking" + band_excitation = "band_excitation" + contact_resonance = "contact_resonance" + + +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 LengthQuantitySchema(BaseModel): + units: Units + value: float + + +class LengthQuantitySchema8(BaseModel): + units: Units + value: float + + +class ScanRange(BaseModel): + x: Optional[LengthQuantitySchema] = Field(None, title="length quantity schema") + """ + A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + y: Optional[LengthQuantitySchema8] = Field(None, title="length quantity schema") + """ + A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + + +class LengthQuantitySchema9(BaseModel): + units: Units + value: float + + +class LengthQuantitySchema10(BaseModel): + units: Units + value: float + + +class ScanOffset(BaseModel): + x: Optional[LengthQuantitySchema9] = Field(None, title="length quantity schema") + """ + A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + y: Optional[LengthQuantitySchema10] = Field(None, title="length quantity schema") + """ + A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + + +class Units401(Enum): + degree = "degree" + radian = "radian" + + +class ScanAngle(BaseModel): + value: Optional[float] = None + units: Optional[Units401] = "degree" + + +class ScanPoints(BaseModel): + x: Optional[int] = None + y: Optional[int] = None + + +class Units402(Enum): + cm_1 = "cm-1" + THz = "THz" + meV = "meV" + Hz = "Hz" + kHz = "kHz" + MHz = "MHz" + GHz = "GHz" + + +class FrequencyQuantitySchema(BaseModel): + units: Units402 + value: float + + +class ScanDirection(Enum): + up = "up" + down = "down" + + +class Setpoint(BaseModel): + value: Optional[float] = None + units: Optional[str] = None + + +class Units403(Enum): + V = "V" + mV = "mV" + uV = "uV" + kV = "kV" + + +class VoltageQuantitySchema(BaseModel): + units: Units403 + value: float + + +class Units404(Enum): + A = "A" + mA = "mA" + uA = "uA" + nA = "nA" + pA = "pA" + + +class CurrentQuantitySchema(BaseModel): + units: Units404 + value: float + + +class Units405(Enum): + V = "V" + mV = "mV" + uV = "uV" + kV = "kV" + + +class VoltageQuantitySchema3(BaseModel): + units: Units405 + value: float + + +class Units406(Enum): + cm_1 = "cm-1" + THz = "THz" + meV = "meV" + Hz = "Hz" + kHz = "kHz" + MHz = "MHz" + GHz = "GHz" + + +class FrequencyQuantitySchema2(BaseModel): + units: Units406 + value: float + + +class Type(Enum): + triangular = "triangular" + bipolar_triangular = "bipolar_triangular" + triangle_square = "triangle_square" + sinusoidal = "sinusoidal" + step = "step" + custom = "custom" + + +class Units407(Enum): + V = "V" + mV = "mV" + uV = "uV" + kV = "kV" + + +class VoltageQuantitySchema4(BaseModel): + units: Units407 + value: float + + +class Units408(Enum): + cm_1 = "cm-1" + THz = "THz" + meV = "meV" + Hz = "Hz" + kHz = "kHz" + MHz = "MHz" + GHz = "GHz" + + +class FrequencyQuantitySchema3(BaseModel): + units: Units408 + value: float + + +class BiasWaveform(BaseModel): + type: Optional[Type] = None + amplitude: Optional[VoltageQuantitySchema4] = Field(None, title="voltage quantity schema") + """ + A scalar with voltage units, e.g. a sample bias or drive amplitude. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + frequency: Optional[FrequencyQuantitySchema3] = Field(None, title="frequency quantity schema") + """ + A scalar with frequency units, e.g. a cantilever drive frequency. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + cycles: Optional[int] = None + pointsPerSecond: Optional[float] = None + offField: Optional[bool] = None + """ + Whether the response is read with the dc bias off, which separates the electrostatic background from the piezoresponse. + """ + + +class Kind(Enum): + probe = "probe" + cantilever = "cantilever" + scanner = "scanner" + laser = "laser" + detector = "detector" + lock_in_amplifier = "lock_in_amplifier" + controller = "controller" + heater = "heater" + cryostat = "cryostat" + chamber = "chamber" + stage = "stage" + evaporation_source = "evaporation_source" + target_holder = "target_holder" + gas_line = "gas_line" + mass_flow_controller = "mass_flow_controller" + pump = "pump" + gauge = "gauge" + other = "other" + + +class InstrumentComponentSchema(BaseModel): + kind: Kind + name: str + vendor: Optional[str] = None + model: Optional[str] = None + serialNumber: Optional[str] = None + parameters: Optional[Dict[str, Any]] = None + """ + Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever. + """ + + +class ScanningProbeMicroscopyParametersSchema(BaseModel): + mode: Optional[Mode] = None + """ + Feedback or imaging mode the scan was taken in. + """ + scanRange: Optional[ScanRange] = None + """ + Size of the scanned area. + """ + scanOffset: Optional[ScanOffset] = None + """ + Offset of the scan centre from the stage origin. + """ + scanAngle: Optional[ScanAngle] = None + """ + Rotation of the fast scan axis. + """ + scanPoints: Optional[ScanPoints] = None + """ + Number of points along each axis, i.e. the pixel dimensions of the image. + """ + scanRate: Optional[FrequencyQuantitySchema] = Field(None, title="frequency quantity schema") + """ + A scalar with frequency units, e.g. a cantilever drive frequency. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + scanDirection: Optional[ScanDirection] = None + """ + Slow-axis direction. + """ + setpoint: Optional[Setpoint] = None + """ + Feedback setpoint, in whichever quantity the mode controls on (amplitude in volts, deflection in newtons, current in amperes). + """ + biasVoltage: Optional[VoltageQuantitySchema] = Field(None, title="voltage quantity schema") + """ + A scalar with voltage units, e.g. a sample bias or drive amplitude. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + currentSetpoint: Optional[CurrentQuantitySchema] = Field(None, title="current quantity schema") + """ + A scalar with current units, e.g. a tunneling current setpoint. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + driveAmplitude: Optional[VoltageQuantitySchema3] = Field(None, title="voltage quantity schema") + """ + A scalar with voltage units, e.g. a sample bias or drive amplitude. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + driveFrequency: Optional[FrequencyQuantitySchema2] = Field(None, title="frequency quantity schema") + """ + A scalar with frequency units, e.g. a cantilever drive frequency. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + biasWaveform: Optional[BiasWaveform] = None + """ + Bias waveform applied during switching spectroscopy, e.g. the triangle-square sequence a piezoresponse hysteresis loop is measured with. + """ + probe: Optional[InstrumentComponentSchema] = Field(None, title="instrument component schema") + """ + A part of an instrument that is worth recording per result, such as the cantilever a scan was taken with or the target a film was sputtered from. Parameters are left open because what matters differs by kind: a cantilever has a spring constant, a laser has a wavelength. + """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/diff/fd.py b/src/py/mat3ra/esse/models/methods_category/mathematical/diff/fd.py index c3816f9a2..0ddea20c3 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/diff/fd.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/diff/fd.py @@ -25,7 +25,7 @@ class SlugifiedEntryOrSlug(Enum): fd = "fd" -class SlugifiedEntryOrSlug73(Enum): +class SlugifiedEntryOrSlug124(Enum): diff = "diff" @@ -34,7 +34,7 @@ class FiniteDifferenceMethodCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug73]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug124]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/__init__.py b/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/__init__.py index d351efd96..866597bf0 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/__init__.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/__init__.py @@ -25,7 +25,7 @@ class SlugifiedEntryOrSlug(Enum): mesh = "mesh" -class SlugifiedEntryOrSlug145(Enum): +class SlugifiedEntryOrSlug241(Enum): discr = "discr" @@ -34,7 +34,7 @@ class MeshingMethodCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug145]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug241]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/hybrid.py b/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/hybrid.py index 415cdbf68..7de4029a5 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/hybrid.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/hybrid.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): hybrid = "hybrid" -class SlugifiedEntryOrSlug106(Enum): +class SlugifiedEntryOrSlug157(Enum): mesh = "mesh" -class SlugifiedEntryOrSlug107(Enum): +class SlugifiedEntryOrSlug158(Enum): discr = "discr" @@ -38,11 +38,11 @@ class HybridMeshingCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug106]] = Field(None, title="slugified entry or slug") + 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, SlugifiedEntryOrSlug107]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug158]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/nstruct.py b/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/nstruct.py index 1557c43b5..2db6573c7 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/nstruct.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/nstruct.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): nstruct = "nstruct" -class SlugifiedEntryOrSlug165(Enum): +class SlugifiedEntryOrSlug261(Enum): mesh = "mesh" -class SlugifiedEntryOrSlug166(Enum): +class SlugifiedEntryOrSlug262(Enum): discr = "discr" @@ -38,11 +38,11 @@ class UnstructuredMeshingCategoryNstructSchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug165]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug261]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug262]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/__init__.py b/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/__init__.py index 299b8b73d..618e18129 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/__init__.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/__init__.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): struct = "struct" -class SlugifiedEntryOrSlug258(Enum): +class SlugifiedEntryOrSlug404(Enum): mesh = "mesh" -class SlugifiedEntryOrSlug259(Enum): +class SlugifiedEntryOrSlug405(Enum): discr = "discr" @@ -38,11 +38,11 @@ class StructuredMeshingCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug258]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug404]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug405]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/cartesian.py b/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/cartesian.py index 1284ba3c3..3bd10779e 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/cartesian.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/cartesian.py @@ -25,15 +25,15 @@ class SlugifiedEntryOrSlug(Enum): cartesian = "cartesian" -class SlugifiedEntryOrSlug18(Enum): +class SlugifiedEntryOrSlug63(Enum): struct = "struct" -class SlugifiedEntryOrSlug19(Enum): +class SlugifiedEntryOrSlug64(Enum): mesh = "mesh" -class SlugifiedEntryOrSlug20(Enum): +class SlugifiedEntryOrSlug65(Enum): discr = "discr" @@ -42,15 +42,15 @@ class CartesianGridSchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug18]] = Field(None, title="slugified entry or slug") + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug63]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug64]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug65]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/basisexp.py b/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/basisexp.py index a0f93ac25..1e0893a1d 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/basisexp.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/basisexp.py @@ -25,7 +25,7 @@ class SlugifiedEntryOrSlug(Enum): basisExp = "basisExp" -class SlugifiedEntryOrSlug10(Enum): +class SlugifiedEntryOrSlug55(Enum): fapprx = "fapprx" @@ -34,7 +34,7 @@ class BasisExpansionCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug10]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug55]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/__init__.py b/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/__init__.py index 326639a2f..214431d62 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/__init__.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/__init__.py @@ -25,7 +25,7 @@ class SlugifiedEntryOrSlug(Enum): ipol = "ipol" -class SlugifiedEntryOrSlug115(Enum): +class SlugifiedEntryOrSlug196(Enum): fapprx = "fapprx" @@ -34,7 +34,7 @@ class InterpolationCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug115]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug196]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/lin.py b/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/lin.py index 1ea7f55a8..e91018843 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/lin.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/lin.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): lin = "lin" -class SlugifiedEntryOrSlug134(Enum): +class SlugifiedEntryOrSlug215(Enum): ipol = "ipol" -class SlugifiedEntryOrSlug135(Enum): +class SlugifiedEntryOrSlug216(Enum): fapprx = "fapprx" @@ -38,11 +38,11 @@ class LinearInterpolationCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug134]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug215]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug216]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/poly.py b/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/poly.py index e26514b6c..1d1b217f8 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/poly.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/poly.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): poly = "poly" -class SlugifiedEntryOrSlug195(Enum): +class SlugifiedEntryOrSlug291(Enum): ipol = "ipol" -class SlugifiedEntryOrSlug196(Enum): +class SlugifiedEntryOrSlug292(Enum): fapprx = "fapprx" @@ -38,11 +38,11 @@ class PolynomialInterpolationCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug195]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug291]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug292]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/spline.py b/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/spline.py index 90096ea82..e4c2f145e 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/spline.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/spline.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): spline = "spline" -class SlugifiedEntryOrSlug251(Enum): +class SlugifiedEntryOrSlug377(Enum): ipol = "ipol" -class SlugifiedEntryOrSlug252(Enum): +class SlugifiedEntryOrSlug378(Enum): fapprx = "fapprx" @@ -38,11 +38,11 @@ class SplineInterpolationCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug251]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug377]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug378]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/analytic/volume.py b/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/analytic/volume.py index ce9cb1afe..ab57d902f 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/analytic/volume.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/analytic/volume.py @@ -25,7 +25,7 @@ class SlugifiedEntryOrSlug(Enum): volume = "volume" -class SlugifiedEntryOrSlug271(Enum): +class SlugifiedEntryOrSlug422(Enum): sphere = "sphere" cube = "cube" rect_prism = "rect-prism" @@ -36,11 +36,11 @@ class SlugifiedEntryOrSlug271(Enum): sq_pyr = "sq-pyr" -class SlugifiedEntryOrSlug272(Enum): +class SlugifiedEntryOrSlug423(Enum): analytic = "analytic" -class SlugifiedEntryOrSlug273(Enum): +class SlugifiedEntryOrSlug424(Enum): intgr = "intgr" @@ -49,15 +49,15 @@ class AnalyticVolumeIntegralCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug271]] = Field(None, title="slugified entry or slug") + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug422]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug423]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug424]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/__init__.py b/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/__init__.py index ce9951a39..39a3cb346 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/__init__.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/__init__.py @@ -25,7 +25,7 @@ class SlugifiedEntryOrSlug(Enum): diffeq = "diffeq" -class SlugifiedEntryOrSlug48(Enum): +class SlugifiedEntryOrSlug98(Enum): intgr = "intgr" @@ -34,7 +34,7 @@ class MethodsForTheNumericalIntegrationOfDifferentialEquationsSchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug48]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug98]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order1.py b/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order1.py index 2fce22dcb..a0b69e124 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order1.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order1.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): order1 = "order1" -class SlugifiedEntryOrSlug171(Enum): +class SlugifiedEntryOrSlug267(Enum): diffeq = "diffeq" -class SlugifiedEntryOrSlug172(Enum): +class SlugifiedEntryOrSlug268(Enum): intgr = "intgr" @@ -38,11 +38,11 @@ class Order1Schema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug171]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug267]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug268]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order2.py b/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order2.py index b03c3b66b..829d9fd84 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order2.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order2.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): order2 = "order2" -class SlugifiedEntryOrSlug177(Enum): +class SlugifiedEntryOrSlug273(Enum): diffeq = "diffeq" -class SlugifiedEntryOrSlug178(Enum): +class SlugifiedEntryOrSlug274(Enum): intgr = "intgr" @@ -38,11 +38,11 @@ class Order2Schema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug177]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug273]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug274]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/numquad/__init__.py b/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/numquad/__init__.py index f9c500a67..6a4f4551c 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/numquad/__init__.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/numquad/__init__.py @@ -25,7 +25,7 @@ class SlugifiedEntryOrSlug(Enum): numquad = "numquad" -class SlugifiedEntryOrSlug168(Enum): +class SlugifiedEntryOrSlug264(Enum): intgr = "intgr" @@ -34,7 +34,7 @@ class MethodsForTheNumericalQuadratureSchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug168]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug264]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/numquad/gauss.py b/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/numquad/gauss.py index c73847bc0..81a238247 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/numquad/gauss.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/numquad/gauss.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): gauss = "gauss" -class SlugifiedEntryOrSlug78(Enum): +class SlugifiedEntryOrSlug129(Enum): numquad = "numquad" -class SlugifiedEntryOrSlug79(Enum): +class SlugifiedEntryOrSlug130(Enum): intgr = "intgr" @@ -38,11 +38,11 @@ class GaussianQuadratureRulesSchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug78]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug129]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug130]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/numquad/newcot.py b/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/numquad/newcot.py index 27129e835..a35b59a40 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/numquad/newcot.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/numquad/newcot.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): newcot = "newcot" -class SlugifiedEntryOrSlug162(Enum): +class SlugifiedEntryOrSlug258(Enum): numquad = "numquad" -class SlugifiedEntryOrSlug163(Enum): +class SlugifiedEntryOrSlug259(Enum): intgr = "intgr" @@ -38,11 +38,11 @@ class NewtonCotesQuadratureRulesSchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug162]] = Field(None, title="slugified entry or slug") + 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, SlugifiedEntryOrSlug163]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug259]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/transf/__init__.py b/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/transf/__init__.py index d28d5e331..b7a599e7c 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/transf/__init__.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/transf/__init__.py @@ -25,7 +25,7 @@ class SlugifiedEntryOrSlug(Enum): transf = "transf" -class SlugifiedEntryOrSlug269(Enum): +class SlugifiedEntryOrSlug420(Enum): intgr = "intgr" @@ -34,7 +34,7 @@ class IntegralTransformMethodsSchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug269]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug420]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/transf/fourier.py b/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/transf/fourier.py index 2c8277db0..903ee97fd 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/transf/fourier.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/intgr/transf/fourier.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): fourier = "fourier" -class SlugifiedEntryOrSlug75(Enum): +class SlugifiedEntryOrSlug126(Enum): transf = "transf" -class SlugifiedEntryOrSlug76(Enum): +class SlugifiedEntryOrSlug127(Enum): intgr = "intgr" @@ -38,11 +38,11 @@ class FourierTransformMethodsSchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug75]] = Field(None, title="slugified entry or slug") + 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, SlugifiedEntryOrSlug76]] = Field(None, title="slugified entry or slug") + 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/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/dcomp.py b/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/dcomp.py index 3d945680a..cadde3fb0 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/dcomp.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/dcomp.py @@ -25,7 +25,7 @@ class SlugifiedEntryOrSlug(Enum): dcomp = "dcomp" -class SlugifiedEntryOrSlug36(Enum): +class SlugifiedEntryOrSlug86(Enum): linalg = "linalg" @@ -34,7 +34,7 @@ class MatrixDecompositionMethodsSchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug36]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug86]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/diag/__init__.py b/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/diag/__init__.py index e95d01be6..f91ed5fbc 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/diag/__init__.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/diag/__init__.py @@ -25,7 +25,7 @@ class SlugifiedEntryOrSlug(Enum): diag = "diag" -class SlugifiedEntryOrSlug43(Enum): +class SlugifiedEntryOrSlug93(Enum): linalg = "linalg" @@ -34,7 +34,7 @@ class MatrixDiagonalizationMethodsSchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug43]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug93]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/diag/davidson.py b/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/diag/davidson.py index 32f2a5bab..5d3a4f3f1 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/diag/davidson.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/diag/davidson.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): davidson = "davidson" -class SlugifiedEntryOrSlug33(Enum): +class SlugifiedEntryOrSlug83(Enum): diag = "diag" -class SlugifiedEntryOrSlug34(Enum): +class SlugifiedEntryOrSlug84(Enum): linalg = "linalg" @@ -38,11 +38,11 @@ class DavidsonDiagonalizationMethodSchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug33]] = Field(None, title="slugified entry or slug") + 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, SlugifiedEntryOrSlug34]] = Field(None, title="slugified entry or slug") + 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/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/lintra.py b/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/lintra.py index e3dbb580a..67f289887 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/lintra.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/lintra.py @@ -25,7 +25,7 @@ class SlugifiedEntryOrSlug(Enum): lintra = "lintra" -class SlugifiedEntryOrSlug138(Enum): +class SlugifiedEntryOrSlug219(Enum): linalg = "linalg" @@ -34,7 +34,7 @@ class LinearTransformationMethodsSchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug138]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug219]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/matf.py b/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/matf.py index a0941d8fd..3d6895769 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/matf.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/linalg/matf.py @@ -25,7 +25,7 @@ class SlugifiedEntryOrSlug(Enum): matf = "matf" -class SlugifiedEntryOrSlug143(Enum): +class SlugifiedEntryOrSlug224(Enum): linalg = "linalg" @@ -34,7 +34,7 @@ class MatrixFunctionMethodsSchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug143]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug224]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/__init__.py b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/__init__.py index c8ca62909..51340236d 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/__init__.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/__init__.py @@ -25,7 +25,7 @@ class SlugifiedEntryOrSlug(Enum): diff = "diff" -class SlugifiedEntryOrSlug46(Enum): +class SlugifiedEntryOrSlug96(Enum): opt = "opt" @@ -34,7 +34,7 @@ class OptimizationMethodsForDifferentiableFunctionsCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug46]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug96]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/bracket.py b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/bracket.py index adc936f23..c2375263e 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/bracket.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/bracket.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): bracket = "bracket" -class SlugifiedEntryOrSlug15(Enum): +class SlugifiedEntryOrSlug60(Enum): diff = "diff" -class SlugifiedEntryOrSlug16(Enum): +class SlugifiedEntryOrSlug61(Enum): opt = "opt" @@ -38,11 +38,11 @@ class BracketAlgorithmsForTheOptimizationOfDifferentiableFunctionsSchema(BaseMod """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug15]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug60]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug61]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/local.py b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/local.py index 1360650bf..2eabc7f83 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/local.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/local.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): local = "local" -class SlugifiedEntryOrSlug140(Enum): +class SlugifiedEntryOrSlug221(Enum): diff = "diff" -class SlugifiedEntryOrSlug141(Enum): +class SlugifiedEntryOrSlug222(Enum): opt = "opt" @@ -38,11 +38,11 @@ class LocalDescentMethodsForTheOptimizationOfDifferentiableFunctionsSchema(BaseM """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug140]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug221]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug222]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/order1.py b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/order1.py index 83c08356d..675493d6c 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/order1.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/order1.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): order1 = "order1" -class SlugifiedEntryOrSlug174(Enum): +class SlugifiedEntryOrSlug270(Enum): diff = "diff" -class SlugifiedEntryOrSlug175(Enum): +class SlugifiedEntryOrSlug271(Enum): opt = "opt" @@ -38,11 +38,11 @@ class FirstOrderAlgorithmsForTheOptimizationOfDifferentiableFunctionsSchema(Base """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug174]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug270]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug271]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/order2.py b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/order2.py index ad7f6fc0b..15f0ab30d 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/order2.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/order2.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): order2 = "order2" -class SlugifiedEntryOrSlug180(Enum): +class SlugifiedEntryOrSlug276(Enum): diff = "diff" -class SlugifiedEntryOrSlug181(Enum): +class SlugifiedEntryOrSlug277(Enum): opt = "opt" @@ -38,11 +38,11 @@ class SecondOrderAlgorithmsForTheOptimizationOfDifferentiableFunctionsSchema(Bas """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug180]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug276]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug277]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/__init__.py b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/__init__.py index 32c266c32..5aa9daefc 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/__init__.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/__init__.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): ordern = "ordern" -class SlugifiedEntryOrSlug183(Enum): +class SlugifiedEntryOrSlug279(Enum): diff = "diff" -class SlugifiedEntryOrSlug184(Enum): +class SlugifiedEntryOrSlug280(Enum): opt = "opt" @@ -38,11 +38,11 @@ class MixedOrderAndHigherOrderAlgorithmsForTheOptimizationOfDifferentiableFuncti """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug183]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug279]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug280]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/cg.py b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/cg.py index 11db0fa46..0f2bde190 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/cg.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/cg.py @@ -25,15 +25,15 @@ class SlugifiedEntryOrSlug(Enum): cg = "cg" -class SlugifiedEntryOrSlug26(Enum): +class SlugifiedEntryOrSlug71(Enum): ordern = "ordern" -class SlugifiedEntryOrSlug27(Enum): +class SlugifiedEntryOrSlug72(Enum): diff = "diff" -class SlugifiedEntryOrSlug28(Enum): +class SlugifiedEntryOrSlug73(Enum): opt = "opt" @@ -42,15 +42,15 @@ class ConjugateGradientMethodSchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug26]] = Field(None, title="slugified entry or slug") + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug71]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug72]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug73]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/ndiff/__init__.py b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/ndiff/__init__.py index a91e9b42f..cf26fae7d 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/ndiff/__init__.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/ndiff/__init__.py @@ -25,7 +25,7 @@ class SlugifiedEntryOrSlug(Enum): ndiff = "ndiff" -class SlugifiedEntryOrSlug160(Enum): +class SlugifiedEntryOrSlug256(Enum): opt = "opt" @@ -34,7 +34,7 @@ class OptimizationMethodsForNonDifferentiableFunctionsCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug160]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug256]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/ndiff/direct.py b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/ndiff/direct.py index 8d7b74974..ca6c95aa0 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/ndiff/direct.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/ndiff/direct.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): direct = "direct" -class SlugifiedEntryOrSlug50(Enum): +class SlugifiedEntryOrSlug100(Enum): ndiff = "ndiff" -class SlugifiedEntryOrSlug51(Enum): +class SlugifiedEntryOrSlug101(Enum): opt = "opt" @@ -38,11 +38,11 @@ class DirectAlgorithmsForTheOptimizationOfNonDifferentiableFunctionsCategorySche """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug50]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug100]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug101]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/ndiff/pop.py b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/ndiff/pop.py index 03d6e1f7f..3a22907d2 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/ndiff/pop.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/ndiff/pop.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): pop = "pop" -class SlugifiedEntryOrSlug198(Enum): +class SlugifiedEntryOrSlug294(Enum): ndiff = "ndiff" -class SlugifiedEntryOrSlug199(Enum): +class SlugifiedEntryOrSlug295(Enum): opt = "opt" @@ -38,11 +38,11 @@ class PopulationAlgorithmsForTheOptmizationOfNonDifferentiableFunctionsCategoryS """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug198]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug294]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug295]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/ndiff/stoch.py b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/ndiff/stoch.py index 3e3ec9712..c3ca10ffe 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/ndiff/stoch.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/ndiff/stoch.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): stoch = "stoch" -class SlugifiedEntryOrSlug255(Enum): +class SlugifiedEntryOrSlug401(Enum): ndiff = "ndiff" -class SlugifiedEntryOrSlug256(Enum): +class SlugifiedEntryOrSlug402(Enum): opt = "opt" @@ -38,11 +38,11 @@ class StochasticAlgorithmsForTheOptmizationOfNonDifferentiableFunctionsCategoryS """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug255]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug401]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug402]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/root/__init__.py b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/root/__init__.py index 0f9c1f286..fa95e28c8 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/root/__init__.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/root/__init__.py @@ -25,7 +25,7 @@ class SlugifiedEntryOrSlug(Enum): root = "root" -class SlugifiedEntryOrSlug238(Enum): +class SlugifiedEntryOrSlug364(Enum): opt = "opt" @@ -34,7 +34,7 @@ class RootFindingCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug238]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug364]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/root/bracket.py b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/root/bracket.py index 290685444..f09449f6e 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/root/bracket.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/root/bracket.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): bracket = "bracket" -class SlugifiedEntryOrSlug12(Enum): +class SlugifiedEntryOrSlug57(Enum): root = "root" -class SlugifiedEntryOrSlug13(Enum): +class SlugifiedEntryOrSlug58(Enum): opt = "opt" @@ -38,11 +38,11 @@ class BracketingMethodForFindingRootsCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug12]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug57]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug58]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/root/iter.py b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/root/iter.py index 54218e927..2d8d22b1d 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/opt/root/iter.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/opt/root/iter.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): iterative = "iterative" -class SlugifiedEntryOrSlug117(Enum): +class SlugifiedEntryOrSlug198(Enum): root = "root" -class SlugifiedEntryOrSlug118(Enum): +class SlugifiedEntryOrSlug199(Enum): opt = "opt" @@ -38,11 +38,11 @@ class IterativeMethodForRootFindingCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug117]] = Field(None, title="slugified entry or slug") + 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, SlugifiedEntryOrSlug118]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug199]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/mathematical/regression.py b/src/py/mat3ra/esse/models/methods_category/mathematical/regression.py index 1b3246490..03ac58f8a 100644 --- a/src/py/mat3ra/esse/models/methods_category/mathematical/regression.py +++ b/src/py/mat3ra/esse/models/methods_category/mathematical/regression.py @@ -26,7 +26,7 @@ class SlugifiedEntryOrSlug(Enum): kernel_ridge = "kernel_ridge" -class SlugifiedEntryOrSlug236(Enum): +class SlugifiedEntryOrSlug362(Enum): least_squares = "least_squares" ridge = "ridge" @@ -36,7 +36,7 @@ class LinearMethodsCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug236]] = Field(None, title="slugified entry or slug") + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug362]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/__init__.py b/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/__init__.py index fa4b33f23..78123b469 100644 --- a/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/__init__.py +++ b/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/__init__.py @@ -25,7 +25,7 @@ class SlugifiedEntryOrSlug(Enum): wf = "wf" -class SlugifiedEntryOrSlug275(Enum): +class SlugifiedEntryOrSlug426(Enum): qm = "qm" @@ -34,7 +34,7 @@ class MethodsRelatedToWaveFunctionsSchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug275]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug426]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/ao/dunning.py b/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/ao/dunning.py index 988f4dd89..795744534 100644 --- a/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/ao/dunning.py +++ b/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/ao/dunning.py @@ -25,15 +25,15 @@ class SlugifiedEntryOrSlug(Enum): dunning = "dunning" -class SlugifiedEntryOrSlug68(Enum): +class SlugifiedEntryOrSlug118(Enum): ao = "ao" -class SlugifiedEntryOrSlug69(Enum): +class SlugifiedEntryOrSlug119(Enum): wf = "wf" -class SlugifiedEntryOrSlug70(Enum): +class SlugifiedEntryOrSlug120(Enum): qm = "qm" @@ -42,15 +42,15 @@ class DunningCorrelationConsistentBasisSetCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug68]] = Field(None, title="slugified entry or slug") + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug118]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug119]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug120]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/ao/other.py b/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/ao/other.py index 24341d79a..e94030ada 100644 --- a/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/ao/other.py +++ b/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/ao/other.py @@ -25,15 +25,15 @@ class SlugifiedEntryOrSlug(Enum): other = "other" -class SlugifiedEntryOrSlug190(Enum): +class SlugifiedEntryOrSlug286(Enum): ao = "ao" -class SlugifiedEntryOrSlug191(Enum): +class SlugifiedEntryOrSlug287(Enum): wf = "wf" -class SlugifiedEntryOrSlug192(Enum): +class SlugifiedEntryOrSlug288(Enum): qm = "qm" @@ -42,15 +42,15 @@ class OtherNeitherPopleNorDunningBasisSetCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug190]] = Field(None, title="slugified entry or slug") + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug286]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug287]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug288]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/ao/pople.py b/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/ao/pople.py index e5cb4d651..209290a25 100644 --- a/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/ao/pople.py +++ b/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/ao/pople.py @@ -25,15 +25,15 @@ class SlugifiedEntryOrSlug(Enum): pople = "pople" -class SlugifiedEntryOrSlug205(Enum): +class SlugifiedEntryOrSlug301(Enum): ao = "ao" -class SlugifiedEntryOrSlug206(Enum): +class SlugifiedEntryOrSlug302(Enum): wf = "wf" -class SlugifiedEntryOrSlug207(Enum): +class SlugifiedEntryOrSlug303(Enum): qm = "qm" @@ -42,15 +42,15 @@ class PopleBasisSetCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug205]] = Field(None, title="slugified entry or slug") + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug301]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug302]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug303]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/psp.py b/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/psp.py index 42d85dad0..a41d17243 100644 --- a/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/psp.py +++ b/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/psp.py @@ -25,7 +25,7 @@ class SlugifiedEntryOrSlug(Enum): psp = "psp" -class SlugifiedEntryOrSlug213(Enum): +class SlugifiedEntryOrSlug339(Enum): us = "us" nc = "nc" nc_fr = "nc-fr" @@ -33,11 +33,11 @@ class SlugifiedEntryOrSlug213(Enum): coulomb = "coulomb" -class SlugifiedEntryOrSlug214(Enum): +class SlugifiedEntryOrSlug340(Enum): wf = "wf" -class SlugifiedEntryOrSlug215(Enum): +class SlugifiedEntryOrSlug341(Enum): qm = "qm" @@ -46,15 +46,15 @@ class PseudopotentialCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug213]] = Field(None, title="slugified entry or slug") + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug339]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug340]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug341]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/pw.py b/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/pw.py index 5b7f62962..e48da101f 100644 --- a/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/pw.py +++ b/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/pw.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): pw = "pw" -class SlugifiedEntryOrSlug220(Enum): +class SlugifiedEntryOrSlug346(Enum): wf = "wf" -class SlugifiedEntryOrSlug221(Enum): +class SlugifiedEntryOrSlug347(Enum): qm = "qm" @@ -38,11 +38,11 @@ class PlaneWaveCatgeorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug220]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug346]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug347]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/smearing.py b/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/smearing.py index c79889556..4eddd4e38 100644 --- a/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/smearing.py +++ b/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/smearing.py @@ -25,18 +25,18 @@ class SlugifiedEntryOrSlug(Enum): smearing = "smearing" -class SlugifiedEntryOrSlug247(Enum): +class SlugifiedEntryOrSlug373(Enum): gaussian = "gaussian" marzari_vanderbilt = "marzari-vanderbilt" methfessel_paxton = "methfessel-paxton" fermi_dirac = "fermi-dirac" -class SlugifiedEntryOrSlug248(Enum): +class SlugifiedEntryOrSlug374(Enum): wf = "wf" -class SlugifiedEntryOrSlug249(Enum): +class SlugifiedEntryOrSlug375(Enum): qm = "qm" @@ -45,15 +45,15 @@ class SmearingMethodsCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug247]] = Field(None, title="slugified entry or slug") + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug373]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug374]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug375]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/tetrahedron.py b/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/tetrahedron.py index 65a4ebce4..5c7fc8785 100644 --- a/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/tetrahedron.py +++ b/src/py/mat3ra/esse/models/methods_category/physical/qm/wf/tetrahedron.py @@ -25,17 +25,17 @@ class SlugifiedEntryOrSlug(Enum): tetrahedron = "tetrahedron" -class SlugifiedEntryOrSlug265(Enum): +class SlugifiedEntryOrSlug416(Enum): linear = "linear" optimized = "optimized" bloechl = "bloechl" -class SlugifiedEntryOrSlug266(Enum): +class SlugifiedEntryOrSlug417(Enum): wf = "wf" -class SlugifiedEntryOrSlug267(Enum): +class SlugifiedEntryOrSlug418(Enum): qm = "qm" @@ -44,15 +44,15 @@ class TetrahedronMethodForBrillouinZoneIntegrationCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug265]] = Field(None, title="slugified entry or slug") + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug416]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug417]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug418]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ 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 b57969eb5..15311e570 100644 --- a/src/py/mat3ra/esse/models/methods_directory/mathematical/cg.py +++ b/src/py/mat3ra/esse/models/methods_directory/mathematical/cg.py @@ -25,15 +25,15 @@ class SlugifiedEntryOrSlug(Enum): cg = "cg" -class SlugifiedEntryOrSlug22(Enum): +class SlugifiedEntryOrSlug67(Enum): ordern = "ordern" -class SlugifiedEntryOrSlug23(Enum): +class SlugifiedEntryOrSlug68(Enum): diff = "diff" -class SlugifiedEntryOrSlug24(Enum): +class SlugifiedEntryOrSlug69(Enum): opt = "opt" @@ -42,15 +42,15 @@ class ConjugateGradientMethodSchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug22]] = Field(None, title="slugified entry or slug") + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug67]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug68]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug69]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ 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 c0959fd77..fca97abcd 100644 --- a/src/py/mat3ra/esse/models/methods_directory/mathematical/davidson.py +++ b/src/py/mat3ra/esse/models/methods_directory/mathematical/davidson.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): davidson = "davidson" -class SlugifiedEntryOrSlug30(Enum): +class SlugifiedEntryOrSlug80(Enum): diag = "diag" -class SlugifiedEntryOrSlug31(Enum): +class SlugifiedEntryOrSlug81(Enum): linalg = "linalg" @@ -38,11 +38,11 @@ class DavidsonDiagonalizationMethodSchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug30]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug80]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug81]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ 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 4cd24d6a9..f1f6612cd 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 @@ -26,7 +26,7 @@ class SlugifiedEntryOrSlug(Enum): kernel_ridge = "kernel_ridge" -class SlugifiedEntryOrSlug234(Enum): +class SlugifiedEntryOrSlug360(Enum): least_squares = "least_squares" ridge = "ridge" @@ -36,7 +36,7 @@ class LinearMethodsCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug234]] = Field(None, title="slugified entry or slug") + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug360]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ 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 03a4348c7..5699a149b 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 @@ -25,15 +25,15 @@ class SlugifiedEntryOrSlug(Enum): dunning = "dunning" -class SlugifiedEntryOrSlug64(Enum): +class SlugifiedEntryOrSlug114(Enum): ao = "ao" -class SlugifiedEntryOrSlug65(Enum): +class SlugifiedEntryOrSlug115(Enum): wf = "wf" -class SlugifiedEntryOrSlug66(Enum): +class SlugifiedEntryOrSlug116(Enum): qm = "qm" @@ -42,15 +42,15 @@ class DunningCorrelationConsistentBasisSetCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug64]] = Field(None, title="slugified entry or slug") + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug114]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug115]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug116]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ 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 cfcce7aa1..093bdc6df 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 @@ -25,15 +25,15 @@ class SlugifiedEntryOrSlug(Enum): other = "other" -class SlugifiedEntryOrSlug186(Enum): +class SlugifiedEntryOrSlug282(Enum): ao = "ao" -class SlugifiedEntryOrSlug187(Enum): +class SlugifiedEntryOrSlug283(Enum): wf = "wf" -class SlugifiedEntryOrSlug188(Enum): +class SlugifiedEntryOrSlug284(Enum): qm = "qm" @@ -42,15 +42,15 @@ class OtherNeitherPopleNorDunningBasisSetCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug186]] = Field(None, title="slugified entry or slug") + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug282]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug283]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug284]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ 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 82148e8f2..46fd1eca3 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 @@ -25,15 +25,15 @@ class SlugifiedEntryOrSlug(Enum): pople = "pople" -class SlugifiedEntryOrSlug201(Enum): +class SlugifiedEntryOrSlug297(Enum): ao = "ao" -class SlugifiedEntryOrSlug202(Enum): +class SlugifiedEntryOrSlug298(Enum): wf = "wf" -class SlugifiedEntryOrSlug203(Enum): +class SlugifiedEntryOrSlug299(Enum): qm = "qm" @@ -42,15 +42,15 @@ class PopleBasisSetCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug201]] = Field(None, title="slugified entry or slug") + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug297]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug298]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug299]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ 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 93e80fd56..e9380dc59 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 @@ -29,7 +29,7 @@ class SlugifiedEntryOrSlug(Enum): psp = "psp" -class SlugifiedEntryOrSlug209(Enum): +class SlugifiedEntryOrSlug335(Enum): us = "us" nc = "nc" nc_fr = "nc-fr" @@ -37,11 +37,11 @@ class SlugifiedEntryOrSlug209(Enum): coulomb = "coulomb" -class SlugifiedEntryOrSlug210(Enum): +class SlugifiedEntryOrSlug336(Enum): wf = "wf" -class SlugifiedEntryOrSlug211(Enum): +class SlugifiedEntryOrSlug337(Enum): qm = "qm" @@ -50,15 +50,15 @@ class PseudopotentialCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug209]] = Field(None, title="slugified entry or slug") + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug335]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug336]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug337]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ 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 1211d53ba..4ba168607 100644 --- a/src/py/mat3ra/esse/models/methods_directory/physical/pw.py +++ b/src/py/mat3ra/esse/models/methods_directory/physical/pw.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): pw = "pw" -class SlugifiedEntryOrSlug217(Enum): +class SlugifiedEntryOrSlug343(Enum): wf = "wf" -class SlugifiedEntryOrSlug218(Enum): +class SlugifiedEntryOrSlug344(Enum): qm = "qm" @@ -38,11 +38,11 @@ class PlaneWaveCatgeorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug217]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug343]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug344]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ 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 8d8757849..a401b2d88 100644 --- a/src/py/mat3ra/esse/models/methods_directory/physical/smearing.py +++ b/src/py/mat3ra/esse/models/methods_directory/physical/smearing.py @@ -25,18 +25,18 @@ class SlugifiedEntryOrSlug(Enum): smearing = "smearing" -class SlugifiedEntryOrSlug243(Enum): +class SlugifiedEntryOrSlug369(Enum): gaussian = "gaussian" marzari_vanderbilt = "marzari-vanderbilt" methfessel_paxton = "methfessel-paxton" fermi_dirac = "fermi-dirac" -class SlugifiedEntryOrSlug244(Enum): +class SlugifiedEntryOrSlug370(Enum): wf = "wf" -class SlugifiedEntryOrSlug245(Enum): +class SlugifiedEntryOrSlug371(Enum): qm = "qm" @@ -45,15 +45,15 @@ class SmearingMethodsCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug243]] = Field(None, title="slugified entry or slug") + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug369]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug370]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug371]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ 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 dfaaaa797..f7d923725 100644 --- a/src/py/mat3ra/esse/models/methods_directory/physical/tetrahedron.py +++ b/src/py/mat3ra/esse/models/methods_directory/physical/tetrahedron.py @@ -25,17 +25,17 @@ class SlugifiedEntryOrSlug(Enum): tetrahedron = "tetrahedron" -class SlugifiedEntryOrSlug261(Enum): +class SlugifiedEntryOrSlug412(Enum): linear = "linear" optimized = "optimized" bloechl = "bloechl" -class SlugifiedEntryOrSlug262(Enum): +class SlugifiedEntryOrSlug413(Enum): wf = "wf" -class SlugifiedEntryOrSlug263(Enum): +class SlugifiedEntryOrSlug414(Enum): qm = "qm" @@ -44,15 +44,15 @@ class TetrahedronMethodForBrillouinZoneIntegrationCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug261]] = Field(None, title="slugified entry or slug") + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug412]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug413]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug414]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/models_category/pb/qm/__init__.py b/src/py/mat3ra/esse/models/models_category/pb/qm/__init__.py index a410c7c2f..3ffffcfac 100644 --- a/src/py/mat3ra/esse/models/models_category/pb/qm/__init__.py +++ b/src/py/mat3ra/esse/models/models_category/pb/qm/__init__.py @@ -25,7 +25,7 @@ class SlugifiedEntryOrSlug(Enum): qm = "qm" -class SlugifiedEntryOrSlug223(Enum): +class SlugifiedEntryOrSlug349(Enum): pb = "pb" @@ -34,7 +34,7 @@ class QuantumMechanicalCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug223]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug349]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/models_category/pb/qm/abin/gw.py b/src/py/mat3ra/esse/models/models_category/pb/qm/abin/gw.py index 90df3b0a6..05675a3cc 100644 --- a/src/py/mat3ra/esse/models/models_category/pb/qm/abin/gw.py +++ b/src/py/mat3ra/esse/models/models_category/pb/qm/abin/gw.py @@ -25,21 +25,21 @@ class SlugifiedEntryOrSlug(Enum): gw = "gw" -class SlugifiedEntryOrSlug91(Enum): +class SlugifiedEntryOrSlug142(Enum): g0w0 = "g0w0" evgw0 = "evgw0" evgw = "evgw" -class SlugifiedEntryOrSlug92(Enum): +class SlugifiedEntryOrSlug143(Enum): abin = "abin" -class SlugifiedEntryOrSlug93(Enum): +class SlugifiedEntryOrSlug144(Enum): qm = "qm" -class SlugifiedEntryOrSlug94(Enum): +class SlugifiedEntryOrSlug145(Enum): pb = "pb" @@ -48,19 +48,19 @@ class GWCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug91]] = Field(None, title="slugified entry or slug") + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug142]] = 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") + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug143]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug144]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug145]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/models_category/pb/qm/dft/__init__.py b/src/py/mat3ra/esse/models/models_category/pb/qm/dft/__init__.py index dc3319917..b37f59ec6 100644 --- a/src/py/mat3ra/esse/models/models_category/pb/qm/dft/__init__.py +++ b/src/py/mat3ra/esse/models/models_category/pb/qm/dft/__init__.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): dft = "dft" -class SlugifiedEntryOrSlug40(Enum): +class SlugifiedEntryOrSlug90(Enum): qm = "qm" -class SlugifiedEntryOrSlug41(Enum): +class SlugifiedEntryOrSlug91(Enum): pb = "pb" @@ -38,11 +38,11 @@ class DensityFunctionalTheoryCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug40]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug90]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug91]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/__init__.py b/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/__init__.py index b57e8d823..022f7efa8 100644 --- a/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/__init__.py +++ b/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/__init__.py @@ -25,15 +25,15 @@ class SlugifiedEntryOrSlug(Enum): ksdft = "ksdft" -class SlugifiedEntryOrSlug120(Enum): +class SlugifiedEntryOrSlug201(Enum): dft = "dft" -class SlugifiedEntryOrSlug121(Enum): +class SlugifiedEntryOrSlug202(Enum): qm = "qm" -class SlugifiedEntryOrSlug122(Enum): +class SlugifiedEntryOrSlug203(Enum): pb = "pb" @@ -42,15 +42,15 @@ class KohnShamDFTCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug120]] = Field(None, title="slugified entry or slug") + tier3: 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, SlugifiedEntryOrSlug121]] = Field(None, title="slugified entry or slug") + 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, SlugifiedEntryOrSlug122]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug203]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/double_hybrid.py b/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/double_hybrid.py index b46a09c40..fc52633fd 100644 --- a/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/double_hybrid.py +++ b/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/double_hybrid.py @@ -25,19 +25,19 @@ class SlugifiedEntryOrSlug(Enum): double_hybrid = "double-hybrid" -class SlugifiedEntryOrSlug54(Enum): +class SlugifiedEntryOrSlug104(Enum): ksdft = "ksdft" -class SlugifiedEntryOrSlug55(Enum): +class SlugifiedEntryOrSlug105(Enum): dft = "dft" -class SlugifiedEntryOrSlug56(Enum): +class SlugifiedEntryOrSlug106(Enum): qm = "qm" -class SlugifiedEntryOrSlug57(Enum): +class SlugifiedEntryOrSlug107(Enum): pb = "pb" @@ -46,19 +46,19 @@ class DFTDoubleHybridFunctionalCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug54]] = Field(None, title="slugified entry or slug") + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug104]] = 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") + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug105]] = 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") + 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, SlugifiedEntryOrSlug57]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug107]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/gga.py b/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/gga.py index 006c63520..6cbf9764a 100644 --- a/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/gga.py +++ b/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/gga.py @@ -25,19 +25,19 @@ class SlugifiedEntryOrSlug(Enum): gga = "gga" -class SlugifiedEntryOrSlug81(Enum): +class SlugifiedEntryOrSlug132(Enum): ksdft = "ksdft" -class SlugifiedEntryOrSlug82(Enum): +class SlugifiedEntryOrSlug133(Enum): dft = "dft" -class SlugifiedEntryOrSlug83(Enum): +class SlugifiedEntryOrSlug134(Enum): qm = "qm" -class SlugifiedEntryOrSlug84(Enum): +class SlugifiedEntryOrSlug135(Enum): pb = "pb" @@ -46,19 +46,19 @@ class DFTGGAFunctionalCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug81]] = Field(None, title="slugified entry or slug") + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug132]] = 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") + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug133]] = 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") + 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, SlugifiedEntryOrSlug84]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug135]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/hybrid.py b/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/hybrid.py index 7648baf0e..2ee1271de 100644 --- a/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/hybrid.py +++ b/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/hybrid.py @@ -25,19 +25,19 @@ class SlugifiedEntryOrSlug(Enum): hybrid = "hybrid" -class SlugifiedEntryOrSlug101(Enum): +class SlugifiedEntryOrSlug152(Enum): ksdft = "ksdft" -class SlugifiedEntryOrSlug102(Enum): +class SlugifiedEntryOrSlug153(Enum): dft = "dft" -class SlugifiedEntryOrSlug103(Enum): +class SlugifiedEntryOrSlug154(Enum): qm = "qm" -class SlugifiedEntryOrSlug104(Enum): +class SlugifiedEntryOrSlug155(Enum): pb = "pb" @@ -46,19 +46,19 @@ class DFTHybridFunctionalCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug101]] = Field(None, title="slugified entry or slug") + 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, SlugifiedEntryOrSlug102]] = Field(None, title="slugified entry or slug") + 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, SlugifiedEntryOrSlug103]] = Field(None, title="slugified entry or slug") + 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, SlugifiedEntryOrSlug104]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug155]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/lda.py b/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/lda.py index 621c673d1..97cbf990d 100644 --- a/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/lda.py +++ b/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/lda.py @@ -25,19 +25,19 @@ class SlugifiedEntryOrSlug(Enum): lda = "lda" -class SlugifiedEntryOrSlug124(Enum): +class SlugifiedEntryOrSlug205(Enum): ksdft = "ksdft" -class SlugifiedEntryOrSlug125(Enum): +class SlugifiedEntryOrSlug206(Enum): dft = "dft" -class SlugifiedEntryOrSlug126(Enum): +class SlugifiedEntryOrSlug207(Enum): qm = "qm" -class SlugifiedEntryOrSlug127(Enum): +class SlugifiedEntryOrSlug208(Enum): pb = "pb" @@ -46,19 +46,19 @@ class DFTLDAFunctionalCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug124]] = Field(None, title="slugified entry or slug") + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug205]] = 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") + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug206]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug207]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug208]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/mgga.py b/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/mgga.py index 432366ef8..b3fc4f61b 100644 --- a/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/mgga.py +++ b/src/py/mat3ra/esse/models/models_category/pb/qm/dft/ksdft/mgga.py @@ -25,19 +25,19 @@ class SlugifiedEntryOrSlug(Enum): mgga = "mgga" -class SlugifiedEntryOrSlug147(Enum): +class SlugifiedEntryOrSlug243(Enum): ksdft = "ksdft" -class SlugifiedEntryOrSlug148(Enum): +class SlugifiedEntryOrSlug244(Enum): dft = "dft" -class SlugifiedEntryOrSlug149(Enum): +class SlugifiedEntryOrSlug245(Enum): qm = "qm" -class SlugifiedEntryOrSlug150(Enum): +class SlugifiedEntryOrSlug246(Enum): pb = "pb" @@ -46,19 +46,19 @@ class DFTMetaGGAFunctionalCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug147]] = Field(None, title="slugified entry or slug") + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug243]] = 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") + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug244]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug245]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug246]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/models_category/pb/qm/semp.py b/src/py/mat3ra/esse/models/models_category/pb/qm/semp.py index f5bd12572..4ab039c64 100644 --- a/src/py/mat3ra/esse/models/models_category/pb/qm/semp.py +++ b/src/py/mat3ra/esse/models/models_category/pb/qm/semp.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): semp = "semp" -class SlugifiedEntryOrSlug240(Enum): +class SlugifiedEntryOrSlug366(Enum): qm = "qm" -class SlugifiedEntryOrSlug241(Enum): +class SlugifiedEntryOrSlug367(Enum): pb = "pb" @@ -38,11 +38,11 @@ class SemiEmpiricalCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug240]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug366]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug367]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/models_category/st/det/__init__.py b/src/py/mat3ra/esse/models/models_category/st/det/__init__.py index 06c5ecfa4..b200fb8c0 100644 --- a/src/py/mat3ra/esse/models/models_category/st/det/__init__.py +++ b/src/py/mat3ra/esse/models/models_category/st/det/__init__.py @@ -25,7 +25,7 @@ class SlugifiedEntryOrSlug(Enum): det = "det" -class SlugifiedEntryOrSlug38(Enum): +class SlugifiedEntryOrSlug88(Enum): st = "st" @@ -34,7 +34,7 @@ class DeterministicModelCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug38]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug88]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/models_category/st/det/ml/__init__.py b/src/py/mat3ra/esse/models/models_category/st/det/ml/__init__.py index af7e0a4df..98b0db46d 100644 --- a/src/py/mat3ra/esse/models/models_category/st/det/ml/__init__.py +++ b/src/py/mat3ra/esse/models/models_category/st/det/ml/__init__.py @@ -25,11 +25,11 @@ class SlugifiedEntryOrSlug(Enum): ml = "ml" -class SlugifiedEntryOrSlug157(Enum): +class SlugifiedEntryOrSlug253(Enum): det = "det" -class SlugifiedEntryOrSlug158(Enum): +class SlugifiedEntryOrSlug254(Enum): st = "st" @@ -38,11 +38,11 @@ class MachineLearningModelCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug157]] = Field(None, title="slugified entry or slug") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug253]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug254]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/models_category/st/det/ml/re.py b/src/py/mat3ra/esse/models/models_category/st/det/ml/re.py index 91abc1caa..b3c29a6b3 100644 --- a/src/py/mat3ra/esse/models/models_category/st/det/ml/re.py +++ b/src/py/mat3ra/esse/models/models_category/st/det/ml/re.py @@ -25,15 +25,15 @@ class SlugifiedEntryOrSlug(Enum): re = "re" -class SlugifiedEntryOrSlug226(Enum): +class SlugifiedEntryOrSlug352(Enum): ml = "ml" -class SlugifiedEntryOrSlug227(Enum): +class SlugifiedEntryOrSlug353(Enum): det = "det" -class SlugifiedEntryOrSlug228(Enum): +class SlugifiedEntryOrSlug354(Enum): st = "st" @@ -42,15 +42,15 @@ class RegressionModelCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug226]] = Field(None, title="slugified entry or slug") + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug352]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug353]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug354]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ 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 4100b2a68..685bc39f8 100644 --- a/src/py/mat3ra/esse/models/models_directory/double_hybrid.py +++ b/src/py/mat3ra/esse/models/models_directory/double_hybrid.py @@ -25,19 +25,19 @@ class SlugifiedEntryOrSlug(Enum): double_hybrid = "double-hybrid" -class SlugifiedEntryOrSlug59(Enum): +class SlugifiedEntryOrSlug109(Enum): ksdft = "ksdft" -class SlugifiedEntryOrSlug60(Enum): +class SlugifiedEntryOrSlug110(Enum): dft = "dft" -class SlugifiedEntryOrSlug61(Enum): +class SlugifiedEntryOrSlug111(Enum): qm = "qm" -class SlugifiedEntryOrSlug62(Enum): +class SlugifiedEntryOrSlug112(Enum): pb = "pb" @@ -46,19 +46,19 @@ class DFTDoubleHybridFunctionalCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug59]] = Field(None, title="slugified entry or slug") + 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, SlugifiedEntryOrSlug60]] = Field(None, title="slugified entry or slug") + 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, SlugifiedEntryOrSlug61]] = Field(None, title="slugified entry or slug") + 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, SlugifiedEntryOrSlug62]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug112]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/models_directory/gga.py b/src/py/mat3ra/esse/models/models_directory/gga.py index 3fc490c34..b2bfed6e7 100644 --- a/src/py/mat3ra/esse/models/models_directory/gga.py +++ b/src/py/mat3ra/esse/models/models_directory/gga.py @@ -25,19 +25,19 @@ class SlugifiedEntryOrSlug(Enum): gga = "gga" -class SlugifiedEntryOrSlug86(Enum): +class SlugifiedEntryOrSlug137(Enum): ksdft = "ksdft" -class SlugifiedEntryOrSlug87(Enum): +class SlugifiedEntryOrSlug138(Enum): dft = "dft" -class SlugifiedEntryOrSlug88(Enum): +class SlugifiedEntryOrSlug139(Enum): qm = "qm" -class SlugifiedEntryOrSlug89(Enum): +class SlugifiedEntryOrSlug140(Enum): pb = "pb" @@ -46,19 +46,19 @@ class DFTGGAFunctionalCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug86]] = Field(None, title="slugified entry or slug") + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug137]] = 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") + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug138]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug139]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug140]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/models_directory/gw.py b/src/py/mat3ra/esse/models/models_directory/gw.py index 43dc3321c..1a8dc578f 100644 --- a/src/py/mat3ra/esse/models/models_directory/gw.py +++ b/src/py/mat3ra/esse/models/models_directory/gw.py @@ -25,21 +25,21 @@ class SlugifiedEntryOrSlug(Enum): gw = "gw" -class SlugifiedEntryOrSlug96(Enum): +class SlugifiedEntryOrSlug147(Enum): g0w0 = "g0w0" evgw0 = "evgw0" evgw = "evgw" -class SlugifiedEntryOrSlug97(Enum): +class SlugifiedEntryOrSlug148(Enum): abin = "abin" -class SlugifiedEntryOrSlug98(Enum): +class SlugifiedEntryOrSlug149(Enum): qm = "qm" -class SlugifiedEntryOrSlug99(Enum): +class SlugifiedEntryOrSlug150(Enum): pb = "pb" @@ -48,19 +48,19 @@ class GWCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug96]] = Field(None, title="slugified entry or slug") + subtype: 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, SlugifiedEntryOrSlug97]] = Field(None, title="slugified entry or slug") + 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, SlugifiedEntryOrSlug98]] = Field(None, title="slugified entry or slug") + 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, SlugifiedEntryOrSlug99]] = Field(None, title="slugified entry or slug") + 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/src/py/mat3ra/esse/models/models_directory/hybrid.py b/src/py/mat3ra/esse/models/models_directory/hybrid.py index a7b46b54c..045b2421a 100644 --- a/src/py/mat3ra/esse/models/models_directory/hybrid.py +++ b/src/py/mat3ra/esse/models/models_directory/hybrid.py @@ -25,19 +25,19 @@ class SlugifiedEntryOrSlug(Enum): hybrid = "hybrid" -class SlugifiedEntryOrSlug109(Enum): +class SlugifiedEntryOrSlug160(Enum): ksdft = "ksdft" -class SlugifiedEntryOrSlug110(Enum): +class SlugifiedEntryOrSlug161(Enum): dft = "dft" -class SlugifiedEntryOrSlug111(Enum): +class SlugifiedEntryOrSlug162(Enum): qm = "qm" -class SlugifiedEntryOrSlug112(Enum): +class SlugifiedEntryOrSlug163(Enum): pb = "pb" @@ -46,19 +46,19 @@ class DFTHybridFunctionalCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug109]] = Field(None, title="slugified entry or slug") + type: 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, SlugifiedEntryOrSlug110]] = Field(None, title="slugified entry or slug") + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug161]] = 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") + 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, SlugifiedEntryOrSlug112]] = Field(None, title="slugified entry or slug") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug163]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/models_directory/lda.py b/src/py/mat3ra/esse/models/models_directory/lda.py index 8ff3d3c4a..347a5ad0d 100644 --- a/src/py/mat3ra/esse/models/models_directory/lda.py +++ b/src/py/mat3ra/esse/models/models_directory/lda.py @@ -25,19 +25,19 @@ class SlugifiedEntryOrSlug(Enum): lda = "lda" -class SlugifiedEntryOrSlug129(Enum): +class SlugifiedEntryOrSlug210(Enum): ksdft = "ksdft" -class SlugifiedEntryOrSlug130(Enum): +class SlugifiedEntryOrSlug211(Enum): dft = "dft" -class SlugifiedEntryOrSlug131(Enum): +class SlugifiedEntryOrSlug212(Enum): qm = "qm" -class SlugifiedEntryOrSlug132(Enum): +class SlugifiedEntryOrSlug213(Enum): pb = "pb" @@ -46,19 +46,19 @@ class DFTLDAFunctionalCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug129]] = Field(None, title="slugified entry or slug") + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug210]] = 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") + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug211]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug212]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug213]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/models_directory/mgga.py b/src/py/mat3ra/esse/models/models_directory/mgga.py index 5f66db265..50cfee43e 100644 --- a/src/py/mat3ra/esse/models/models_directory/mgga.py +++ b/src/py/mat3ra/esse/models/models_directory/mgga.py @@ -25,19 +25,19 @@ class SlugifiedEntryOrSlug(Enum): mgga = "mgga" -class SlugifiedEntryOrSlug152(Enum): +class SlugifiedEntryOrSlug248(Enum): ksdft = "ksdft" -class SlugifiedEntryOrSlug153(Enum): +class SlugifiedEntryOrSlug249(Enum): dft = "dft" -class SlugifiedEntryOrSlug154(Enum): +class SlugifiedEntryOrSlug250(Enum): qm = "qm" -class SlugifiedEntryOrSlug155(Enum): +class SlugifiedEntryOrSlug251(Enum): pb = "pb" @@ -46,19 +46,19 @@ class DFTMetaGGAFunctionalCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug152]] = Field(None, title="slugified entry or slug") + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug248]] = 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") + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug249]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug250]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug251]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/models_directory/re.py b/src/py/mat3ra/esse/models/models_directory/re.py index 06a342232..c75f74cb0 100644 --- a/src/py/mat3ra/esse/models/models_directory/re.py +++ b/src/py/mat3ra/esse/models/models_directory/re.py @@ -25,15 +25,15 @@ class SlugifiedEntryOrSlug(Enum): re = "re" -class SlugifiedEntryOrSlug230(Enum): +class SlugifiedEntryOrSlug356(Enum): ml = "ml" -class SlugifiedEntryOrSlug231(Enum): +class SlugifiedEntryOrSlug357(Enum): det = "det" -class SlugifiedEntryOrSlug232(Enum): +class SlugifiedEntryOrSlug358(Enum): st = "st" @@ -42,15 +42,15 @@ class RegressionModelCategorySchema(BaseModel): """ contains either object with slugified entry or slug only as a string """ - tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug230]] = Field(None, title="slugified entry or slug") + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug356]] = 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") + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug357]] = 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") + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug358]] = Field(None, title="slugified entry or slug") """ contains either object with slugified entry or slug only as a string """ diff --git a/src/py/mat3ra/esse/models/process/__init__.py b/src/py/mat3ra/esse/models/process/__init__.py new file mode 100644 index 000000000..50aa1b91f --- /dev/null +++ b/src/py/mat3ra/esse/models/process/__init__.py @@ -0,0 +1,1477 @@ +# generated by datamodel-codegen: +# filename: process.json +# version: 0.28.5 + +from __future__ import annotations + +from datetime import datetime +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, conint + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + synthesis = "synthesis" + + +class SlugifiedEntryOrSlug305(Enum): + vapor_deposition = "vapor_deposition" + solution_processing = "solution_processing" + bulk_growth = "bulk_growth" + post_processing = "post_processing" + + +class SlugifiedEntryOrSlug306(Enum): + physical_vapor_deposition = "physical_vapor_deposition" + chemical_vapor_deposition = "chemical_vapor_deposition" + annealing = "annealing" + + +class SlugifiedEntryOrSlug307(Enum): + pulsed_laser_deposition = "pulsed_laser_deposition" + sputtering = "sputtering" + molecular_beam_epitaxy = "molecular_beam_epitaxy" + thermal_evaporation = "thermal_evaporation" + electron_beam_evaporation = "electron_beam_evaporation" + atomic_layer_deposition = "atomic_layer_deposition" + plasma_enhanced_atomic_layer_deposition = "plasma_enhanced_atomic_layer_deposition" + thermal_chemical_vapor_deposition = "thermal_chemical_vapor_deposition" + metalorganic_chemical_vapor_deposition = "metalorganic_chemical_vapor_deposition" + plasma_enhanced_chemical_vapor_deposition = "plasma_enhanced_chemical_vapor_deposition" + + +class SlugifiedEntryOrSlug308(Enum): + experimental = "experimental" + + +class SynthesisTechniqueCategorySchema(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 + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug305]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug306]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug307]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug308]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class SlugifiedEntryOrSlug309(Enum): + characterization = "characterization" + + +class SlugifiedEntryOrSlug310(Enum): + microscopy = "microscopy" + spectroscopy = "spectroscopy" + diffraction = "diffraction" + electrical = "electrical" + optical = "optical" + + +class SlugifiedEntryOrSlug311(Enum): + scanning_probe_microscopy = "scanning_probe_microscopy" + electron_microscopy = "electron_microscopy" + x_ray = "x_ray" + transport = "transport" + dielectric = "dielectric" + ultraviolet_visible_near_infrared = "ultraviolet_visible_near_infrared" + + +class SlugifiedEntryOrSlug312(Enum): + atomic_force_microscopy = "atomic_force_microscopy" + scanning_tunneling_microscopy = "scanning_tunneling_microscopy" + scanning_tunneling_spectroscopy = "scanning_tunneling_spectroscopy" + piezoresponse_force_microscopy = "piezoresponse_force_microscopy" + kelvin_probe_force_microscopy = "kelvin_probe_force_microscopy" + conductive_atomic_force_microscopy = "conductive_atomic_force_microscopy" + magnetic_force_microscopy = "magnetic_force_microscopy" + + +class SlugifiedEntryOrSlug313(Enum): + experimental = "experimental" + + +class CharacterizationTechniqueCategorySchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug309]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug310]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug311]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug312]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug313]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class SlugifiedEntryOrSlug314(Enum): + synthesis = "synthesis" + + +class SlugifiedEntryOrSlug315(Enum): + vapor_deposition = "vapor_deposition" + solution_processing = "solution_processing" + bulk_growth = "bulk_growth" + post_processing = "post_processing" + + +class SlugifiedEntryOrSlug316(Enum): + physical_vapor_deposition = "physical_vapor_deposition" + chemical_vapor_deposition = "chemical_vapor_deposition" + annealing = "annealing" + + +class SlugifiedEntryOrSlug317(Enum): + pulsed_laser_deposition = "pulsed_laser_deposition" + sputtering = "sputtering" + molecular_beam_epitaxy = "molecular_beam_epitaxy" + thermal_evaporation = "thermal_evaporation" + electron_beam_evaporation = "electron_beam_evaporation" + atomic_layer_deposition = "atomic_layer_deposition" + plasma_enhanced_atomic_layer_deposition = "plasma_enhanced_atomic_layer_deposition" + thermal_chemical_vapor_deposition = "thermal_chemical_vapor_deposition" + metalorganic_chemical_vapor_deposition = "metalorganic_chemical_vapor_deposition" + plasma_enhanced_chemical_vapor_deposition = "plasma_enhanced_chemical_vapor_deposition" + + +class SlugifiedEntryOrSlug318(Enum): + experimental = "experimental" + + +class SynthesisTechniqueCategorySchema9(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug314]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug315]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug316]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug317]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug318]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class SlugifiedEntryOrSlug319(Enum): + characterization = "characterization" + + +class SlugifiedEntryOrSlug320(Enum): + microscopy = "microscopy" + spectroscopy = "spectroscopy" + diffraction = "diffraction" + electrical = "electrical" + optical = "optical" + + +class SlugifiedEntryOrSlug321(Enum): + scanning_probe_microscopy = "scanning_probe_microscopy" + electron_microscopy = "electron_microscopy" + x_ray = "x_ray" + transport = "transport" + dielectric = "dielectric" + ultraviolet_visible_near_infrared = "ultraviolet_visible_near_infrared" + + +class SlugifiedEntryOrSlug322(Enum): + atomic_force_microscopy = "atomic_force_microscopy" + scanning_tunneling_microscopy = "scanning_tunneling_microscopy" + scanning_tunneling_spectroscopy = "scanning_tunneling_spectroscopy" + piezoresponse_force_microscopy = "piezoresponse_force_microscopy" + kelvin_probe_force_microscopy = "kelvin_probe_force_microscopy" + conductive_atomic_force_microscopy = "conductive_atomic_force_microscopy" + magnetic_force_microscopy = "magnetic_force_microscopy" + + +class SlugifiedEntryOrSlug323(Enum): + experimental = "experimental" + + +class CharacterizationTechniqueCategorySchema12(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug319]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug320]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug321]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug322]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug323]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class Kind(Enum): + target = "target" + + +class Supply(Enum): + rf = "rf" + dc = "dc" + pulsed_dc = "pulsed_dc" + hipims = "hipims" + + +class Units(Enum): + W = "W" + mW = "mW" + kW = "kW" + + +class Forward(BaseModel): + value: Optional[float] = None + units: Optional[Units] = None + + +class Reflected(BaseModel): + value: Optional[float] = None + units: Optional[Units] = None + + +class Power(BaseModel): + forward: Optional[Forward] = None + reflected: Optional[Reflected] = None + + +class Units370(Enum): + V = "V" + mV = "mV" + uV = "uV" + kV = "kV" + + +class VoltageQuantitySchema(BaseModel): + units: Units370 + value: float + + +class Units371(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Purity(BaseModel): + value: Optional[float] = None + units: Optional[Units371] = None + + +class Cls(Enum): + Material = "Material" + + +class MaterialEntityReferenceSchema(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class SputteringTargetSourceSchema(BaseModel): + kind: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + position: Optional[str] = None + """ + Gun position in the chamber, e.g. TL or BC in a multi-gun system. + """ + supply: Optional[Supply] = None + """ + Type of power supply driving the target. + """ + power: Optional[Power] = None + """ + Forward and reflected power at the target. + """ + voltage: Optional[VoltageQuantitySchema] = Field(None, title="voltage quantity schema") + """ + A scalar with voltage units, e.g. a sample bias or drive amplitude. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + gunAngle: Optional[float] = None + """ + Tilt of the gun toward the substrate, which sets the composition gradient in a combinatorial deposition. + """ + id: str + """ + Identifier for this source within the stage, referenced from a step's setpoints. + """ + name: Optional[str] = None + formula: Optional[str] = None + """ + Chemical formula of the source material, e.g. Al(CH3)3 + """ + purity: Optional[Purity] = None + """ + Purity of the source material. + """ + vendor: Optional[str] = None + material: Optional[MaterialEntityReferenceSchema] = Field( + None, alias="_material", title="Material entity reference schema" + ) + + +class Kind13(Enum): + precursor = "precursor" + + +class Delivery(Enum): + bubbler = "bubbler" + flash_evaporator = "flash_evaporator" + mist = "mist" + direct_liquid_injection = "direct_liquid_injection" + solid_sublimation = "solid_sublimation" + gas_cylinder = "gas_cylinder" + gas_line = "gas_line" + + +class Units372(Enum): + K = "K" + degC = "degC" + + +class TemperatureQuantitySchema(BaseModel): + units: Optional[Units372] = "K" + value: float + + +class Units373(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Purity7(BaseModel): + value: Optional[float] = None + units: Optional[Units373] = None + + +class MaterialEntityReferenceSchema9(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class PrecursorSourceSchema(BaseModel): + kind: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + delivery: Optional[Delivery] = None + """ + How the precursor is brought into the chamber. + """ + vesselTemperature: Optional[TemperatureQuantitySchema] = Field(None, title="temperature quantity schema") + """ + A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + carrierGasId: Optional[str] = None + """ + Identifier of the gas source carrying this precursor. + """ + id: str + """ + Identifier for this source within the stage, referenced from a step's setpoints. + """ + name: Optional[str] = None + formula: Optional[str] = None + """ + Chemical formula of the source material, e.g. Al(CH3)3 + """ + purity: Optional[Purity7] = None + """ + Purity of the source material. + """ + vendor: Optional[str] = None + material: Optional[MaterialEntityReferenceSchema9] = Field( + None, alias="_material", title="Material entity reference schema" + ) + + +class Kind14(Enum): + gas = "gas" + + +class Role(Enum): + carrier = "carrier" + reactive = "reactive" + purge = "purge" + sputtering = "sputtering" + plasma = "plasma" + background = "background" + + +class Units374(Enum): + sccm = "sccm" + slm = "slm" + + +class FlowRate(BaseModel): + value: Optional[float] = None + units: Optional[Units374] = None + + +class Units375(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Purity8(BaseModel): + value: Optional[float] = None + units: Optional[Units375] = None + + +class MaterialEntityReferenceSchema10(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class ProcessGasSourceSchema(BaseModel): + kind: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + role: Optional[Role] = None + """ + What the gas does in the process. + """ + flowRate: Optional[FlowRate] = None + """ + Flow rate of the gas. + """ + id: str + """ + Identifier for this source within the stage, referenced from a step's setpoints. + """ + name: Optional[str] = None + formula: Optional[str] = None + """ + Chemical formula of the source material, e.g. Al(CH3)3 + """ + purity: Optional[Purity8] = None + """ + Purity of the source material. + """ + vendor: Optional[str] = None + material: Optional[MaterialEntityReferenceSchema10] = Field( + None, alias="_material", title="Material entity reference schema" + ) + + +class ProcessSourceSchema( + RootModel[Union[SputteringTargetSourceSchema, PrecursorSourceSchema, ProcessGasSourceSchema]] +): + root: Union[SputteringTargetSourceSchema, PrecursorSourceSchema, ProcessGasSourceSchema] = Field( + ..., discriminator="kind", title="process source schema" + ) + """ + A material source a deposition draws on. Discriminated on kind, the way a workflow unit is discriminated on type: a sputtering target, a chemical precursor and a process gas are described by different fields. + """ + + +class Units376(Enum): + K = "K" + degC = "degC" + + +class TemperatureQuantitySchema8(BaseModel): + units: Optional[Units376] = "K" + value: float + + +class Units377(Enum): + kbar = "kbar" + pa = "pa" + Torr = "Torr" + mTorr = "mTorr" + mbar = "mbar" + bar = "bar" + atm = "atm" + + +class PressureQuantitySchema(BaseModel): + units: Units377 + value: float + + +class Atmosphere(Enum): + ambient = "ambient" + vacuum = "vacuum" + high_vacuum = "high_vacuum" + ultra_high_vacuum = "ultra_high_vacuum" + nitrogen = "nitrogen" + argon = "argon" + oxygen = "oxygen" + forming_gas = "forming_gas" + liquid = "liquid" + other = "other" + + +class Units378(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Humidity(BaseModel): + value: Optional[float] = None + units: Optional[Units378] = None + + +class EnvironmentSchema(BaseModel): + temperature: Optional[TemperatureQuantitySchema8] = Field(None, title="temperature quantity schema") + """ + A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + pressure: Optional[PressureQuantitySchema] = Field(None, title="pressure quantity schema") + """ + A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + atmosphere: Optional[Atmosphere] = None + """ + Gas or vacuum the sample sits in. + """ + humidity: Optional[Humidity] = None + """ + Relative humidity, as a percentage. + """ + + +class Type(Enum): + setup = "setup" + pump_down = "pump_down" + heat = "heat" + ramp = "ramp" + hold = "hold" + pre_sputter = "pre_sputter" + deposition = "deposition" + pulse = "pulse" + purge = "purge" + plasma = "plasma" + cycle = "cycle" + anneal = "anneal" + cool = "cool" + vent = "vent" + transfer = "transfer" + subsample = "subsample" + other = "other" + + +class Units379(Enum): + s = "s" + ms = "ms" + us = "us" + ns = "ns" + min = "min" + h = "h" + + +class TimeQuantitySchema(BaseModel): + units: Optional[Units379] = "s" + value: float + + +class Units380(Enum): + K = "K" + degC = "degC" + + +class TemperatureQuantitySchema9(BaseModel): + units: Optional[Units380] = "K" + value: float + + +class Units381(Enum): + kbar = "kbar" + pa = "pa" + Torr = "Torr" + mTorr = "mTorr" + mbar = "mbar" + bar = "bar" + atm = "atm" + + +class PressureQuantitySchema7(BaseModel): + units: Units381 + value: float + + +class Units382(Enum): + sccm = "sccm" + slm = "slm" + + +class FlowRate4(BaseModel): + value: Optional[float] = None + units: Optional[Units382] = None + + +class Units383(Enum): + W = "W" + mW = "mW" + kW = "kW" + + +class Power3(BaseModel): + value: Optional[float] = None + units: Optional[Units383] = None + + +class Units384(Enum): + rpm = "rpm" + + +class SubstrateRotation(BaseModel): + value: Optional[float] = None + units: Optional[Units384] = None + + +class Setpoints(BaseModel): + temperature: Optional[TemperatureQuantitySchema9] = Field(None, title="temperature quantity schema") + """ + A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + pressure: Optional[PressureQuantitySchema7] = Field(None, title="pressure quantity schema") + """ + A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + sourceId: Optional[str] = None + """ + Identifier of the source in the stage's sources list that this step draws on. + """ + flowRate: Optional[FlowRate4] = None + """ + Gas flow rate held during the step. + """ + power: Optional[Power3] = None + """ + Power applied during the step, e.g. to a plasma source. + """ + substrateRotation: Optional[SubstrateRotation] = None + """ + Substrate rotation rate held during the step. + """ + + +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") + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class ProcessStepSchema(BaseModel): + type: Type + """ + What the step does. + """ + duration: Optional[TimeQuantitySchema] = Field(None, title="time quantity schema") + """ + A scalar with time units, e.g. a process step duration. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + repeat: Optional[conint(ge=1)] = 1 + """ + Number of times this step is repeated, e.g. the number of atomic layer deposition cycles. + """ + setpoints: Optional[Setpoints] = None + """ + Values held or targeted during the step. + """ + logs: Optional[List[Field2DimensionPlotSchema]] = None + """ + Quantities logged over time during the step, as plots against a time axis. A measured trace and its setpoint are two series on one plot. + """ + 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 + """ + isDraft: Optional[bool] = None + 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 + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + + +class Units385(Enum): + s = "s" + ms = "ms" + us = "us" + ns = "ns" + min = "min" + h = "h" + + +class TimeQuantitySchema3(BaseModel): + units: Optional[Units385] = "s" + value: float + + +class SlugifiedEntryOrSlug324(Enum): + characterization = "characterization" + + +class SlugifiedEntryOrSlug325(Enum): + microscopy = "microscopy" + spectroscopy = "spectroscopy" + diffraction = "diffraction" + electrical = "electrical" + optical = "optical" + + +class SlugifiedEntryOrSlug326(Enum): + scanning_probe_microscopy = "scanning_probe_microscopy" + electron_microscopy = "electron_microscopy" + x_ray = "x_ray" + transport = "transport" + dielectric = "dielectric" + ultraviolet_visible_near_infrared = "ultraviolet_visible_near_infrared" + + +class SlugifiedEntryOrSlug327(Enum): + atomic_force_microscopy = "atomic_force_microscopy" + scanning_tunneling_microscopy = "scanning_tunneling_microscopy" + scanning_tunneling_spectroscopy = "scanning_tunneling_spectroscopy" + piezoresponse_force_microscopy = "piezoresponse_force_microscopy" + kelvin_probe_force_microscopy = "kelvin_probe_force_microscopy" + conductive_atomic_force_microscopy = "conductive_atomic_force_microscopy" + magnetic_force_microscopy = "magnetic_force_microscopy" + + +class SlugifiedEntryOrSlug328(Enum): + experimental = "experimental" + + +class CharacterizationTechniqueCategorySchema13(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug324]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug325]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug326]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug327]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug328]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class SlugifiedEntryOrSlug329(Enum): + synthesis = "synthesis" + + +class SlugifiedEntryOrSlug330(Enum): + vapor_deposition = "vapor_deposition" + solution_processing = "solution_processing" + bulk_growth = "bulk_growth" + post_processing = "post_processing" + + +class SlugifiedEntryOrSlug331(Enum): + physical_vapor_deposition = "physical_vapor_deposition" + chemical_vapor_deposition = "chemical_vapor_deposition" + annealing = "annealing" + + +class SlugifiedEntryOrSlug332(Enum): + pulsed_laser_deposition = "pulsed_laser_deposition" + sputtering = "sputtering" + molecular_beam_epitaxy = "molecular_beam_epitaxy" + thermal_evaporation = "thermal_evaporation" + electron_beam_evaporation = "electron_beam_evaporation" + atomic_layer_deposition = "atomic_layer_deposition" + plasma_enhanced_atomic_layer_deposition = "plasma_enhanced_atomic_layer_deposition" + thermal_chemical_vapor_deposition = "thermal_chemical_vapor_deposition" + metalorganic_chemical_vapor_deposition = "metalorganic_chemical_vapor_deposition" + plasma_enhanced_chemical_vapor_deposition = "plasma_enhanced_chemical_vapor_deposition" + + +class SlugifiedEntryOrSlug333(Enum): + experimental = "experimental" + + +class SynthesisTechniqueCategorySchema10(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug329]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug330]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug331]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug332]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug333]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class Kind15(Enum): + probe = "probe" + cantilever = "cantilever" + scanner = "scanner" + laser = "laser" + detector = "detector" + lock_in_amplifier = "lock_in_amplifier" + controller = "controller" + heater = "heater" + cryostat = "cryostat" + chamber = "chamber" + stage = "stage" + evaporation_source = "evaporation_source" + target_holder = "target_holder" + gas_line = "gas_line" + mass_flow_controller = "mass_flow_controller" + pump = "pump" + gauge = "gauge" + other = "other" + + +class InstrumentComponentSchema(BaseModel): + kind: Kind15 + name: str + vendor: Optional[str] = None + model: Optional[str] = None + serialNumber: Optional[str] = None + parameters: Optional[Dict[str, Any]] = None + """ + Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever. + """ + + +class RunConfig(BaseModel): + commandTemplate: str + """ + The command template of the application + """ + outFileName: str + """ + The output file name of the application + """ + + +class ApplicationSchema(BaseModel): + 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 + """ + isDefaultVersion: Optional[bool] = None + """ + Whether the version is the default version + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + isUsingMaterial: Optional[bool] = None + """ + Whether the application is using (being passed during a downstream processing routine) a material structure. + """ + runConfig: Optional[RunConfig] = None + """ + The run configuration of the application + """ + + +class Location(BaseModel): + facility: Optional[str] = None + laboratory: Optional[str] = None + room: Optional[str] = None + + +class InstrumentSchema(BaseModel): + 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: Optional[str] = None + """ + The short name of the instrument, e.g. jupiter, pdac_com5 + """ + summary: Optional[str] = None + """ + Instrument's short description. + """ + vendor: Optional[str] = None + """ + Manufacturer of the instrument, e.g. Asylum Research + """ + model: Optional[str] = None + """ + Model name, e.g. Jupiter + """ + serialNumber: Optional[str] = None + """ + Vendor serial number identifying this particular unit. + """ + firmware: Optional[str] = None + """ + Controller or acquisition-software version, the analogue of an application version, e.g. 19.34.88 + """ + techniques: Optional[List[Union[CharacterizationTechniqueCategorySchema13, SynthesisTechniqueCategorySchema10]]] = ( + None + ) + """ + Techniques this instrument can perform. + """ + components: Optional[List[InstrumentComponentSchema]] = None + """ + Parts of the instrument that matter to a result, e.g. the probe a scan was taken with or the source a film was grown from. + """ + controlSoftware: Optional[List[ApplicationSchema]] = None + """ + Software driving the instrument, reusing the application entity rather than restating a name and a version. + """ + location: Optional[Location] = None + """ + Where the instrument is, which for a multi-institution project is part of the provenance. + """ + + +class Status56(Enum): + draft = "draft" + planned = "planned" + active = "active" + finished = "finished" + error = "error" + cancelled = "cancelled" + + +class EntityReferenceSchema(BaseModel): + id: str = Field(..., alias="_id") + """ + entity identity + """ + cls: Optional[str] = None + """ + entity class + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class Operator(BaseModel): + name: str + """ + Operator's name as recorded, e.g. a username. + """ + affiliation: Optional[str] = None + """ + Institution the operator belongs to. + """ + account: Optional[EntityReferenceSchema] = Field(None, alias="_account", title="entity reference schema") + + +class ProcessStageSchema(BaseModel): + index: Optional[conint(ge=1)] = None + """ + Order of the stage within the process, starting at 1. + """ + categories: Union[SynthesisTechniqueCategorySchema9, CharacterizationTechniqueCategorySchema12] + """ + Technique this stage applies. + """ + sources: Optional[List[ProcessSourceSchema]] = None + """ + Material sources available to the steps of this stage: sputtering targets, precursors, process gases. + """ + environment: Optional[EnvironmentSchema] = Field(None, title="environment schema") + """ + Ambient or chamber conditions during a measurement or a process step. + """ + parameters: Optional[Dict[str, Any]] = None + """ + Technique-specific parameters. Unconstrained here, the way a model's parameters are unconstrained until a models_directory entry narrows them; technique blocks such as measurement/parameters/scanning_probe_microscopy describe the expected shape and will be bound per technique by catalogue entries in a later phase. + """ + steps: List[ProcessStepSchema] + """ + Ordered steps of the stage, the analogue of a subworkflow's units. + """ + duration: Optional[TimeQuantitySchema3] = Field(None, title="time quantity schema") + """ + A scalar with time units, e.g. a process step duration. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + notes: Optional[str] = None + """ + Operator notes, kept verbatim: laboratory records carry context that no schema anticipates. + """ + 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 + """ + instrument: Optional[InstrumentSchema] = Field(None, title="instrument schema") + """ + A physical apparatus used to measure or fabricate a sample: a microscope, a deposition chamber, a furnace. The experimental mirror of software/application, composed the same way, because what an application is to a job an instrument is to a measurement. + """ + status: Optional[Status56] = None + """ + Lifecycle state. 'draft' marks a recipe or protocol that has not been executed. + """ + startTime: Optional[datetime] = None + """ + When the activity started, as an ISO 8601 timestamp. A string rather than an epoch number so it stays readable without a converter, matching job.startTime. + """ + endTime: Optional[datetime] = None + """ + When the activity finished, as an ISO 8601 timestamp. + """ + operators: Optional[List[Operator]] = None + """ + People who ran the activity. A name and an optional affiliation rather than the bibliographic author shape used for citations: a laboratory record identifies an operator by whatever the instrument logged, often a single username, and a citation's requirement of a surname does not hold there. + """ + project: Optional[EntityReferenceSchema] = Field(None, alias="_project", title="entity reference schema") + + +class Cls20(Enum): + Sample = "Sample" + + +class SampleEntityReferenceSchema(BaseModel): + cls: Optional[Cls20] = None + """ + Sample class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class SampleEntityReferenceSchema6(BaseModel): + cls: Optional[Cls20] = None + """ + Sample class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class Scheme(Enum): + internal = "internal" + htem = "htem" + lmc = "lmc" + igsn = "igsn" + doi = "doi" + barcode = "barcode" + vendor = "vendor" + other = "other" + + +class IdentifierSchema(BaseModel): + scheme: Scheme + """ + Namespace the value is unique within. + """ + value: str + """ + The identifier itself. + """ + + +class Format(Enum): + asylum_ibw = "asylum_ibw" + nanonis_sxm = "nanonis_sxm" + nanonis_dat = "nanonis_dat" + gwyddion_gwy = "gwyddion_gwy" + bruker_nanoscope = "bruker_nanoscope" + nexus_hdf5 = "nexus_hdf5" + usid_hdf5 = "usid_hdf5" + hdf5 = "hdf5" + npy = "npy" + csv = "csv" + tsv = "tsv" + xlsx = "xlsx" + tiff = "tiff" + png = "png" + json = "json" + txt = "txt" + other = "other" + + +class Algorithm(Enum): + md5 = "md5" + sha1 = "sha1" + sha256 = "sha256" + + +class Checksum(BaseModel): + algorithm: Algorithm + value: str + + +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 Role12(Enum): + raw = "raw" + processed = "processed" + log = "log" + image = "image" + metadata = "metadata" + other = "other" + + +class FileReferenceSchema(BaseModel): + format: Optional[Format] = None + """ + Vendor or interchange format the file is written in. + """ + size: Optional[conint(ge=0)] = None + """ + Size of the file in bytes. + """ + checksum: Optional[Checksum] = None + """ + Content hash, so a referenced file can be identified after it moves. + """ + url: Optional[str] = None + """ + Location the file can be retrieved from. + """ + objectData: Optional[ObjectStorageContainerData] = Field(None, title="Object Storage Container Data") + role: Optional[Role12] = None + """ + What the file is to the record that references it. + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: str + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class Operator6(BaseModel): + name: str + """ + Operator's name as recorded, e.g. a username. + """ + affiliation: Optional[str] = None + """ + Institution the operator belongs to. + """ + account: Optional[EntityReferenceSchema] = Field(None, alias="_account", title="entity reference schema") + + +class ProcessSchema(BaseModel): + 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 + """ + metadata: Optional[Dict[str, Any]] = None + categories: Union[SynthesisTechniqueCategorySchema, CharacterizationTechniqueCategorySchema] + """ + Technique this process applies. A measurement protocol is a process with characterization categories, which is why both branches are allowed; anyOf rather than oneOf because a record classified only to tier1 satisfies both and must not be rejected as ambiguous. + """ + properties: Optional[List[str]] = None + """ + Array of characteristic properties produced by this process, by name, e.g. film_thickness + """ + stages: List[ProcessStageSchema] + """ + Ordered stages, the analogue of workflow.subworkflows. A stage is the level that binds a technique and an instrument, because a run can move between chambers. + """ + inputSamples: Optional[List[SampleEntityReferenceSchema]] = Field(None, alias="_inputSamples") + """ + Subsets of the full information about the samples consumed, e.g. the substrates loaded into the chamber. + """ + outputSamples: Optional[List[SampleEntityReferenceSchema6]] = Field(None, alias="_outputSamples") + """ + Subsets of the full information about the samples produced or modified by the run. + """ + identifiers: Optional[List[IdentifierSchema]] = None + """ + Identifiers this run carries in other systems, e.g. a lab-system run number. + """ + logFiles: Optional[List[FileReferenceSchema]] = None + """ + Tool logs this record was derived from. + """ + status: Optional[Status56] = None + """ + Lifecycle state. 'draft' marks a recipe or protocol that has not been executed. + """ + startTime: Optional[datetime] = None + """ + When the activity started, as an ISO 8601 timestamp. A string rather than an epoch number so it stays readable without a converter, matching job.startTime. + """ + endTime: Optional[datetime] = None + """ + When the activity finished, as an ISO 8601 timestamp. + """ + operators: Optional[List[Operator6]] = None + """ + People who ran the activity. A name and an optional affiliation rather than the bibliographic author shape used for citations: a laboratory record identifies an operator by whatever the instrument logged, often a single username, and a citation's requirement of a surname does not hold there. + """ + project: Optional[EntityReferenceSchema] = Field(None, alias="_project", title="entity reference schema") + description: Optional[str] = None + """ + entity description + """ + descriptionObject: Optional[Dict[str, Any]] = None + tags: Optional[List[str]] = None + """ + entity tags + """ diff --git a/src/py/mat3ra/esse/models/process/base.py b/src/py/mat3ra/esse/models/process/base.py new file mode 100644 index 000000000..97183c1a8 --- /dev/null +++ b/src/py/mat3ra/esse/models/process/base.py @@ -0,0 +1,1450 @@ +# generated by datamodel-codegen: +# filename: process/base.json +# version: 0.28.5 + +from __future__ import annotations + +from datetime import datetime +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, conint + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + synthesis = "synthesis" + + +class SlugifiedEntryOrSlug10(Enum): + vapor_deposition = "vapor_deposition" + solution_processing = "solution_processing" + bulk_growth = "bulk_growth" + post_processing = "post_processing" + + +class SlugifiedEntryOrSlug11(Enum): + physical_vapor_deposition = "physical_vapor_deposition" + chemical_vapor_deposition = "chemical_vapor_deposition" + annealing = "annealing" + + +class SlugifiedEntryOrSlug12(Enum): + pulsed_laser_deposition = "pulsed_laser_deposition" + sputtering = "sputtering" + molecular_beam_epitaxy = "molecular_beam_epitaxy" + thermal_evaporation = "thermal_evaporation" + electron_beam_evaporation = "electron_beam_evaporation" + atomic_layer_deposition = "atomic_layer_deposition" + plasma_enhanced_atomic_layer_deposition = "plasma_enhanced_atomic_layer_deposition" + thermal_chemical_vapor_deposition = "thermal_chemical_vapor_deposition" + metalorganic_chemical_vapor_deposition = "metalorganic_chemical_vapor_deposition" + plasma_enhanced_chemical_vapor_deposition = "plasma_enhanced_chemical_vapor_deposition" + + +class SlugifiedEntryOrSlug13(Enum): + experimental = "experimental" + + +class SynthesisTechniqueCategorySchema(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 + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug10]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug11]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: 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 + """ + + +class SlugifiedEntryOrSlug14(Enum): + characterization = "characterization" + + +class SlugifiedEntryOrSlug15(Enum): + microscopy = "microscopy" + spectroscopy = "spectroscopy" + diffraction = "diffraction" + electrical = "electrical" + optical = "optical" + + +class SlugifiedEntryOrSlug16(Enum): + scanning_probe_microscopy = "scanning_probe_microscopy" + electron_microscopy = "electron_microscopy" + x_ray = "x_ray" + transport = "transport" + dielectric = "dielectric" + ultraviolet_visible_near_infrared = "ultraviolet_visible_near_infrared" + + +class SlugifiedEntryOrSlug17(Enum): + atomic_force_microscopy = "atomic_force_microscopy" + scanning_tunneling_microscopy = "scanning_tunneling_microscopy" + scanning_tunneling_spectroscopy = "scanning_tunneling_spectroscopy" + piezoresponse_force_microscopy = "piezoresponse_force_microscopy" + kelvin_probe_force_microscopy = "kelvin_probe_force_microscopy" + conductive_atomic_force_microscopy = "conductive_atomic_force_microscopy" + magnetic_force_microscopy = "magnetic_force_microscopy" + + +class SlugifiedEntryOrSlug18(Enum): + experimental = "experimental" + + +class CharacterizationTechniqueCategorySchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug14]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug15]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug16]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug17]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug18]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class SlugifiedEntryOrSlug19(Enum): + synthesis = "synthesis" + + +class SlugifiedEntryOrSlug20(Enum): + vapor_deposition = "vapor_deposition" + solution_processing = "solution_processing" + bulk_growth = "bulk_growth" + post_processing = "post_processing" + + +class SlugifiedEntryOrSlug21(Enum): + physical_vapor_deposition = "physical_vapor_deposition" + chemical_vapor_deposition = "chemical_vapor_deposition" + annealing = "annealing" + + +class SlugifiedEntryOrSlug22(Enum): + pulsed_laser_deposition = "pulsed_laser_deposition" + sputtering = "sputtering" + molecular_beam_epitaxy = "molecular_beam_epitaxy" + thermal_evaporation = "thermal_evaporation" + electron_beam_evaporation = "electron_beam_evaporation" + atomic_layer_deposition = "atomic_layer_deposition" + plasma_enhanced_atomic_layer_deposition = "plasma_enhanced_atomic_layer_deposition" + thermal_chemical_vapor_deposition = "thermal_chemical_vapor_deposition" + metalorganic_chemical_vapor_deposition = "metalorganic_chemical_vapor_deposition" + plasma_enhanced_chemical_vapor_deposition = "plasma_enhanced_chemical_vapor_deposition" + + +class SlugifiedEntryOrSlug23(Enum): + experimental = "experimental" + + +class SynthesisTechniqueCategorySchema1(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug19]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug20]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug21]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug22]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug23]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class SlugifiedEntryOrSlug24(Enum): + characterization = "characterization" + + +class SlugifiedEntryOrSlug25(Enum): + microscopy = "microscopy" + spectroscopy = "spectroscopy" + diffraction = "diffraction" + electrical = "electrical" + optical = "optical" + + +class SlugifiedEntryOrSlug26(Enum): + scanning_probe_microscopy = "scanning_probe_microscopy" + electron_microscopy = "electron_microscopy" + x_ray = "x_ray" + transport = "transport" + dielectric = "dielectric" + ultraviolet_visible_near_infrared = "ultraviolet_visible_near_infrared" + + +class SlugifiedEntryOrSlug27(Enum): + atomic_force_microscopy = "atomic_force_microscopy" + scanning_tunneling_microscopy = "scanning_tunneling_microscopy" + scanning_tunneling_spectroscopy = "scanning_tunneling_spectroscopy" + piezoresponse_force_microscopy = "piezoresponse_force_microscopy" + kelvin_probe_force_microscopy = "kelvin_probe_force_microscopy" + conductive_atomic_force_microscopy = "conductive_atomic_force_microscopy" + magnetic_force_microscopy = "magnetic_force_microscopy" + + +class SlugifiedEntryOrSlug28(Enum): + experimental = "experimental" + + +class CharacterizationTechniqueCategorySchema1(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug24]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug25]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug26]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: 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 + """ + + +class Kind(Enum): + target = "target" + + +class Supply(Enum): + rf = "rf" + dc = "dc" + pulsed_dc = "pulsed_dc" + hipims = "hipims" + + +class Units(Enum): + W = "W" + mW = "mW" + kW = "kW" + + +class Forward(BaseModel): + value: Optional[float] = None + units: Optional[Units] = None + + +class Reflected(BaseModel): + value: Optional[float] = None + units: Optional[Units] = None + + +class Power(BaseModel): + forward: Optional[Forward] = None + reflected: Optional[Reflected] = None + + +class Units19(Enum): + V = "V" + mV = "mV" + uV = "uV" + kV = "kV" + + +class VoltageQuantitySchema(BaseModel): + units: Units19 + value: float + + +class Units20(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Purity(BaseModel): + value: Optional[float] = None + units: Optional[Units20] = None + + +class Cls(Enum): + Material = "Material" + + +class MaterialEntityReferenceSchema(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class SputteringTargetSourceSchema(BaseModel): + kind: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + position: Optional[str] = None + """ + Gun position in the chamber, e.g. TL or BC in a multi-gun system. + """ + supply: Optional[Supply] = None + """ + Type of power supply driving the target. + """ + power: Optional[Power] = None + """ + Forward and reflected power at the target. + """ + voltage: Optional[VoltageQuantitySchema] = Field(None, title="voltage quantity schema") + """ + A scalar with voltage units, e.g. a sample bias or drive amplitude. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + gunAngle: Optional[float] = None + """ + Tilt of the gun toward the substrate, which sets the composition gradient in a combinatorial deposition. + """ + id: str + """ + Identifier for this source within the stage, referenced from a step's setpoints. + """ + name: Optional[str] = None + formula: Optional[str] = None + """ + Chemical formula of the source material, e.g. Al(CH3)3 + """ + purity: Optional[Purity] = None + """ + Purity of the source material. + """ + vendor: Optional[str] = None + material: Optional[MaterialEntityReferenceSchema] = Field( + None, alias="_material", title="Material entity reference schema" + ) + + +class Kind1(Enum): + precursor = "precursor" + + +class Delivery(Enum): + bubbler = "bubbler" + flash_evaporator = "flash_evaporator" + mist = "mist" + direct_liquid_injection = "direct_liquid_injection" + solid_sublimation = "solid_sublimation" + gas_cylinder = "gas_cylinder" + gas_line = "gas_line" + + +class Units21(Enum): + K = "K" + degC = "degC" + + +class TemperatureQuantitySchema(BaseModel): + units: Optional[Units21] = "K" + value: float + + +class Units22(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Purity1(BaseModel): + value: Optional[float] = None + units: Optional[Units22] = None + + +class MaterialEntityReferenceSchema2(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class PrecursorSourceSchema(BaseModel): + kind: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + delivery: Optional[Delivery] = None + """ + How the precursor is brought into the chamber. + """ + vesselTemperature: Optional[TemperatureQuantitySchema] = Field(None, title="temperature quantity schema") + """ + A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + carrierGasId: Optional[str] = None + """ + Identifier of the gas source carrying this precursor. + """ + id: str + """ + Identifier for this source within the stage, referenced from a step's setpoints. + """ + name: Optional[str] = None + formula: Optional[str] = None + """ + Chemical formula of the source material, e.g. Al(CH3)3 + """ + purity: Optional[Purity1] = None + """ + Purity of the source material. + """ + vendor: Optional[str] = None + material: Optional[MaterialEntityReferenceSchema2] = Field( + None, alias="_material", title="Material entity reference schema" + ) + + +class Kind2(Enum): + gas = "gas" + + +class Role(Enum): + carrier = "carrier" + reactive = "reactive" + purge = "purge" + sputtering = "sputtering" + plasma = "plasma" + background = "background" + + +class Units23(Enum): + sccm = "sccm" + slm = "slm" + + +class FlowRate(BaseModel): + value: Optional[float] = None + units: Optional[Units23] = None + + +class Units24(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Purity2(BaseModel): + value: Optional[float] = None + units: Optional[Units24] = None + + +class MaterialEntityReferenceSchema3(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class ProcessGasSourceSchema(BaseModel): + kind: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + role: Optional[Role] = None + """ + What the gas does in the process. + """ + flowRate: Optional[FlowRate] = None + """ + Flow rate of the gas. + """ + id: str + """ + Identifier for this source within the stage, referenced from a step's setpoints. + """ + name: Optional[str] = None + formula: Optional[str] = None + """ + Chemical formula of the source material, e.g. Al(CH3)3 + """ + purity: Optional[Purity2] = None + """ + Purity of the source material. + """ + vendor: Optional[str] = None + material: Optional[MaterialEntityReferenceSchema3] = Field( + None, alias="_material", title="Material entity reference schema" + ) + + +class ProcessSourceSchema( + RootModel[Union[SputteringTargetSourceSchema, PrecursorSourceSchema, ProcessGasSourceSchema]] +): + root: Union[SputteringTargetSourceSchema, PrecursorSourceSchema, ProcessGasSourceSchema] = Field( + ..., discriminator="kind", title="process source schema" + ) + """ + A material source a deposition draws on. Discriminated on kind, the way a workflow unit is discriminated on type: a sputtering target, a chemical precursor and a process gas are described by different fields. + """ + + +class Units25(Enum): + K = "K" + degC = "degC" + + +class TemperatureQuantitySchema1(BaseModel): + units: Optional[Units25] = "K" + value: float + + +class Units26(Enum): + kbar = "kbar" + pa = "pa" + Torr = "Torr" + mTorr = "mTorr" + mbar = "mbar" + bar = "bar" + atm = "atm" + + +class PressureQuantitySchema(BaseModel): + units: Units26 + value: float + + +class Atmosphere(Enum): + ambient = "ambient" + vacuum = "vacuum" + high_vacuum = "high_vacuum" + ultra_high_vacuum = "ultra_high_vacuum" + nitrogen = "nitrogen" + argon = "argon" + oxygen = "oxygen" + forming_gas = "forming_gas" + liquid = "liquid" + other = "other" + + +class Units27(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Humidity(BaseModel): + value: Optional[float] = None + units: Optional[Units27] = None + + +class EnvironmentSchema(BaseModel): + temperature: Optional[TemperatureQuantitySchema1] = Field(None, title="temperature quantity schema") + """ + A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + pressure: Optional[PressureQuantitySchema] = Field(None, title="pressure quantity schema") + """ + A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + atmosphere: Optional[Atmosphere] = None + """ + Gas or vacuum the sample sits in. + """ + humidity: Optional[Humidity] = None + """ + Relative humidity, as a percentage. + """ + + +class Type(Enum): + setup = "setup" + pump_down = "pump_down" + heat = "heat" + ramp = "ramp" + hold = "hold" + pre_sputter = "pre_sputter" + deposition = "deposition" + pulse = "pulse" + purge = "purge" + plasma = "plasma" + cycle = "cycle" + anneal = "anneal" + cool = "cool" + vent = "vent" + transfer = "transfer" + subsample = "subsample" + other = "other" + + +class Units28(Enum): + s = "s" + ms = "ms" + us = "us" + ns = "ns" + min = "min" + h = "h" + + +class TimeQuantitySchema(BaseModel): + units: Optional[Units28] = "s" + value: float + + +class Units29(Enum): + K = "K" + degC = "degC" + + +class TemperatureQuantitySchema2(BaseModel): + units: Optional[Units29] = "K" + value: float + + +class Units30(Enum): + kbar = "kbar" + pa = "pa" + Torr = "Torr" + mTorr = "mTorr" + mbar = "mbar" + bar = "bar" + atm = "atm" + + +class PressureQuantitySchema1(BaseModel): + units: Units30 + value: float + + +class Units31(Enum): + sccm = "sccm" + slm = "slm" + + +class FlowRate1(BaseModel): + value: Optional[float] = None + units: Optional[Units31] = None + + +class Units32(Enum): + W = "W" + mW = "mW" + kW = "kW" + + +class Power1(BaseModel): + value: Optional[float] = None + units: Optional[Units32] = None + + +class Units33(Enum): + rpm = "rpm" + + +class SubstrateRotation(BaseModel): + value: Optional[float] = None + units: Optional[Units33] = None + + +class Setpoints(BaseModel): + temperature: Optional[TemperatureQuantitySchema2] = Field(None, title="temperature quantity schema") + """ + A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + pressure: Optional[PressureQuantitySchema1] = Field(None, title="pressure quantity schema") + """ + A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + sourceId: Optional[str] = None + """ + Identifier of the source in the stage's sources list that this step draws on. + """ + flowRate: Optional[FlowRate1] = None + """ + Gas flow rate held during the step. + """ + power: Optional[Power1] = None + """ + Power applied during the step, e.g. to a plasma source. + """ + substrateRotation: Optional[SubstrateRotation] = None + """ + Substrate rotation rate held during the step. + """ + + +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") + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class ProcessStepSchema(BaseModel): + type: Type + """ + What the step does. + """ + duration: Optional[TimeQuantitySchema] = Field(None, title="time quantity schema") + """ + A scalar with time units, e.g. a process step duration. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + repeat: Optional[conint(ge=1)] = 1 + """ + Number of times this step is repeated, e.g. the number of atomic layer deposition cycles. + """ + setpoints: Optional[Setpoints] = None + """ + Values held or targeted during the step. + """ + logs: Optional[List[Field2DimensionPlotSchema]] = None + """ + Quantities logged over time during the step, as plots against a time axis. A measured trace and its setpoint are two series on one plot. + """ + 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 + """ + isDraft: Optional[bool] = None + 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 + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + + +class Units34(Enum): + s = "s" + ms = "ms" + us = "us" + ns = "ns" + min = "min" + h = "h" + + +class TimeQuantitySchema1(BaseModel): + units: Optional[Units34] = "s" + value: float + + +class SlugifiedEntryOrSlug29(Enum): + characterization = "characterization" + + +class SlugifiedEntryOrSlug30(Enum): + microscopy = "microscopy" + spectroscopy = "spectroscopy" + diffraction = "diffraction" + electrical = "electrical" + optical = "optical" + + +class SlugifiedEntryOrSlug31(Enum): + scanning_probe_microscopy = "scanning_probe_microscopy" + electron_microscopy = "electron_microscopy" + x_ray = "x_ray" + transport = "transport" + dielectric = "dielectric" + ultraviolet_visible_near_infrared = "ultraviolet_visible_near_infrared" + + +class SlugifiedEntryOrSlug32(Enum): + atomic_force_microscopy = "atomic_force_microscopy" + scanning_tunneling_microscopy = "scanning_tunneling_microscopy" + scanning_tunneling_spectroscopy = "scanning_tunneling_spectroscopy" + piezoresponse_force_microscopy = "piezoresponse_force_microscopy" + kelvin_probe_force_microscopy = "kelvin_probe_force_microscopy" + conductive_atomic_force_microscopy = "conductive_atomic_force_microscopy" + magnetic_force_microscopy = "magnetic_force_microscopy" + + +class SlugifiedEntryOrSlug33(Enum): + experimental = "experimental" + + +class CharacterizationTechniqueCategorySchema2(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug29]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug30]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug31]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug32]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug33]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class SlugifiedEntryOrSlug34(Enum): + synthesis = "synthesis" + + +class SlugifiedEntryOrSlug35(Enum): + vapor_deposition = "vapor_deposition" + solution_processing = "solution_processing" + bulk_growth = "bulk_growth" + post_processing = "post_processing" + + +class SlugifiedEntryOrSlug36(Enum): + physical_vapor_deposition = "physical_vapor_deposition" + chemical_vapor_deposition = "chemical_vapor_deposition" + annealing = "annealing" + + +class SlugifiedEntryOrSlug37(Enum): + pulsed_laser_deposition = "pulsed_laser_deposition" + sputtering = "sputtering" + molecular_beam_epitaxy = "molecular_beam_epitaxy" + thermal_evaporation = "thermal_evaporation" + electron_beam_evaporation = "electron_beam_evaporation" + atomic_layer_deposition = "atomic_layer_deposition" + plasma_enhanced_atomic_layer_deposition = "plasma_enhanced_atomic_layer_deposition" + thermal_chemical_vapor_deposition = "thermal_chemical_vapor_deposition" + metalorganic_chemical_vapor_deposition = "metalorganic_chemical_vapor_deposition" + plasma_enhanced_chemical_vapor_deposition = "plasma_enhanced_chemical_vapor_deposition" + + +class SlugifiedEntryOrSlug38(Enum): + experimental = "experimental" + + +class SynthesisTechniqueCategorySchema2(BaseModel): + tier2: 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, SlugifiedEntryOrSlug35]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug36]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug37]] = 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 + """ + + +class Kind3(Enum): + probe = "probe" + cantilever = "cantilever" + scanner = "scanner" + laser = "laser" + detector = "detector" + lock_in_amplifier = "lock_in_amplifier" + controller = "controller" + heater = "heater" + cryostat = "cryostat" + chamber = "chamber" + stage = "stage" + evaporation_source = "evaporation_source" + target_holder = "target_holder" + gas_line = "gas_line" + mass_flow_controller = "mass_flow_controller" + pump = "pump" + gauge = "gauge" + other = "other" + + +class InstrumentComponentSchema(BaseModel): + kind: Kind3 + name: str + vendor: Optional[str] = None + model: Optional[str] = None + serialNumber: Optional[str] = None + parameters: Optional[Dict[str, Any]] = None + """ + Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever. + """ + + +class RunConfig(BaseModel): + commandTemplate: str + """ + The command template of the application + """ + outFileName: str + """ + The output file name of the application + """ + + +class ApplicationSchema(BaseModel): + 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 + """ + isDefaultVersion: Optional[bool] = None + """ + Whether the version is the default version + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + isUsingMaterial: Optional[bool] = None + """ + Whether the application is using (being passed during a downstream processing routine) a material structure. + """ + runConfig: Optional[RunConfig] = None + """ + The run configuration of the application + """ + + +class Location(BaseModel): + facility: Optional[str] = None + laboratory: Optional[str] = None + room: Optional[str] = None + + +class InstrumentSchema(BaseModel): + 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: Optional[str] = None + """ + The short name of the instrument, e.g. jupiter, pdac_com5 + """ + summary: Optional[str] = None + """ + Instrument's short description. + """ + vendor: Optional[str] = None + """ + Manufacturer of the instrument, e.g. Asylum Research + """ + model: Optional[str] = None + """ + Model name, e.g. Jupiter + """ + serialNumber: Optional[str] = None + """ + Vendor serial number identifying this particular unit. + """ + firmware: Optional[str] = None + """ + Controller or acquisition-software version, the analogue of an application version, e.g. 19.34.88 + """ + techniques: Optional[List[Union[CharacterizationTechniqueCategorySchema2, SynthesisTechniqueCategorySchema2]]] = ( + None + ) + """ + Techniques this instrument can perform. + """ + components: Optional[List[InstrumentComponentSchema]] = None + """ + Parts of the instrument that matter to a result, e.g. the probe a scan was taken with or the source a film was grown from. + """ + controlSoftware: Optional[List[ApplicationSchema]] = None + """ + Software driving the instrument, reusing the application entity rather than restating a name and a version. + """ + location: Optional[Location] = None + """ + Where the instrument is, which for a multi-institution project is part of the provenance. + """ + + +class Status4(Enum): + draft = "draft" + planned = "planned" + active = "active" + finished = "finished" + error = "error" + cancelled = "cancelled" + + +class EntityReferenceSchema(BaseModel): + id: str = Field(..., alias="_id") + """ + entity identity + """ + cls: Optional[str] = None + """ + entity class + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class Operator(BaseModel): + name: str + """ + Operator's name as recorded, e.g. a username. + """ + affiliation: Optional[str] = None + """ + Institution the operator belongs to. + """ + account: Optional[EntityReferenceSchema] = Field(None, alias="_account", title="entity reference schema") + + +class ProcessStageSchema(BaseModel): + index: Optional[conint(ge=1)] = None + """ + Order of the stage within the process, starting at 1. + """ + categories: Union[SynthesisTechniqueCategorySchema1, CharacterizationTechniqueCategorySchema1] + """ + Technique this stage applies. + """ + sources: Optional[List[ProcessSourceSchema]] = None + """ + Material sources available to the steps of this stage: sputtering targets, precursors, process gases. + """ + environment: Optional[EnvironmentSchema] = Field(None, title="environment schema") + """ + Ambient or chamber conditions during a measurement or a process step. + """ + parameters: Optional[Dict[str, Any]] = None + """ + Technique-specific parameters. Unconstrained here, the way a model's parameters are unconstrained until a models_directory entry narrows them; technique blocks such as measurement/parameters/scanning_probe_microscopy describe the expected shape and will be bound per technique by catalogue entries in a later phase. + """ + steps: List[ProcessStepSchema] + """ + Ordered steps of the stage, the analogue of a subworkflow's units. + """ + duration: Optional[TimeQuantitySchema1] = Field(None, title="time quantity schema") + """ + A scalar with time units, e.g. a process step duration. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + notes: Optional[str] = None + """ + Operator notes, kept verbatim: laboratory records carry context that no schema anticipates. + """ + 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 + """ + instrument: Optional[InstrumentSchema] = Field(None, title="instrument schema") + """ + A physical apparatus used to measure or fabricate a sample: a microscope, a deposition chamber, a furnace. The experimental mirror of software/application, composed the same way, because what an application is to a job an instrument is to a measurement. + """ + status: Optional[Status4] = None + """ + Lifecycle state. 'draft' marks a recipe or protocol that has not been executed. + """ + startTime: Optional[datetime] = None + """ + When the activity started, as an ISO 8601 timestamp. A string rather than an epoch number so it stays readable without a converter, matching job.startTime. + """ + endTime: Optional[datetime] = None + """ + When the activity finished, as an ISO 8601 timestamp. + """ + operators: Optional[List[Operator]] = None + """ + People who ran the activity. A name and an optional affiliation rather than the bibliographic author shape used for citations: a laboratory record identifies an operator by whatever the instrument logged, often a single username, and a citation's requirement of a surname does not hold there. + """ + project: Optional[EntityReferenceSchema] = Field(None, alias="_project", title="entity reference schema") + + +class Cls7(Enum): + Sample = "Sample" + + +class SampleEntityReferenceSchema(BaseModel): + cls: Optional[Cls7] = None + """ + Sample class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class SampleEntityReferenceSchema2(BaseModel): + cls: Optional[Cls7] = None + """ + Sample class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class Scheme(Enum): + internal = "internal" + htem = "htem" + lmc = "lmc" + igsn = "igsn" + doi = "doi" + barcode = "barcode" + vendor = "vendor" + other = "other" + + +class IdentifierSchema(BaseModel): + scheme: Scheme + """ + Namespace the value is unique within. + """ + value: str + """ + The identifier itself. + """ + + +class Format(Enum): + asylum_ibw = "asylum_ibw" + nanonis_sxm = "nanonis_sxm" + nanonis_dat = "nanonis_dat" + gwyddion_gwy = "gwyddion_gwy" + bruker_nanoscope = "bruker_nanoscope" + nexus_hdf5 = "nexus_hdf5" + usid_hdf5 = "usid_hdf5" + hdf5 = "hdf5" + npy = "npy" + csv = "csv" + tsv = "tsv" + xlsx = "xlsx" + tiff = "tiff" + png = "png" + json = "json" + txt = "txt" + other = "other" + + +class Algorithm(Enum): + md5 = "md5" + sha1 = "sha1" + sha256 = "sha256" + + +class Checksum(BaseModel): + algorithm: Algorithm + value: str + + +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 Role2(Enum): + raw = "raw" + processed = "processed" + log = "log" + image = "image" + metadata = "metadata" + other = "other" + + +class FileReferenceSchema(BaseModel): + format: Optional[Format] = None + """ + Vendor or interchange format the file is written in. + """ + size: Optional[conint(ge=0)] = None + """ + Size of the file in bytes. + """ + checksum: Optional[Checksum] = None + """ + Content hash, so a referenced file can be identified after it moves. + """ + url: Optional[str] = None + """ + Location the file can be retrieved from. + """ + objectData: Optional[ObjectStorageContainerData] = Field(None, title="Object Storage Container Data") + role: Optional[Role2] = None + """ + What the file is to the record that references it. + """ + pathname: Optional[str] = None + """ + Relative path to the directory that contains the file. + """ + basename: str + """ + Basename of the file + """ + filetype: Optional[str] = None + """ + What kind of file this is, e.g. image / text + """ + + +class Operator2(BaseModel): + name: str + """ + Operator's name as recorded, e.g. a username. + """ + affiliation: Optional[str] = None + """ + Institution the operator belongs to. + """ + account: Optional[EntityReferenceSchema] = Field(None, alias="_account", title="entity reference schema") + + +class BaseProcessSchema(BaseModel): + categories: Union[SynthesisTechniqueCategorySchema, CharacterizationTechniqueCategorySchema] + """ + Technique this process applies. A measurement protocol is a process with characterization categories, which is why both branches are allowed; anyOf rather than oneOf because a record classified only to tier1 satisfies both and must not be rejected as ambiguous. + """ + properties: Optional[List[str]] = None + """ + Array of characteristic properties produced by this process, by name, e.g. film_thickness + """ + stages: List[ProcessStageSchema] + """ + Ordered stages, the analogue of workflow.subworkflows. A stage is the level that binds a technique and an instrument, because a run can move between chambers. + """ + inputSamples: Optional[List[SampleEntityReferenceSchema]] = Field(None, alias="_inputSamples") + """ + Subsets of the full information about the samples consumed, e.g. the substrates loaded into the chamber. + """ + outputSamples: Optional[List[SampleEntityReferenceSchema2]] = Field(None, alias="_outputSamples") + """ + Subsets of the full information about the samples produced or modified by the run. + """ + identifiers: Optional[List[IdentifierSchema]] = None + """ + Identifiers this run carries in other systems, e.g. a lab-system run number. + """ + logFiles: Optional[List[FileReferenceSchema]] = None + """ + Tool logs this record was derived from. + """ + status: Optional[Status4] = None + """ + Lifecycle state. 'draft' marks a recipe or protocol that has not been executed. + """ + startTime: Optional[datetime] = None + """ + When the activity started, as an ISO 8601 timestamp. A string rather than an epoch number so it stays readable without a converter, matching job.startTime. + """ + endTime: Optional[datetime] = None + """ + When the activity finished, as an ISO 8601 timestamp. + """ + operators: Optional[List[Operator2]] = None + """ + People who ran the activity. A name and an optional affiliation rather than the bibliographic author shape used for citations: a laboratory record identifies an operator by whatever the instrument logged, often a single username, and a citation's requirement of a surname does not hold there. + """ + project: Optional[EntityReferenceSchema] = Field(None, alias="_project", title="entity reference schema") diff --git a/src/py/mat3ra/esse/models/process/source/__init__.py b/src/py/mat3ra/esse/models/process/source/__init__.py new file mode 100644 index 000000000..05c380f3b --- /dev/null +++ b/src/py/mat3ra/esse/models/process/source/__init__.py @@ -0,0 +1,298 @@ +# generated by datamodel-codegen: +# filename: process/source.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel + + +class Kind(Enum): + target = "target" + + +class Supply(Enum): + rf = "rf" + dc = "dc" + pulsed_dc = "pulsed_dc" + hipims = "hipims" + + +class Units(Enum): + W = "W" + mW = "mW" + kW = "kW" + + +class Forward(BaseModel): + value: Optional[float] = None + units: Optional[Units] = None + + +class Reflected(BaseModel): + value: Optional[float] = None + units: Optional[Units] = None + + +class Power(BaseModel): + forward: Optional[Forward] = None + reflected: Optional[Reflected] = None + + +class Units432(Enum): + V = "V" + mV = "mV" + uV = "uV" + kV = "kV" + + +class VoltageQuantitySchema(BaseModel): + units: Units432 + value: float + + +class Units433(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Purity(BaseModel): + value: Optional[float] = None + units: Optional[Units433] = None + + +class Cls(Enum): + Material = "Material" + + +class MaterialEntityReferenceSchema(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class SputteringTargetSourceSchema(BaseModel): + kind: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + position: Optional[str] = None + """ + Gun position in the chamber, e.g. TL or BC in a multi-gun system. + """ + supply: Optional[Supply] = None + """ + Type of power supply driving the target. + """ + power: Optional[Power] = None + """ + Forward and reflected power at the target. + """ + voltage: Optional[VoltageQuantitySchema] = Field(None, title="voltage quantity schema") + """ + A scalar with voltage units, e.g. a sample bias or drive amplitude. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + gunAngle: Optional[float] = None + """ + Tilt of the gun toward the substrate, which sets the composition gradient in a combinatorial deposition. + """ + id: str + """ + Identifier for this source within the stage, referenced from a step's setpoints. + """ + name: Optional[str] = None + formula: Optional[str] = None + """ + Chemical formula of the source material, e.g. Al(CH3)3 + """ + purity: Optional[Purity] = None + """ + Purity of the source material. + """ + vendor: Optional[str] = None + material: Optional[MaterialEntityReferenceSchema] = Field( + None, alias="_material", title="Material entity reference schema" + ) + + +class Kind18(Enum): + precursor = "precursor" + + +class Delivery(Enum): + bubbler = "bubbler" + flash_evaporator = "flash_evaporator" + mist = "mist" + direct_liquid_injection = "direct_liquid_injection" + solid_sublimation = "solid_sublimation" + gas_cylinder = "gas_cylinder" + gas_line = "gas_line" + + +class Units434(Enum): + K = "K" + degC = "degC" + + +class TemperatureQuantitySchema(BaseModel): + units: Optional[Units434] = "K" + value: float + + +class Units435(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Purity10(BaseModel): + value: Optional[float] = None + units: Optional[Units435] = None + + +class MaterialEntityReferenceSchema16(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class PrecursorSourceSchema(BaseModel): + kind: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + delivery: Optional[Delivery] = None + """ + How the precursor is brought into the chamber. + """ + vesselTemperature: Optional[TemperatureQuantitySchema] = Field(None, title="temperature quantity schema") + """ + A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + carrierGasId: Optional[str] = None + """ + Identifier of the gas source carrying this precursor. + """ + id: str + """ + Identifier for this source within the stage, referenced from a step's setpoints. + """ + name: Optional[str] = None + formula: Optional[str] = None + """ + Chemical formula of the source material, e.g. Al(CH3)3 + """ + purity: Optional[Purity10] = None + """ + Purity of the source material. + """ + vendor: Optional[str] = None + material: Optional[MaterialEntityReferenceSchema16] = Field( + None, alias="_material", title="Material entity reference schema" + ) + + +class Kind19(Enum): + gas = "gas" + + +class Role(Enum): + carrier = "carrier" + reactive = "reactive" + purge = "purge" + sputtering = "sputtering" + plasma = "plasma" + background = "background" + + +class Units436(Enum): + sccm = "sccm" + slm = "slm" + + +class FlowRate(BaseModel): + value: Optional[float] = None + units: Optional[Units436] = None + + +class Units437(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Purity11(BaseModel): + value: Optional[float] = None + units: Optional[Units437] = None + + +class MaterialEntityReferenceSchema17(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class ProcessGasSourceSchema(BaseModel): + kind: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + role: Optional[Role] = None + """ + What the gas does in the process. + """ + flowRate: Optional[FlowRate] = None + """ + Flow rate of the gas. + """ + id: str + """ + Identifier for this source within the stage, referenced from a step's setpoints. + """ + name: Optional[str] = None + formula: Optional[str] = None + """ + Chemical formula of the source material, e.g. Al(CH3)3 + """ + purity: Optional[Purity11] = None + """ + Purity of the source material. + """ + vendor: Optional[str] = None + material: Optional[MaterialEntityReferenceSchema17] = Field( + None, alias="_material", title="Material entity reference schema" + ) + + +class ESSE(RootModel[Union[SputteringTargetSourceSchema, PrecursorSourceSchema, ProcessGasSourceSchema]]): + root: Union[SputteringTargetSourceSchema, PrecursorSourceSchema, ProcessGasSourceSchema] = Field( + ..., discriminator="kind", title="process source schema" + ) + """ + A material source a deposition draws on. Discriminated on kind, the way a workflow unit is discriminated on type: a sputtering target, a chemical precursor and a process gas are described by different fields. + """ diff --git a/src/py/mat3ra/esse/models/process/source/base.py b/src/py/mat3ra/esse/models/process/source/base.py new file mode 100644 index 000000000..8926992c5 --- /dev/null +++ b/src/py/mat3ra/esse/models/process/source/base.py @@ -0,0 +1,61 @@ +# generated by datamodel-codegen: +# filename: process/source/base.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): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Purity(BaseModel): + value: Optional[float] = None + units: Optional[Units] = None + + +class Cls(Enum): + Material = "Material" + + +class MaterialEntityReferenceSchema(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class ProcessSourceBaseSchema(BaseModel): + id: str + """ + Identifier for this source within the stage, referenced from a step's setpoints. + """ + name: Optional[str] = None + formula: Optional[str] = None + """ + Chemical formula of the source material, e.g. Al(CH3)3 + """ + purity: Optional[Purity] = None + """ + Purity of the source material. + """ + vendor: Optional[str] = None + material: Optional[MaterialEntityReferenceSchema] = Field( + None, alias="_material", title="Material entity reference schema" + ) diff --git a/src/py/mat3ra/esse/models/process/source/gas.py b/src/py/mat3ra/esse/models/process/source/gas.py new file mode 100644 index 000000000..4f4f0c6b2 --- /dev/null +++ b/src/py/mat3ra/esse/models/process/source/gas.py @@ -0,0 +1,93 @@ +# generated by datamodel-codegen: +# filename: process/source/gas.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, Field + + +class Kind(Enum): + gas = "gas" + + +class Role(Enum): + carrier = "carrier" + reactive = "reactive" + purge = "purge" + sputtering = "sputtering" + plasma = "plasma" + background = "background" + + +class Units(Enum): + sccm = "sccm" + slm = "slm" + + +class FlowRate(BaseModel): + value: Optional[float] = None + units: Optional[Units] = None + + +class Units232(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Purity(BaseModel): + value: Optional[float] = None + units: Optional[Units232] = None + + +class Cls(Enum): + Material = "Material" + + +class MaterialEntityReferenceSchema(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class ProcessGasSourceSchema(BaseModel): + kind: Kind + role: Optional[Role] = None + """ + What the gas does in the process. + """ + flowRate: Optional[FlowRate] = None + """ + Flow rate of the gas. + """ + id: str + """ + Identifier for this source within the stage, referenced from a step's setpoints. + """ + name: Optional[str] = None + formula: Optional[str] = None + """ + Chemical formula of the source material, e.g. Al(CH3)3 + """ + purity: Optional[Purity] = None + """ + Purity of the source material. + """ + vendor: Optional[str] = None + material: Optional[MaterialEntityReferenceSchema] = Field( + None, alias="_material", title="Material entity reference schema" + ) diff --git a/src/py/mat3ra/esse/models/process/source/precursor.py b/src/py/mat3ra/esse/models/process/source/precursor.py new file mode 100644 index 000000000..a39544f49 --- /dev/null +++ b/src/py/mat3ra/esse/models/process/source/precursor.py @@ -0,0 +1,98 @@ +# generated by datamodel-codegen: +# filename: process/source/precursor.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, Field + + +class Kind(Enum): + precursor = "precursor" + + +class Delivery(Enum): + bubbler = "bubbler" + flash_evaporator = "flash_evaporator" + mist = "mist" + direct_liquid_injection = "direct_liquid_injection" + solid_sublimation = "solid_sublimation" + gas_cylinder = "gas_cylinder" + gas_line = "gas_line" + + +class Units(Enum): + K = "K" + degC = "degC" + + +class TemperatureQuantitySchema(BaseModel): + units: Optional[Units] = "K" + value: float + + +class Units365(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Purity(BaseModel): + value: Optional[float] = None + units: Optional[Units365] = None + + +class Cls(Enum): + Material = "Material" + + +class MaterialEntityReferenceSchema(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class PrecursorSourceSchema(BaseModel): + kind: Kind + delivery: Optional[Delivery] = None + """ + How the precursor is brought into the chamber. + """ + vesselTemperature: Optional[TemperatureQuantitySchema] = Field(None, title="temperature quantity schema") + """ + A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + carrierGasId: Optional[str] = None + """ + Identifier of the gas source carrying this precursor. + """ + id: str + """ + Identifier for this source within the stage, referenced from a step's setpoints. + """ + name: Optional[str] = None + formula: Optional[str] = None + """ + Chemical formula of the source material, e.g. Al(CH3)3 + """ + purity: Optional[Purity] = None + """ + Purity of the source material. + """ + vendor: Optional[str] = None + material: Optional[MaterialEntityReferenceSchema] = Field( + None, alias="_material", title="Material entity reference schema" + ) diff --git a/src/py/mat3ra/esse/models/process/source/target.py b/src/py/mat3ra/esse/models/process/source/target.py new file mode 100644 index 000000000..18859c5d5 --- /dev/null +++ b/src/py/mat3ra/esse/models/process/source/target.py @@ -0,0 +1,126 @@ +# generated by datamodel-codegen: +# filename: process/source/target.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, Field + + +class Kind(Enum): + target = "target" + + +class Supply(Enum): + rf = "rf" + dc = "dc" + pulsed_dc = "pulsed_dc" + hipims = "hipims" + + +class Units(Enum): + W = "W" + mW = "mW" + kW = "kW" + + +class Forward(BaseModel): + value: Optional[float] = None + units: Optional[Units] = None + + +class Reflected(BaseModel): + value: Optional[float] = None + units: Optional[Units] = None + + +class Power(BaseModel): + forward: Optional[Forward] = None + reflected: Optional[Reflected] = None + + +class Units484(Enum): + V = "V" + mV = "mV" + uV = "uV" + kV = "kV" + + +class VoltageQuantitySchema(BaseModel): + units: Units484 + value: float + + +class Units485(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Purity(BaseModel): + value: Optional[float] = None + units: Optional[Units485] = None + + +class Cls(Enum): + Material = "Material" + + +class MaterialEntityReferenceSchema(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class SputteringTargetSourceSchema(BaseModel): + kind: Kind + position: Optional[str] = None + """ + Gun position in the chamber, e.g. TL or BC in a multi-gun system. + """ + supply: Optional[Supply] = None + """ + Type of power supply driving the target. + """ + power: Optional[Power] = None + """ + Forward and reflected power at the target. + """ + voltage: Optional[VoltageQuantitySchema] = Field(None, title="voltage quantity schema") + """ + A scalar with voltage units, e.g. a sample bias or drive amplitude. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + gunAngle: Optional[float] = None + """ + Tilt of the gun toward the substrate, which sets the composition gradient in a combinatorial deposition. + """ + id: str + """ + Identifier for this source within the stage, referenced from a step's setpoints. + """ + name: Optional[str] = None + formula: Optional[str] = None + """ + Chemical formula of the source material, e.g. Al(CH3)3 + """ + purity: Optional[Purity] = None + """ + Purity of the source material. + """ + vendor: Optional[str] = None + material: Optional[MaterialEntityReferenceSchema] = Field( + None, alias="_material", title="Material entity reference schema" + ) diff --git a/src/py/mat3ra/esse/models/process/stage.py b/src/py/mat3ra/esse/models/process/stage.py new file mode 100644 index 000000000..e6715fcf7 --- /dev/null +++ b/src/py/mat3ra/esse/models/process/stage.py @@ -0,0 +1,1116 @@ +# generated by datamodel-codegen: +# filename: process/stage.json +# version: 0.28.5 + +from __future__ import annotations + +from datetime import datetime +from enum import Enum +from typing import Any, Dict, List, Literal, Optional, Union + +from pydantic import BaseModel, Field, RootModel, conint + + +class SlugifiedEntry(BaseModel): + name: str + """ + descriptive human-readable name of entry + """ + slug: str + """ + machine-readable identifier + """ + + +class SlugifiedEntryOrSlug(Enum): + synthesis = "synthesis" + + +class SlugifiedEntryOrSlug381(Enum): + vapor_deposition = "vapor_deposition" + solution_processing = "solution_processing" + bulk_growth = "bulk_growth" + post_processing = "post_processing" + + +class SlugifiedEntryOrSlug382(Enum): + physical_vapor_deposition = "physical_vapor_deposition" + chemical_vapor_deposition = "chemical_vapor_deposition" + annealing = "annealing" + + +class SlugifiedEntryOrSlug383(Enum): + pulsed_laser_deposition = "pulsed_laser_deposition" + sputtering = "sputtering" + molecular_beam_epitaxy = "molecular_beam_epitaxy" + thermal_evaporation = "thermal_evaporation" + electron_beam_evaporation = "electron_beam_evaporation" + atomic_layer_deposition = "atomic_layer_deposition" + plasma_enhanced_atomic_layer_deposition = "plasma_enhanced_atomic_layer_deposition" + thermal_chemical_vapor_deposition = "thermal_chemical_vapor_deposition" + metalorganic_chemical_vapor_deposition = "metalorganic_chemical_vapor_deposition" + plasma_enhanced_chemical_vapor_deposition = "plasma_enhanced_chemical_vapor_deposition" + + +class SlugifiedEntryOrSlug384(Enum): + experimental = "experimental" + + +class SynthesisTechniqueCategorySchema(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 + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug381]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug382]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug383]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug384]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class SlugifiedEntryOrSlug385(Enum): + characterization = "characterization" + + +class SlugifiedEntryOrSlug386(Enum): + microscopy = "microscopy" + spectroscopy = "spectroscopy" + diffraction = "diffraction" + electrical = "electrical" + optical = "optical" + + +class SlugifiedEntryOrSlug387(Enum): + scanning_probe_microscopy = "scanning_probe_microscopy" + electron_microscopy = "electron_microscopy" + x_ray = "x_ray" + transport = "transport" + dielectric = "dielectric" + ultraviolet_visible_near_infrared = "ultraviolet_visible_near_infrared" + + +class SlugifiedEntryOrSlug388(Enum): + atomic_force_microscopy = "atomic_force_microscopy" + scanning_tunneling_microscopy = "scanning_tunneling_microscopy" + scanning_tunneling_spectroscopy = "scanning_tunneling_spectroscopy" + piezoresponse_force_microscopy = "piezoresponse_force_microscopy" + kelvin_probe_force_microscopy = "kelvin_probe_force_microscopy" + conductive_atomic_force_microscopy = "conductive_atomic_force_microscopy" + magnetic_force_microscopy = "magnetic_force_microscopy" + + +class SlugifiedEntryOrSlug389(Enum): + experimental = "experimental" + + +class CharacterizationTechniqueCategorySchema(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug385]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug386]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug387]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug388]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug389]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class Kind(Enum): + target = "target" + + +class Supply(Enum): + rf = "rf" + dc = "dc" + pulsed_dc = "pulsed_dc" + hipims = "hipims" + + +class Units(Enum): + W = "W" + mW = "mW" + kW = "kW" + + +class Forward(BaseModel): + value: Optional[float] = None + units: Optional[Units] = None + + +class Reflected(BaseModel): + value: Optional[float] = None + units: Optional[Units] = None + + +class Power(BaseModel): + forward: Optional[Forward] = None + reflected: Optional[Reflected] = None + + +class Units440(Enum): + V = "V" + mV = "mV" + uV = "uV" + kV = "kV" + + +class VoltageQuantitySchema(BaseModel): + units: Units440 + value: float + + +class Units441(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Purity(BaseModel): + value: Optional[float] = None + units: Optional[Units441] = None + + +class Cls(Enum): + Material = "Material" + + +class MaterialEntityReferenceSchema(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class SputteringTargetSourceSchema(BaseModel): + kind: Literal["0#-datamodel-code-generator-#-object-#-special-#"] + position: Optional[str] = None + """ + Gun position in the chamber, e.g. TL or BC in a multi-gun system. + """ + supply: Optional[Supply] = None + """ + Type of power supply driving the target. + """ + power: Optional[Power] = None + """ + Forward and reflected power at the target. + """ + voltage: Optional[VoltageQuantitySchema] = Field(None, title="voltage quantity schema") + """ + A scalar with voltage units, e.g. a sample bias or drive amplitude. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + gunAngle: Optional[float] = None + """ + Tilt of the gun toward the substrate, which sets the composition gradient in a combinatorial deposition. + """ + id: str + """ + Identifier for this source within the stage, referenced from a step's setpoints. + """ + name: Optional[str] = None + formula: Optional[str] = None + """ + Chemical formula of the source material, e.g. Al(CH3)3 + """ + purity: Optional[Purity] = None + """ + Purity of the source material. + """ + vendor: Optional[str] = None + material: Optional[MaterialEntityReferenceSchema] = Field( + None, alias="_material", title="Material entity reference schema" + ) + + +class Kind21(Enum): + precursor = "precursor" + + +class Delivery(Enum): + bubbler = "bubbler" + flash_evaporator = "flash_evaporator" + mist = "mist" + direct_liquid_injection = "direct_liquid_injection" + solid_sublimation = "solid_sublimation" + gas_cylinder = "gas_cylinder" + gas_line = "gas_line" + + +class Units442(Enum): + K = "K" + degC = "degC" + + +class TemperatureQuantitySchema(BaseModel): + units: Optional[Units442] = "K" + value: float + + +class Units443(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Purity13(BaseModel): + value: Optional[float] = None + units: Optional[Units443] = None + + +class MaterialEntityReferenceSchema19(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class PrecursorSourceSchema(BaseModel): + kind: Literal["1#-datamodel-code-generator-#-object-#-special-#"] + delivery: Optional[Delivery] = None + """ + How the precursor is brought into the chamber. + """ + vesselTemperature: Optional[TemperatureQuantitySchema] = Field(None, title="temperature quantity schema") + """ + A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + carrierGasId: Optional[str] = None + """ + Identifier of the gas source carrying this precursor. + """ + id: str + """ + Identifier for this source within the stage, referenced from a step's setpoints. + """ + name: Optional[str] = None + formula: Optional[str] = None + """ + Chemical formula of the source material, e.g. Al(CH3)3 + """ + purity: Optional[Purity13] = None + """ + Purity of the source material. + """ + vendor: Optional[str] = None + material: Optional[MaterialEntityReferenceSchema19] = Field( + None, alias="_material", title="Material entity reference schema" + ) + + +class Kind22(Enum): + gas = "gas" + + +class Role(Enum): + carrier = "carrier" + reactive = "reactive" + purge = "purge" + sputtering = "sputtering" + plasma = "plasma" + background = "background" + + +class Units444(Enum): + sccm = "sccm" + slm = "slm" + + +class FlowRate(BaseModel): + value: Optional[float] = None + units: Optional[Units444] = None + + +class Units445(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Purity14(BaseModel): + value: Optional[float] = None + units: Optional[Units445] = None + + +class MaterialEntityReferenceSchema20(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class ProcessGasSourceSchema(BaseModel): + kind: Literal["2#-datamodel-code-generator-#-object-#-special-#"] + role: Optional[Role] = None + """ + What the gas does in the process. + """ + flowRate: Optional[FlowRate] = None + """ + Flow rate of the gas. + """ + id: str + """ + Identifier for this source within the stage, referenced from a step's setpoints. + """ + name: Optional[str] = None + formula: Optional[str] = None + """ + Chemical formula of the source material, e.g. Al(CH3)3 + """ + purity: Optional[Purity14] = None + """ + Purity of the source material. + """ + vendor: Optional[str] = None + material: Optional[MaterialEntityReferenceSchema20] = Field( + None, alias="_material", title="Material entity reference schema" + ) + + +class ProcessSourceSchema( + RootModel[Union[SputteringTargetSourceSchema, PrecursorSourceSchema, ProcessGasSourceSchema]] +): + root: Union[SputteringTargetSourceSchema, PrecursorSourceSchema, ProcessGasSourceSchema] = Field( + ..., discriminator="kind", title="process source schema" + ) + """ + A material source a deposition draws on. Discriminated on kind, the way a workflow unit is discriminated on type: a sputtering target, a chemical precursor and a process gas are described by different fields. + """ + + +class Units446(Enum): + K = "K" + degC = "degC" + + +class TemperatureQuantitySchema12(BaseModel): + units: Optional[Units446] = "K" + value: float + + +class Units447(Enum): + kbar = "kbar" + pa = "pa" + Torr = "Torr" + mTorr = "mTorr" + mbar = "mbar" + bar = "bar" + atm = "atm" + + +class PressureQuantitySchema(BaseModel): + units: Units447 + value: float + + +class Atmosphere(Enum): + ambient = "ambient" + vacuum = "vacuum" + high_vacuum = "high_vacuum" + ultra_high_vacuum = "ultra_high_vacuum" + nitrogen = "nitrogen" + argon = "argon" + oxygen = "oxygen" + forming_gas = "forming_gas" + liquid = "liquid" + other = "other" + + +class Units448(Enum): + unitless = "unitless" + percent = "percent" + ppm = "ppm" + fraction = "fraction" + + +class Humidity(BaseModel): + value: Optional[float] = None + units: Optional[Units448] = None + + +class EnvironmentSchema(BaseModel): + temperature: Optional[TemperatureQuantitySchema12] = Field(None, title="temperature quantity schema") + """ + A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + pressure: Optional[PressureQuantitySchema] = Field(None, title="pressure quantity schema") + """ + A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + atmosphere: Optional[Atmosphere] = None + """ + Gas or vacuum the sample sits in. + """ + humidity: Optional[Humidity] = None + """ + Relative humidity, as a percentage. + """ + + +class Type(Enum): + setup = "setup" + pump_down = "pump_down" + heat = "heat" + ramp = "ramp" + hold = "hold" + pre_sputter = "pre_sputter" + deposition = "deposition" + pulse = "pulse" + purge = "purge" + plasma = "plasma" + cycle = "cycle" + anneal = "anneal" + cool = "cool" + vent = "vent" + transfer = "transfer" + subsample = "subsample" + other = "other" + + +class Units449(Enum): + s = "s" + ms = "ms" + us = "us" + ns = "ns" + min = "min" + h = "h" + + +class TimeQuantitySchema(BaseModel): + units: Optional[Units449] = "s" + value: float + + +class Units450(Enum): + K = "K" + degC = "degC" + + +class TemperatureQuantitySchema13(BaseModel): + units: Optional[Units450] = "K" + value: float + + +class Units451(Enum): + kbar = "kbar" + pa = "pa" + Torr = "Torr" + mTorr = "mTorr" + mbar = "mbar" + bar = "bar" + atm = "atm" + + +class PressureQuantitySchema9(BaseModel): + units: Units451 + value: float + + +class Units452(Enum): + sccm = "sccm" + slm = "slm" + + +class FlowRate7(BaseModel): + value: Optional[float] = None + units: Optional[Units452] = None + + +class Units453(Enum): + W = "W" + mW = "mW" + kW = "kW" + + +class Power6(BaseModel): + value: Optional[float] = None + units: Optional[Units453] = None + + +class Units454(Enum): + rpm = "rpm" + + +class SubstrateRotation(BaseModel): + value: Optional[float] = None + units: Optional[Units454] = None + + +class Setpoints(BaseModel): + temperature: Optional[TemperatureQuantitySchema13] = Field(None, title="temperature quantity schema") + """ + A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + pressure: Optional[PressureQuantitySchema9] = Field(None, title="pressure quantity schema") + """ + A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + sourceId: Optional[str] = None + """ + Identifier of the source in the stage's sources list that this step draws on. + """ + flowRate: Optional[FlowRate7] = None + """ + Gas flow rate held during the step. + """ + power: Optional[Power6] = None + """ + Power applied during the step, e.g. to a plasma source. + """ + substrateRotation: Optional[SubstrateRotation] = None + """ + Substrate rotation rate held during the step. + """ + + +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") + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class ProcessStepSchema(BaseModel): + type: Type + """ + What the step does. + """ + duration: Optional[TimeQuantitySchema] = Field(None, title="time quantity schema") + """ + A scalar with time units, e.g. a process step duration. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + repeat: Optional[conint(ge=1)] = 1 + """ + Number of times this step is repeated, e.g. the number of atomic layer deposition cycles. + """ + setpoints: Optional[Setpoints] = None + """ + Values held or targeted during the step. + """ + logs: Optional[List[Field2DimensionPlotSchema]] = None + """ + Quantities logged over time during the step, as plots against a time axis. A measured trace and its setpoint are two series on one plot. + """ + 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 + """ + isDraft: Optional[bool] = None + 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 + """ + status: Optional[Status] = None + """ + Status of the unit. + """ + + +class Units455(Enum): + s = "s" + ms = "ms" + us = "us" + ns = "ns" + min = "min" + h = "h" + + +class TimeQuantitySchema5(BaseModel): + units: Optional[Units455] = "s" + value: float + + +class SlugifiedEntryOrSlug390(Enum): + characterization = "characterization" + + +class SlugifiedEntryOrSlug391(Enum): + microscopy = "microscopy" + spectroscopy = "spectroscopy" + diffraction = "diffraction" + electrical = "electrical" + optical = "optical" + + +class SlugifiedEntryOrSlug392(Enum): + scanning_probe_microscopy = "scanning_probe_microscopy" + electron_microscopy = "electron_microscopy" + x_ray = "x_ray" + transport = "transport" + dielectric = "dielectric" + ultraviolet_visible_near_infrared = "ultraviolet_visible_near_infrared" + + +class SlugifiedEntryOrSlug393(Enum): + atomic_force_microscopy = "atomic_force_microscopy" + scanning_tunneling_microscopy = "scanning_tunneling_microscopy" + scanning_tunneling_spectroscopy = "scanning_tunneling_spectroscopy" + piezoresponse_force_microscopy = "piezoresponse_force_microscopy" + kelvin_probe_force_microscopy = "kelvin_probe_force_microscopy" + conductive_atomic_force_microscopy = "conductive_atomic_force_microscopy" + magnetic_force_microscopy = "magnetic_force_microscopy" + + +class SlugifiedEntryOrSlug394(Enum): + experimental = "experimental" + + +class CharacterizationTechniqueCategorySchema15(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug390]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug391]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug392]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug393]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug394]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class SlugifiedEntryOrSlug395(Enum): + synthesis = "synthesis" + + +class SlugifiedEntryOrSlug396(Enum): + vapor_deposition = "vapor_deposition" + solution_processing = "solution_processing" + bulk_growth = "bulk_growth" + post_processing = "post_processing" + + +class SlugifiedEntryOrSlug397(Enum): + physical_vapor_deposition = "physical_vapor_deposition" + chemical_vapor_deposition = "chemical_vapor_deposition" + annealing = "annealing" + + +class SlugifiedEntryOrSlug398(Enum): + pulsed_laser_deposition = "pulsed_laser_deposition" + sputtering = "sputtering" + molecular_beam_epitaxy = "molecular_beam_epitaxy" + thermal_evaporation = "thermal_evaporation" + electron_beam_evaporation = "electron_beam_evaporation" + atomic_layer_deposition = "atomic_layer_deposition" + plasma_enhanced_atomic_layer_deposition = "plasma_enhanced_atomic_layer_deposition" + thermal_chemical_vapor_deposition = "thermal_chemical_vapor_deposition" + metalorganic_chemical_vapor_deposition = "metalorganic_chemical_vapor_deposition" + plasma_enhanced_chemical_vapor_deposition = "plasma_enhanced_chemical_vapor_deposition" + + +class SlugifiedEntryOrSlug399(Enum): + experimental = "experimental" + + +class SynthesisTechniqueCategorySchema12(BaseModel): + tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug395]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug396]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug397]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug398]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug399]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + + +class Kind23(Enum): + probe = "probe" + cantilever = "cantilever" + scanner = "scanner" + laser = "laser" + detector = "detector" + lock_in_amplifier = "lock_in_amplifier" + controller = "controller" + heater = "heater" + cryostat = "cryostat" + chamber = "chamber" + stage = "stage" + evaporation_source = "evaporation_source" + target_holder = "target_holder" + gas_line = "gas_line" + mass_flow_controller = "mass_flow_controller" + pump = "pump" + gauge = "gauge" + other = "other" + + +class InstrumentComponentSchema(BaseModel): + kind: Kind23 + name: str + vendor: Optional[str] = None + model: Optional[str] = None + serialNumber: Optional[str] = None + parameters: Optional[Dict[str, Any]] = None + """ + Component-specific parameters, e.g. springConstant and resonanceFrequency for a cantilever. + """ + + +class RunConfig(BaseModel): + commandTemplate: str + """ + The command template of the application + """ + outFileName: str + """ + The output file name of the application + """ + + +class ApplicationSchema(BaseModel): + 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 + """ + isDefaultVersion: Optional[bool] = None + """ + Whether the version is the default version + """ + hasAdvancedComputeOptions: Optional[bool] = None + """ + Whether advanced compute options are present + """ + isLicensed: Optional[bool] = None + """ + Whether licensing is present + """ + isUsingMaterial: Optional[bool] = None + """ + Whether the application is using (being passed during a downstream processing routine) a material structure. + """ + runConfig: Optional[RunConfig] = None + """ + The run configuration of the application + """ + + +class Location(BaseModel): + facility: Optional[str] = None + laboratory: Optional[str] = None + room: Optional[str] = None + + +class InstrumentSchema(BaseModel): + 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: Optional[str] = None + """ + The short name of the instrument, e.g. jupiter, pdac_com5 + """ + summary: Optional[str] = None + """ + Instrument's short description. + """ + vendor: Optional[str] = None + """ + Manufacturer of the instrument, e.g. Asylum Research + """ + model: Optional[str] = None + """ + Model name, e.g. Jupiter + """ + serialNumber: Optional[str] = None + """ + Vendor serial number identifying this particular unit. + """ + firmware: Optional[str] = None + """ + Controller or acquisition-software version, the analogue of an application version, e.g. 19.34.88 + """ + techniques: Optional[List[Union[CharacterizationTechniqueCategorySchema15, SynthesisTechniqueCategorySchema12]]] = ( + None + ) + """ + Techniques this instrument can perform. + """ + components: Optional[List[InstrumentComponentSchema]] = None + """ + Parts of the instrument that matter to a result, e.g. the probe a scan was taken with or the source a film was grown from. + """ + controlSoftware: Optional[List[ApplicationSchema]] = None + """ + Software driving the instrument, reusing the application entity rather than restating a name and a version. + """ + location: Optional[Location] = None + """ + Where the instrument is, which for a multi-institution project is part of the provenance. + """ + + +class Status60(Enum): + draft = "draft" + planned = "planned" + active = "active" + finished = "finished" + error = "error" + cancelled = "cancelled" + + +class EntityReferenceSchema(BaseModel): + id: str = Field(..., alias="_id") + """ + entity identity + """ + cls: Optional[str] = None + """ + entity class + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class Operator(BaseModel): + name: str + """ + Operator's name as recorded, e.g. a username. + """ + affiliation: Optional[str] = None + """ + Institution the operator belongs to. + """ + account: Optional[EntityReferenceSchema] = Field(None, alias="_account", title="entity reference schema") + + +class ProcessStageSchema(BaseModel): + index: Optional[conint(ge=1)] = None + """ + Order of the stage within the process, starting at 1. + """ + categories: Union[SynthesisTechniqueCategorySchema, CharacterizationTechniqueCategorySchema] + """ + Technique this stage applies. + """ + sources: Optional[List[ProcessSourceSchema]] = None + """ + Material sources available to the steps of this stage: sputtering targets, precursors, process gases. + """ + environment: Optional[EnvironmentSchema] = Field(None, title="environment schema") + """ + Ambient or chamber conditions during a measurement or a process step. + """ + parameters: Optional[Dict[str, Any]] = None + """ + Technique-specific parameters. Unconstrained here, the way a model's parameters are unconstrained until a models_directory entry narrows them; technique blocks such as measurement/parameters/scanning_probe_microscopy describe the expected shape and will be bound per technique by catalogue entries in a later phase. + """ + steps: List[ProcessStepSchema] + """ + Ordered steps of the stage, the analogue of a subworkflow's units. + """ + duration: Optional[TimeQuantitySchema5] = Field(None, title="time quantity schema") + """ + A scalar with time units, e.g. a process step duration. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + notes: Optional[str] = None + """ + Operator notes, kept verbatim: laboratory records carry context that no schema anticipates. + """ + 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 + """ + instrument: Optional[InstrumentSchema] = Field(None, title="instrument schema") + """ + A physical apparatus used to measure or fabricate a sample: a microscope, a deposition chamber, a furnace. The experimental mirror of software/application, composed the same way, because what an application is to a job an instrument is to a measurement. + """ + status: Optional[Status60] = None + """ + Lifecycle state. 'draft' marks a recipe or protocol that has not been executed. + """ + startTime: Optional[datetime] = None + """ + When the activity started, as an ISO 8601 timestamp. A string rather than an epoch number so it stays readable without a converter, matching job.startTime. + """ + endTime: Optional[datetime] = None + """ + When the activity finished, as an ISO 8601 timestamp. + """ + operators: Optional[List[Operator]] = None + """ + People who ran the activity. A name and an optional affiliation rather than the bibliographic author shape used for citations: a laboratory record identifies an operator by whatever the instrument logged, often a single username, and a citation's requirement of a surname does not hold there. + """ + project: Optional[EntityReferenceSchema] = Field(None, alias="_project", title="entity reference schema") diff --git a/src/py/mat3ra/esse/models/process/step.py b/src/py/mat3ra/esse/models/process/step.py new file mode 100644 index 000000000..29e4ddb25 --- /dev/null +++ b/src/py/mat3ra/esse/models/process/step.py @@ -0,0 +1,216 @@ +# generated by datamodel-codegen: +# filename: process/step.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 Type(Enum): + setup = "setup" + pump_down = "pump_down" + heat = "heat" + ramp = "ramp" + hold = "hold" + pre_sputter = "pre_sputter" + deposition = "deposition" + pulse = "pulse" + purge = "purge" + plasma = "plasma" + cycle = "cycle" + anneal = "anneal" + cool = "cool" + vent = "vent" + transfer = "transfer" + subsample = "subsample" + other = "other" + + +class Units(Enum): + s = "s" + ms = "ms" + us = "us" + ns = "ns" + min = "min" + h = "h" + + +class TimeQuantitySchema(BaseModel): + units: Optional[Units] = "s" + value: float + + +class Units457(Enum): + K = "K" + degC = "degC" + + +class TemperatureQuantitySchema(BaseModel): + units: Optional[Units457] = "K" + value: float + + +class Units458(Enum): + kbar = "kbar" + pa = "pa" + Torr = "Torr" + mTorr = "mTorr" + mbar = "mbar" + bar = "bar" + atm = "atm" + + +class PressureQuantitySchema(BaseModel): + units: Units458 + value: float + + +class Units459(Enum): + sccm = "sccm" + slm = "slm" + + +class FlowRate(BaseModel): + value: Optional[float] = None + units: Optional[Units459] = None + + +class Units460(Enum): + W = "W" + mW = "mW" + kW = "kW" + + +class Power(BaseModel): + value: Optional[float] = None + units: Optional[Units460] = None + + +class Units461(Enum): + rpm = "rpm" + + +class SubstrateRotation(BaseModel): + value: Optional[float] = None + units: Optional[Units461] = None + + +class Setpoints(BaseModel): + temperature: Optional[TemperatureQuantitySchema] = Field(None, title="temperature quantity schema") + """ + A scalar with temperature units. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + pressure: Optional[PressureQuantitySchema] = Field(None, title="pressure quantity schema") + """ + A scalar with pressure units, e.g. a chamber base or working pressure. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + sourceId: Optional[str] = None + """ + Identifier of the source in the stage's sources list that this step draws on. + """ + flowRate: Optional[FlowRate] = None + """ + Gas flow rate held during the step. + """ + power: Optional[Power] = None + """ + Power applied during the step, e.g. to a plasma source. + """ + substrateRotation: Optional[SubstrateRotation] = None + """ + Substrate rotation rate held during the step. + """ + + +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") + + +class Status(Enum): + idle = "idle" + active = "active" + warning = "warning" + error = "error" + finished = "finished" + + +class ProcessStepSchema(BaseModel): + type: Type + """ + What the step does. + """ + duration: Optional[TimeQuantitySchema] = Field(None, title="time quantity schema") + """ + A scalar with time units, e.g. a process step duration. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + repeat: Optional[conint(ge=1)] = 1 + """ + Number of times this step is repeated, e.g. the number of atomic layer deposition cycles. + """ + setpoints: Optional[Setpoints] = None + """ + Values held or targeted during the step. + """ + logs: Optional[List[Field2DimensionPlotSchema]] = None + """ + Quantities logged over time during the step, as plots against a time axis. A measured trace and its setpoint are two series on one plot. + """ + 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 + """ + isDraft: Optional[bool] = None + 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 + """ + status: Optional[Status] = None + """ + Status of the unit. + """ diff --git a/src/py/mat3ra/esse/models/properties_directory/derived_properties.py b/src/py/mat3ra/esse/models/properties_directory/derived_properties.py index 864b0b8fc..1713d5d40 100644 --- a/src/py/mat3ra/esse/models/properties_directory/derived_properties.py +++ b/src/py/mat3ra/esse/models/properties_directory/derived_properties.py @@ -28,22 +28,22 @@ class Name482(Enum): density = "density" -class Units189(Enum): +class Units213(Enum): g_cm_3 = "g/cm^3" class DensitySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units189] = None + units: Optional[Units213] = None value: float -class Units190(Enum): +class Units214(Enum): angstrom = "angstrom" class ScalarSchema(BaseModel): - units: Optional[Units190] = None + units: Optional[Units214] = None value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/derived_properties_item.py b/src/py/mat3ra/esse/models/properties_directory/derived_properties_item.py deleted file mode 100644 index af1d66eb6..000000000 --- a/src/py/mat3ra/esse/models/properties_directory/derived_properties_item.py +++ /dev/null @@ -1,135 +0,0 @@ -# generated by datamodel-codegen: -# filename: properties_directory/derived_properties_item.json -# version: 0.33.0 - -from __future__ import annotations - -from enum import Enum -from typing import Literal, Optional, Union - -from pydantic import BaseModel, Field, RootModel, confloat - - -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 Name459(Enum): - density = "density" - - -class Units181(Enum): - g_cm_3 = "g/cm^3" - - -class DensitySchema(BaseModel): - name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units181] = None - value: float - - -class Units182(Enum): - angstrom = "angstrom" - - -class ScalarSchema(BaseModel): - units: Optional[Units182] = None - value: float - - -class Name460(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 Name461(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 Name462(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 Name463(Enum): - inchi = "inchi" - - -class InChIRepresentationSchema(BaseModel): - name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class Name464(Enum): - inchi_key = "inchi_key" - - -class InChIKeyRepresentationSchema(BaseModel): - name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] - value: str - - -class ESSE( - RootModel[ - Union[ - VolumeSchema, - DensitySchema, - SymmetrySchema, - ElementalRatio, - PNorm, - InChIRepresentationSchema, - InChIKeyRepresentationSchema, - ] - ] -): - root: Union[ - VolumeSchema, - DensitySchema, - SymmetrySchema, - ElementalRatio, - PNorm, - InChIRepresentationSchema, - InChIKeyRepresentationSchema, - ] = Field(..., discriminator="name", title="derived properties item schema") diff --git a/src/py/mat3ra/esse/models/properties_directory/enum_options.py b/src/py/mat3ra/esse/models/properties_directory/enum_options.py index e71a04954..6574988b3 100644 --- a/src/py/mat3ra/esse/models/properties_directory/enum_options.py +++ b/src/py/mat3ra/esse/models/properties_directory/enum_options.py @@ -31,14 +31,16 @@ class PropertyType(Enum): class ScalarPropertyEnum(Enum): defect_formation_energy = "defect_formation_energy" fermi_energy = "fermi_energy" + film_thickness = "film_thickness" formation_energy = "formation_energy" homo_energy = "homo_energy" + interfacial_energy = "interfacial_energy" ionization_potential = "ionization_potential" lumo_energy = "lumo_energy" pressure = "pressure" reaction_energy_barrier = "reaction_energy_barrier" surface_energy = "surface_energy" - interfacial_energy = "interfacial_energy" + surface_roughness = "surface_roughness" thermal_correction_to_energy = "thermal_correction_to_energy" thermal_correction_to_enthalpy = "thermal_correction_to_enthalpy" total_energy = "total_energy" @@ -61,6 +63,7 @@ class NonScalarPropertyEnum(Enum): hubbard_u = "hubbard_u" hubbard_v = "hubbard_v" hubbard_v_nn = "hubbard_v_nn" + hysteresis_loop = "hysteresis_loop" is_relaxed = "is_relaxed" jupyter_notebook_endpoint = "jupyter_notebook_endpoint" phonon_dispersions = "phonon_dispersions" diff --git a/src/py/mat3ra/esse/models/properties_directory/non_scalar/charge_density_profile.py b/src/py/mat3ra/esse/models/properties_directory/non_scalar/charge_density_profile.py index 923f3ff99..bd6c04a5b 100644 --- a/src/py/mat3ra/esse/models/properties_directory/non_scalar/charge_density_profile.py +++ b/src/py/mat3ra/esse/models/properties_directory/non_scalar/charge_density_profile.py @@ -33,7 +33,7 @@ class Units(Enum): e_A = "e/A" -class AxisSchema8(BaseModel): +class AxisSchema14(BaseModel): label: Label5 """ label of an axis object @@ -50,7 +50,7 @@ class Name(Enum): class ChargeDensityProfilePropertySchema(BaseModel): xAxis: AxisSchema = Field(..., title="axis schema") - yAxis: AxisSchema8 = Field(..., title="axis schema") + yAxis: AxisSchema14 = Field(..., title="axis schema") name: Name xDataArray: List[Union[float, List[float]]] """ diff --git a/src/py/mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py b/src/py/mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py index 267f3cf27..c63f857ea 100644 --- a/src/py/mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +++ b/src/py/mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py @@ -40,16 +40,16 @@ class Label7(Enum): density_of_states = "density of states" -class Units187(Enum): +class Units211(Enum): states_unitcell = "states/unitcell" -class AxisSchema10(BaseModel): +class AxisSchema16(BaseModel): label: Label7 """ label of an axis object """ - units: Optional[Units187] = None + units: Optional[Units211] = None """ units for an axis """ @@ -85,7 +85,7 @@ class LegendItem(BaseModel): class DensityOfStatesPropertySchema(BaseModel): xAxis: AxisSchema = Field(..., title="axis schema") - yAxis: AxisSchema10 = Field(..., title="axis schema") + yAxis: AxisSchema16 = Field(..., title="axis schema") name: Name legend: List[LegendItem] xDataArray: List[Union[float, List[float]]] diff --git a/src/py/mat3ra/esse/models/properties_directory/non_scalar/heat_capacity_cv_contributions.py b/src/py/mat3ra/esse/models/properties_directory/non_scalar/heat_capacity_cv_contributions.py deleted file mode 100644 index 7dae1cd82..000000000 --- a/src/py/mat3ra/esse/models/properties_directory/non_scalar/heat_capacity_cv_contributions.py +++ /dev/null @@ -1,62 +0,0 @@ -# generated by datamodel-codegen: -# filename: properties_directory/non_scalar/heat_capacity_cv_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): - translational = "translational" - - -class ScalarSchema(BaseModel): - name: Optional[Name] = None - value: float - - -class Name479(Enum): - rotational = "rotational" - - -class ScalarSchema58(BaseModel): - name: Optional[Name479] = None - value: float - - -class Name480(Enum): - vibrational = "vibrational" - - -class ScalarSchema59(BaseModel): - name: Optional[Name480] = None - value: float - - -class Name481(Enum): - heat_capacity_cv_contributions = "heat_capacity_cv_contributions" - - -class Units(Enum): - cal_mol_K = "cal/mol-K" - - -class HeatCapacityCvContributionsPropertySchema(BaseModel): - translational: Optional[ScalarSchema] = Field(None, title="scalar schema") - """ - translational contribution to heat capacity Cv - """ - rotational: Optional[ScalarSchema58] = Field(None, title="scalar schema") - """ - rotational contribution to heat capacity Cv - """ - vibrational: Optional[ScalarSchema59] = Field(None, title="scalar schema") - """ - vibrational contribution to heat capacity Cv - """ - name: Name481 - units: Optional[Units] = None diff --git a/src/py/mat3ra/esse/models/properties_directory/non_scalar/hysteresis_loop.py b/src/py/mat3ra/esse/models/properties_directory/non_scalar/hysteresis_loop.py new file mode 100644 index 000000000..8608d27d0 --- /dev/null +++ b/src/py/mat3ra/esse/models/properties_directory/non_scalar/hysteresis_loop.py @@ -0,0 +1,52 @@ +# generated by datamodel-codegen: +# filename: properties_directory/non_scalar/hysteresis_loop.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): + hysteresis_loop = "hysteresis_loop" + + +class LoopType(Enum): + polarization_electric_field = "polarization_electric_field" + piezoresponse_bias = "piezoresponse_bias" + amplitude_bias = "amplitude_bias" + phase_bias = "phase_bias" + current_voltage = "current_voltage" + + +class AxisSchema(BaseModel): + label: str + """ + label of an axis object + """ + units: Optional[str] = None + """ + units for an axis + """ + + +class HysteresisLoopPropertySchema(BaseModel): + name: Name + loopType: LoopType + """ + Which pair of quantities the loop relates. + """ + legend: Optional[List[str]] = None + """ + Label for each series in yDataSeries, e.g. on_field and off_field. + """ + 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/src/py/mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py b/src/py/mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py index 038965f10..9d6ecdfd8 100644 --- a/src/py/mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +++ b/src/py/mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py @@ -34,18 +34,22 @@ class Label27(Enum): frequency = "frequency" -class Units315(Enum): +class Units356(Enum): cm_1 = "cm-1" THz = "THz" meV = "meV" + Hz = "Hz" + kHz = "kHz" + MHz = "MHz" + GHz = "GHz" -class AxisSchema30(BaseModel): +class AxisSchema42(BaseModel): label: Label27 """ label of an axis object """ - units: Optional[Units315] = None + units: Optional[Units356] = None """ units for an axis """ @@ -57,7 +61,7 @@ class Name(Enum): class PhononBandStructurePropertySchema(BaseModel): xAxis: AxisSchema = Field(..., title="axis schema") - yAxis: AxisSchema30 = Field(..., title="axis schema") + yAxis: AxisSchema42 = Field(..., title="axis schema") name: Name xDataArray: List[Union[float, List[float]]] """ diff --git a/src/py/mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py b/src/py/mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py index 4aebb10fc..098c2e8ba 100644 --- a/src/py/mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +++ b/src/py/mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py @@ -18,6 +18,10 @@ class Units(Enum): cm_1 = "cm-1" THz = "THz" meV = "meV" + Hz = "Hz" + kHz = "kHz" + MHz = "MHz" + GHz = "GHz" class AxisSchema(BaseModel): @@ -35,18 +39,18 @@ class Label29(Enum): Phonon_DOS = "Phonon DOS" -class Units317(Enum): +class Units358(Enum): states_cm_1 = "states/cm-1" states_THz = "states/THz" states_meV = "states/meV" -class AxisSchema32(BaseModel): +class AxisSchema44(BaseModel): label: Label29 """ label of an axis object """ - units: Optional[Units317] = None + units: Optional[Units358] = None """ units for an axis """ @@ -58,7 +62,7 @@ class Name(Enum): class PhononDensityOfStatesPropertySchema(BaseModel): xAxis: AxisSchema = Field(..., title="axis schema") - yAxis: AxisSchema32 = Field(..., title="axis schema") + yAxis: AxisSchema44 = Field(..., title="axis schema") name: Name xDataArray: List[Union[float, List[float]]] """ diff --git a/src/py/mat3ra/esse/models/properties_directory/non_scalar/potential_profile.py b/src/py/mat3ra/esse/models/properties_directory/non_scalar/potential_profile.py index 67b77dbe1..1ab04db46 100644 --- a/src/py/mat3ra/esse/models/properties_directory/non_scalar/potential_profile.py +++ b/src/py/mat3ra/esse/models/properties_directory/non_scalar/potential_profile.py @@ -40,7 +40,7 @@ class Units(Enum): eV_atom = "eV/atom" -class AxisSchema34(BaseModel): +class AxisSchema46(BaseModel): label: Label31 """ label of an axis object @@ -57,7 +57,7 @@ class Name(Enum): class PotentialProfilePropertySchema(BaseModel): xAxis: AxisSchema = Field(..., title="axis schema") - yAxis: AxisSchema34 = Field(..., title="axis schema") + yAxis: AxisSchema46 = Field(..., title="axis schema") name: Name xDataArray: List[Union[float, List[float]]] """ diff --git a/src/py/mat3ra/esse/models/properties_directory/non_scalar/reaction_energy_profile.py b/src/py/mat3ra/esse/models/properties_directory/non_scalar/reaction_energy_profile.py index 6264f39c4..fe04143b9 100644 --- a/src/py/mat3ra/esse/models/properties_directory/non_scalar/reaction_energy_profile.py +++ b/src/py/mat3ra/esse/models/properties_directory/non_scalar/reaction_energy_profile.py @@ -40,7 +40,7 @@ class Units(Enum): eV_atom = "eV/atom" -class AxisSchema36(BaseModel): +class AxisSchema50(BaseModel): label: Label33 """ label of an axis object @@ -57,7 +57,7 @@ class Name(Enum): class ReactionEnergyProfilePropertySchema(BaseModel): xAxis: AxisSchema = Field(..., title="axis schema") - yAxis: AxisSchema36 = Field(..., title="axis schema") + yAxis: AxisSchema50 = Field(..., title="axis schema") name: Name xDataArray: List[Union[float, List[float]]] """ diff --git a/src/py/mat3ra/esse/models/properties_directory/non_scalar/stress_tensor.py b/src/py/mat3ra/esse/models/properties_directory/non_scalar/stress_tensor.py index 8a9b38576..0cb6acb32 100644 --- a/src/py/mat3ra/esse/models/properties_directory/non_scalar/stress_tensor.py +++ b/src/py/mat3ra/esse/models/properties_directory/non_scalar/stress_tensor.py @@ -21,6 +21,11 @@ class Name(Enum): class Units(Enum): kbar = "kbar" pa = "pa" + Torr = "Torr" + mTorr = "mTorr" + mbar = "mbar" + bar = "bar" + atm = "atm" class StressTensorPropertySchema(BaseModel): diff --git a/src/py/mat3ra/esse/models/properties_directory/non_scalar/thermal_corrections.py b/src/py/mat3ra/esse/models/properties_directory/non_scalar/thermal_corrections.py deleted file mode 100644 index 4637e3c62..000000000 --- a/src/py/mat3ra/esse/models/properties_directory/non_scalar/thermal_corrections.py +++ /dev/null @@ -1,56 +0,0 @@ -# generated by datamodel-codegen: -# filename: properties_directory/non_scalar/thermal_corrections.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): - to_energy = "to_energy" - - -class ScalarSchema(BaseModel): - name: Optional[Name] = None - value: float - - -class Name769(Enum): - to_enthalpy = "to_enthalpy" - - -class ScalarSchema108(BaseModel): - name: Optional[Name769] = None - value: float - - -class Name770(Enum): - thermal_corrections = "thermal_corrections" - - -class Units(Enum): - kcal_mol = "kcal/mol" - kJ_mol = "kJ/mol" - eV = "eV" - J_mol = "J/mol" - hartree = "hartree" - cm_1 = "cm-1" - Ry = "Ry" - eV_atom = "eV/atom" - - -class ThermalCorrectionsPropertySchema(BaseModel): - to_energy: Optional[ScalarSchema] = Field(None, title="scalar schema") - """ - thermal correction to energy - """ - to_enthalpy: Optional[ScalarSchema108] = Field(None, title="scalar schema") - """ - thermal correction to enthalpy - """ - name: Name770 - units: Optional[Units] = None diff --git a/src/py/mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py b/src/py/mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py index 95aec07fb..ec0b84afc 100644 --- a/src/py/mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +++ b/src/py/mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py @@ -19,124 +19,124 @@ class ScalarSchema(BaseModel): value: float -class Name841(Enum): +class Name849(Enum): harris_foulkes = "harris_foulkes" class ScalarSchema104(BaseModel): - name: Optional[Name841] = None + name: Optional[Name849] = None value: float -class Name842(Enum): +class Name850(Enum): smearing = "smearing" class ScalarSchema105(BaseModel): - name: Optional[Name842] = None + name: Optional[Name850] = None value: float -class Name843(Enum): +class Name851(Enum): one_electron = "one_electron" class ScalarSchema106(BaseModel): - name: Optional[Name843] = None + name: Optional[Name851] = None value: float -class Name844(Enum): +class Name852(Enum): hartree = "hartree" class ScalarSchema107(BaseModel): - name: Optional[Name844] = None + name: Optional[Name852] = None value: float -class Name845(Enum): +class Name853(Enum): exchange = "exchange" class ScalarSchema108(BaseModel): - name: Optional[Name845] = None + name: Optional[Name853] = None value: float -class Name846(Enum): +class Name854(Enum): exchange_correlation = "exchange_correlation" class ScalarSchema109(BaseModel): - name: Optional[Name846] = None + name: Optional[Name854] = None value: float -class Name847(Enum): +class Name855(Enum): ewald = "ewald" class ScalarSchema110(BaseModel): - name: Optional[Name847] = None + name: Optional[Name855] = None value: float -class Name848(Enum): +class Name856(Enum): alphaZ = "alphaZ" class ScalarSchema111(BaseModel): - name: Optional[Name848] = None + name: Optional[Name856] = None value: float -class Name849(Enum): +class Name857(Enum): atomic_energy = "atomic_energy" class ScalarSchema112(BaseModel): - name: Optional[Name849] = None + name: Optional[Name857] = None value: float -class Name850(Enum): +class Name858(Enum): eigenvalues = "eigenvalues" class ScalarSchema113(BaseModel): - name: Optional[Name850] = None + name: Optional[Name858] = None value: float -class Name851(Enum): +class Name859(Enum): PAW_double_counting_correction_2 = "PAW_double-counting_correction_2" class ScalarSchema114(BaseModel): - name: Optional[Name851] = None + name: Optional[Name859] = None value: float -class Name852(Enum): +class Name860(Enum): PAW_double_counting_correction_3 = "PAW_double-counting_correction_3" class ScalarSchema115(BaseModel): - name: Optional[Name852] = None + name: Optional[Name860] = None value: float -class Name853(Enum): +class Name861(Enum): hartree_fock = "hartree_fock" class ScalarSchema116(BaseModel): - name: Optional[Name853] = None + name: Optional[Name861] = None value: float -class Name854(Enum): +class Name862(Enum): total_energy_contributions = "total_energy_contributions" @@ -208,5 +208,5 @@ class TotalEnergyContributionsPropertySchema(BaseModel): """ hartree-fock contribution """ - name: Name854 + name: Name862 units: Optional[Units] = None diff --git a/src/py/mat3ra/esse/models/properties_directory/non_scalar/total_entropy_contributions.py b/src/py/mat3ra/esse/models/properties_directory/non_scalar/total_entropy_contributions.py deleted file mode 100644 index cecb29fe7..000000000 --- a/src/py/mat3ra/esse/models/properties_directory/non_scalar/total_entropy_contributions.py +++ /dev/null @@ -1,62 +0,0 @@ -# generated by datamodel-codegen: -# filename: properties_directory/non_scalar/total_entropy_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): - translational = "translational" - - -class ScalarSchema(BaseModel): - name: Optional[Name] = None - value: float - - -class Name789(Enum): - rotational = "rotational" - - -class ScalarSchema124(BaseModel): - name: Optional[Name789] = None - value: float - - -class Name790(Enum): - vibrational = "vibrational" - - -class ScalarSchema125(BaseModel): - name: Optional[Name790] = None - value: float - - -class Name791(Enum): - total_entropy_contributions = "total_entropy_contributions" - - -class Units(Enum): - cal_mol_K = "cal/mol-K" - - -class TotalEntropyContributionsPropertySchema(BaseModel): - translational: Optional[ScalarSchema] = Field(None, title="scalar schema") - """ - translational contribution to entropy - """ - rotational: Optional[ScalarSchema124] = Field(None, title="scalar schema") - """ - rotational contribution to entropy - """ - vibrational: Optional[ScalarSchema125] = Field(None, title="scalar schema") - """ - vibrational contribution to entropy - """ - name: Name791 - units: Optional[Units] = None diff --git a/src/py/mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py b/src/py/mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py index 03f5a76c2..c47ab51e1 100644 --- a/src/py/mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +++ b/src/py/mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py @@ -19,6 +19,10 @@ class Units(Enum): cm_1 = "cm-1" THz = "THz" meV = "meV" + Hz = "Hz" + kHz = "kHz" + MHz = "MHz" + GHz = "GHz" class AxisSchema(BaseModel): @@ -38,19 +42,19 @@ class Label35(Enum): Absorption_coefficient = "Absorption coefficient" -class Units383(Enum): +class Units505(Enum): debye_angstrom__2 = "(debye/angstrom)^2" km_mol = "km/mol" m_mol = "m/mol" a_u_ = "a.u." -class AxisSchema38(BaseModel): +class AxisSchema56(BaseModel): label: Label35 """ label of an axis object """ - units: Optional[Units383] = None + units: Optional[Units505] = None """ units for an axis """ @@ -62,7 +66,7 @@ class Name(Enum): class VibrationalSpectrumPropertySchema(BaseModel): xAxis: AxisSchema = Field(..., title="axis schema") - yAxis: AxisSchema38 = Field(..., title="axis schema") + yAxis: AxisSchema56 = Field(..., title="axis schema") name: Name xDataArray: List[Union[float, List[float]]] """ diff --git a/src/py/mat3ra/esse/models/properties_directory/non_scalar/wavefunction_amplitude.py b/src/py/mat3ra/esse/models/properties_directory/non_scalar/wavefunction_amplitude.py index 3bad7bd4b..40d6e257a 100644 --- a/src/py/mat3ra/esse/models/properties_directory/non_scalar/wavefunction_amplitude.py +++ b/src/py/mat3ra/esse/models/properties_directory/non_scalar/wavefunction_amplitude.py @@ -29,7 +29,7 @@ class Label37(Enum): amplitude = "amplitude" -class AxisSchema40(BaseModel): +class AxisSchema58(BaseModel): label: Label37 """ label of an axis object @@ -46,7 +46,7 @@ class Name(Enum): class WavefunctionAmplitudePropertySchema(BaseModel): xAxis: AxisSchema = Field(..., title="axis schema") - yAxis: AxisSchema40 = Field(..., title="axis schema") + yAxis: AxisSchema58 = Field(..., title="axis schema") name: Name xDataArray: List[Union[float, List[float]]] """ 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 bfb4cc731..01bfd2e31 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 @@ -840,6 +840,10 @@ class NWChemTotalEnergyContextProviderSchema(BaseModel): """ Whether atomic positions are expressed in cartesian coordinates. """ + RESTART: Optional[bool] = None + """ + Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart. + """ class RESTARTMODE(Enum): @@ -1125,7 +1129,7 @@ class CutoffsContextItemSchema(BaseModel): extraData: Dict[str, Any] -class Name890(Enum): +class Name898(Enum): kgrid = "kgrid" qgrid = "qgrid" igrid = "igrid" @@ -1155,7 +1159,7 @@ class GridContextItemSchema(BaseModel): isEdited: bool -class Name891(Enum): +class Name899(Enum): qpath = "qpath" ipath = "ipath" kpath = "kpath" @@ -1821,7 +1825,7 @@ class DFTHybridModelSchema(BaseModel): method: BaseMethod47 = Field(..., title="base method") -class Type153(Enum): +class Type165(Enum): ml = "ml" @@ -1849,12 +1853,12 @@ class BaseMethod48(BaseModel): class MLModelSchema(BaseModel): - type: Type153 + type: Type165 subtype: Literal["3#-datamodel-code-generator-#-object-#-special-#"] method: BaseMethod48 = Field(..., title="base method") -class Type154(Enum): +class Type166(Enum): unknown = "unknown" @@ -1882,12 +1886,12 @@ class BaseMethod49(BaseModel): class UnknownModelSchema(BaseModel): - type: Type154 + type: Type166 subtype: Literal["4#-datamodel-code-generator-#-object-#-special-#"] method: BaseMethod49 = Field(..., title="base method") -class ApplicationSchema19(BaseModel): +class ApplicationSchema27(BaseModel): id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -1980,7 +1984,7 @@ class SubworkflowSchema(BaseModel): model: Union[DFTLDAModelSchema, DFTGGAModelSchema, DFTHybridModelSchema, MLModelSchema, UnknownModelSchema] = Field( ..., discriminator="subtype", title="Any model schema" ) - application: ApplicationSchema19 = Field(..., title="application schema") + application: ApplicationSchema27 = Field(..., title="application schema") isMultiMaterial: Optional[bool] = None isDraft: Optional[bool] = False """ diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/defect_formation_energy.py b/src/py/mat3ra/esse/models/properties_directory/scalar/defect_formation_energy.py index f0191d76f..50981e7a0 100644 --- a/src/py/mat3ra/esse/models/properties_directory/scalar/defect_formation_energy.py +++ b/src/py/mat3ra/esse/models/properties_directory/scalar/defect_formation_energy.py @@ -25,11 +25,11 @@ class Units(Enum): eV_atom = "eV/atom" -class Units184(Enum): +class Units208(Enum): eV_A_2 = "eV/A^2" class DefectFormationEnergyPropertySchema(BaseModel): name: Name - units: Union[Units, Units184] + units: Union[Units, Units208] value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/electron_affinity.py b/src/py/mat3ra/esse/models/properties_directory/scalar/electron_affinity.py index 379ea03ec..a2fb9e6c2 100644 --- a/src/py/mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +++ b/src/py/mat3ra/esse/models/properties_directory/scalar/electron_affinity.py @@ -25,11 +25,11 @@ class Units(Enum): eV_atom = "eV/atom" -class Units192(Enum): +class Units216(Enum): eV_A_2 = "eV/A^2" class ElectronAffinityPropertySchema(BaseModel): name: Name - units: Union[Units, Units192] + units: Union[Units, Units216] value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/fermi_energy.py b/src/py/mat3ra/esse/models/properties_directory/scalar/fermi_energy.py index 0bb6f3e8f..ffca26a88 100644 --- a/src/py/mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +++ b/src/py/mat3ra/esse/models/properties_directory/scalar/fermi_energy.py @@ -25,11 +25,11 @@ class Units(Enum): eV_atom = "eV/atom" -class Units199(Enum): +class Units226(Enum): eV_A_2 = "eV/A^2" class FermiEnergyPropertySchema(BaseModel): name: Name - units: Union[Units, Units199] + units: Union[Units, Units226] value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/film_thickness.py b/src/py/mat3ra/esse/models/properties_directory/scalar/film_thickness.py new file mode 100644 index 000000000..c44046f73 --- /dev/null +++ b/src/py/mat3ra/esse/models/properties_directory/scalar/film_thickness.py @@ -0,0 +1,37 @@ +# generated by datamodel-codegen: +# filename: properties_directory/scalar/film_thickness.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Name(Enum): + film_thickness = "film_thickness" + + +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 FilmThicknessPropertySchema(BaseModel): + name: Name + units: Units + layerIndex: Optional[int] = None + """ + Index of the layer in the sample's stack this thickness refers to. + """ + value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/formation_energy.py b/src/py/mat3ra/esse/models/properties_directory/scalar/formation_energy.py index 3c55a11d8..5943771ac 100644 --- a/src/py/mat3ra/esse/models/properties_directory/scalar/formation_energy.py +++ b/src/py/mat3ra/esse/models/properties_directory/scalar/formation_energy.py @@ -25,11 +25,11 @@ class Units(Enum): eV_atom = "eV/atom" -class Units201(Enum): +class Units229(Enum): eV_A_2 = "eV/A^2" class FormationEnergyPropertySchema(BaseModel): name: Name - units: Union[Units, Units201] + units: Union[Units, Units229] value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/heat_capacity_cv.py b/src/py/mat3ra/esse/models/properties_directory/scalar/heat_capacity_cv.py deleted file mode 100644 index 916169cdb..000000000 --- a/src/py/mat3ra/esse/models/properties_directory/scalar/heat_capacity_cv.py +++ /dev/null @@ -1,23 +0,0 @@ -# generated by datamodel-codegen: -# filename: properties_directory/scalar/heat_capacity_cv.json -# version: 0.28.5 - -from __future__ import annotations - -from enum import Enum - -from pydantic import BaseModel - - -class Name(Enum): - heat_capacity_cv = "heat_capacity_cv" - - -class Units(Enum): - cal_mol_K = "cal/mol-K" - - -class HeatCapacityCvPropertySchema(BaseModel): - name: Name - units: Units - value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/homo_energy.py b/src/py/mat3ra/esse/models/properties_directory/scalar/homo_energy.py index 16cc7667a..99cf44884 100644 --- a/src/py/mat3ra/esse/models/properties_directory/scalar/homo_energy.py +++ b/src/py/mat3ra/esse/models/properties_directory/scalar/homo_energy.py @@ -25,11 +25,11 @@ class Units(Enum): eV_atom = "eV/atom" -class Units257(Enum): +class Units290(Enum): eV_A_2 = "eV/A^2" class HOMOEnergyPropertySchema(BaseModel): name: Name - units: Union[Units, Units257] + units: Union[Units, Units290] value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/interfacial_energy.py b/src/py/mat3ra/esse/models/properties_directory/scalar/interfacial_energy.py index 90f54ec54..6a4457c45 100644 --- a/src/py/mat3ra/esse/models/properties_directory/scalar/interfacial_energy.py +++ b/src/py/mat3ra/esse/models/properties_directory/scalar/interfacial_energy.py @@ -25,11 +25,11 @@ class Units(Enum): eV_atom = "eV/atom" -class Units266(Enum): +class Units299(Enum): eV_A_2 = "eV/A^2" class InterfacialEnergyPropertySchema(BaseModel): name: Name - units: Union[Units, Units266] + units: Union[Units, Units299] value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/ionization_potential.py b/src/py/mat3ra/esse/models/properties_directory/scalar/ionization_potential.py index 6cde720bc..58fe0c518 100644 --- a/src/py/mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +++ b/src/py/mat3ra/esse/models/properties_directory/scalar/ionization_potential.py @@ -25,11 +25,11 @@ class Units(Enum): eV_atom = "eV/atom" -class Units276(Enum): +class Units309(Enum): eV_A_2 = "eV/A^2" class IonizationPotentialScalarPropertySchema(BaseModel): name: Name - units: Union[Units, Units276] + units: Union[Units, Units309] value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/lumo_energy.py b/src/py/mat3ra/esse/models/properties_directory/scalar/lumo_energy.py index 8ff789694..c4abdea7e 100644 --- a/src/py/mat3ra/esse/models/properties_directory/scalar/lumo_energy.py +++ b/src/py/mat3ra/esse/models/properties_directory/scalar/lumo_energy.py @@ -25,11 +25,11 @@ class Units(Enum): eV_atom = "eV/atom" -class Units279(Enum): +class Units316(Enum): eV_A_2 = "eV/A^2" class LUMOEnergyPropertySchema(BaseModel): name: Name - units: Union[Units, Units279] + units: Union[Units, Units316] value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/pressure.py b/src/py/mat3ra/esse/models/properties_directory/scalar/pressure.py index 7994d6416..2703dbc28 100644 --- a/src/py/mat3ra/esse/models/properties_directory/scalar/pressure.py +++ b/src/py/mat3ra/esse/models/properties_directory/scalar/pressure.py @@ -16,6 +16,11 @@ class Name(Enum): class Units(Enum): kbar = "kbar" pa = "pa" + Torr = "Torr" + mTorr = "mTorr" + mbar = "mbar" + bar = "bar" + atm = "atm" class PressurePropertySchema(BaseModel): diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py b/src/py/mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py index 96b389348..1bbadc57e 100644 --- a/src/py/mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +++ b/src/py/mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py @@ -25,11 +25,11 @@ class Units(Enum): eV_atom = "eV/atom" -class Units324(Enum): +class Units387(Enum): eV_A_2 = "eV/A^2" class ReactionEnergyBarrierPropertySchema(BaseModel): name: Name - units: Union[Units, Units324] + units: Union[Units, Units387] value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/surface_energy.py b/src/py/mat3ra/esse/models/properties_directory/scalar/surface_energy.py index 5d30e5af5..f4da269ac 100644 --- a/src/py/mat3ra/esse/models/properties_directory/scalar/surface_energy.py +++ b/src/py/mat3ra/esse/models/properties_directory/scalar/surface_energy.py @@ -25,11 +25,11 @@ class Units(Enum): eV_atom = "eV/atom" -class Units364(Enum): +class Units479(Enum): eV_A_2 = "eV/A^2" class SurfaceEnergyPropertySchema(BaseModel): name: Name - units: Union[Units, Units364] + units: Union[Units, Units479] value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/surface_roughness.py b/src/py/mat3ra/esse/models/properties_directory/scalar/surface_roughness.py new file mode 100644 index 000000000..59fc0ee3d --- /dev/null +++ b/src/py/mat3ra/esse/models/properties_directory/scalar/surface_roughness.py @@ -0,0 +1,43 @@ +# generated by datamodel-codegen: +# filename: properties_directory/scalar/surface_roughness.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel + + +class Name(Enum): + surface_roughness = "surface_roughness" + + +class Statistic(Enum): + root_mean_square = "root_mean_square" + arithmetic_average = "arithmetic_average" + peak_to_valley = "peak_to_valley" + + +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 SurfaceRoughnessPropertySchema(BaseModel): + name: Name + statistic: Optional[Statistic] = None + """ + Estimator the value was computed with. + """ + units: Units + value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/thermal_correction_to_energy.py b/src/py/mat3ra/esse/models/properties_directory/scalar/thermal_correction_to_energy.py index c8fb95034..91260cf1a 100644 --- a/src/py/mat3ra/esse/models/properties_directory/scalar/thermal_correction_to_energy.py +++ b/src/py/mat3ra/esse/models/properties_directory/scalar/thermal_correction_to_energy.py @@ -25,11 +25,11 @@ class Units(Enum): eV_atom = "eV/atom" -class Units367(Enum): +class Units488(Enum): eV_A_2 = "eV/A^2" class ThermalCorrectionToEnergyPropertySchema(BaseModel): name: Name - units: Union[Units, Units367] + units: Union[Units, Units488] value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/thermal_correction_to_enthalpy.py b/src/py/mat3ra/esse/models/properties_directory/scalar/thermal_correction_to_enthalpy.py index c659aab95..13eb268ac 100644 --- a/src/py/mat3ra/esse/models/properties_directory/scalar/thermal_correction_to_enthalpy.py +++ b/src/py/mat3ra/esse/models/properties_directory/scalar/thermal_correction_to_enthalpy.py @@ -25,11 +25,11 @@ class Units(Enum): eV_atom = "eV/atom" -class Units369(Enum): +class Units490(Enum): eV_A_2 = "eV/A^2" class ThermalCorrectionToEnthalpyPropertySchema(BaseModel): name: Name - units: Union[Units, Units369] + units: Union[Units, Units490] value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/total_energy.py b/src/py/mat3ra/esse/models/properties_directory/scalar/total_energy.py index 702841046..4800bf55b 100644 --- a/src/py/mat3ra/esse/models/properties_directory/scalar/total_energy.py +++ b/src/py/mat3ra/esse/models/properties_directory/scalar/total_energy.py @@ -25,11 +25,11 @@ class Units(Enum): eV_atom = "eV/atom" -class Units371(Enum): +class Units493(Enum): eV_A_2 = "eV/A^2" class TotalEnergyPropertySchema(BaseModel): name: Name - units: Union[Units, Units371] + units: Union[Units, Units493] value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/total_entropy.py b/src/py/mat3ra/esse/models/properties_directory/scalar/total_entropy.py deleted file mode 100644 index 3649fc5a2..000000000 --- a/src/py/mat3ra/esse/models/properties_directory/scalar/total_entropy.py +++ /dev/null @@ -1,23 +0,0 @@ -# generated by datamodel-codegen: -# filename: properties_directory/scalar/total_entropy.json -# version: 0.28.5 - -from __future__ import annotations - -from enum import Enum - -from pydantic import BaseModel - - -class Name(Enum): - total_entropy = "total_entropy" - - -class Units(Enum): - cal_mol_K = "cal/mol-K" - - -class TotalEntropyPropertySchema(BaseModel): - name: Name - units: Units - value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/total_force.py b/src/py/mat3ra/esse/models/properties_directory/scalar/total_force.py index 99142f420..1a3d52a56 100644 --- a/src/py/mat3ra/esse/models/properties_directory/scalar/total_force.py +++ b/src/py/mat3ra/esse/models/properties_directory/scalar/total_force.py @@ -20,6 +20,8 @@ class Units(Enum): newton = "newton" kg_m_s_2 = "kg*m/s^2" eV_a_u_ = "eV/a.u." + nN = "nN" + pN = "pN" class TotalForcesPropertySchema(BaseModel): diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py b/src/py/mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py index 541dd49ce..80f5538d5 100644 --- a/src/py/mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +++ b/src/py/mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py @@ -25,11 +25,11 @@ class Units(Enum): eV_atom = "eV/atom" -class Units381(Enum): +class Units503(Enum): eV_A_2 = "eV/A^2" class ValenceBandOffsetPropertySchema(BaseModel): name: Name - units: Union[Units, Units381] + units: Union[Units, Units503] value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py b/src/py/mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py index 59d6b6f04..78427affc 100644 --- a/src/py/mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +++ b/src/py/mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py @@ -25,11 +25,11 @@ class Units(Enum): eV_atom = "eV/atom" -class Units389(Enum): +class Units512(Enum): eV_A_2 = "eV/A^2" class ZeroPointEnergyPropertySchema(BaseModel): name: Name - units: Union[Units, Units389] + units: Union[Units, Units512] value: float diff --git a/src/py/mat3ra/esse/models/properties_directory/structural/atomic_forces.py b/src/py/mat3ra/esse/models/properties_directory/structural/atomic_forces.py index 1cea17744..651a8dc74 100644 --- a/src/py/mat3ra/esse/models/properties_directory/structural/atomic_forces.py +++ b/src/py/mat3ra/esse/models/properties_directory/structural/atomic_forces.py @@ -32,6 +32,8 @@ class Units(Enum): newton = "newton" kg_m_s_2 = "kg*m/s^2" eV_a_u_ = "eV/a.u." + nN = "nN" + pN = "pN" class AtomicForcesPropertySchema(BaseModel): diff --git a/src/py/mat3ra/esse/models/properties_directory/structural/basis/predicted_properties.py b/src/py/mat3ra/esse/models/properties_directory/structural/basis/predicted_properties.py deleted file mode 100644 index e7622c050..000000000 --- a/src/py/mat3ra/esse/models/properties_directory/structural/basis/predicted_properties.py +++ /dev/null @@ -1,82 +0,0 @@ -# generated by datamodel-codegen: -# filename: properties_directory/structural/basis/predicted_properties.json -# version: 0.28.5 - -from __future__ import annotations - -from enum import Enum -from typing import Dict, List, Optional - -from pydantic import BaseModel, Field - - -class Name(Enum): - predicted_properties = "predicted_properties" - - -class Name686(Enum): - band_gaps = "band_gaps" - - -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 - - -class Eigenvalue(BaseModel): - spin: Optional[float] = None - energies: Optional[List] = None - occupations: Optional[List] = None - - -class Eigenvalue8(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 BandGapsSchema(BaseModel): - name: Name686 - values: List[BandGapSchema] - eigenvalues: Optional[List[Eigenvalue8]] = None - - -class PredictedPropertiesPropertySchema(BaseModel): - name: Name - values: Dict[str, BandGapsSchema] diff --git a/src/py/mat3ra/esse/models/properties_directory/structural/lattice/lattice_vectors.py b/src/py/mat3ra/esse/models/properties_directory/structural/lattice/lattice_vectors.py deleted file mode 100644 index 68ee92b3e..000000000 --- a/src/py/mat3ra/esse/models/properties_directory/structural/lattice/lattice_vectors.py +++ /dev/null @@ -1,25 +0,0 @@ -# generated by datamodel-codegen: -# filename: properties_directory/structural/lattice/lattice_vectors.json -# version: 0.28.5 - -from __future__ import annotations - -from enum import Enum -from typing import Optional - -from pydantic import BaseModel, Field - - -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") diff --git a/src/py/mat3ra/esse/models/properties_directory/structural/molecular_pattern.py b/src/py/mat3ra/esse/models/properties_directory/structural/molecular_pattern.py index c1d6bfa19..c7072955c 100644 --- a/src/py/mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +++ b/src/py/mat3ra/esse/models/properties_directory/structural/molecular_pattern.py @@ -37,12 +37,12 @@ class FunctionalGroupPatternSchema(BaseModel): """ -class Name661(Enum): +class Name666(Enum): ring = "ring" class RingPatternSchema(BaseModel): - name: Name661 + name: Name666 atoms: Optional[List[ObjectWithId]] = Field(None, title="array of ids") """ array of objects containing integer id each @@ -50,12 +50,12 @@ class RingPatternSchema(BaseModel): isAromatic: Optional[bool] = None -class Name662(Enum): +class Name667(Enum): special_bond = "special_bond" class SpecialBondPatternSchema(BaseModel): - name: Name662 + name: Name667 atoms: Optional[List[ObjectWithId]] = Field(None, title="array of ids") """ array of objects containing integer id each diff --git a/src/py/mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py b/src/py/mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py index b085075d1..23d9a8827 100644 --- a/src/py/mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +++ b/src/py/mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py @@ -18,14 +18,14 @@ class Units(Enum): eV = "eV" -class Units274(Enum): +class Units307(Enum): eV = "eV" Ry = "Ry" hartree = "hartree" class Electronic(BaseModel): - units: Optional[Units274] = None + units: Optional[Units307] = None """ units for force tolerance """ 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 7ec2158f1..679e068e4 100644 --- a/src/py/mat3ra/esse/models/property/holder.py +++ b/src/py/mat3ra/esse/models/property/holder.py @@ -25,21 +25,21 @@ class Units(Enum): eV_atom = "eV/atom" -class Units203(Enum): +class Units234(Enum): eV_A_2 = "eV/A^2" class ValenceBandOffsetPropertySchema(BaseModel): name: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - units: Union[Units, Units203] + units: Union[Units, Units234] value: float -class Name515(Enum): +class Name516(Enum): zero_point_energy = "zero_point_energy" -class Units204(Enum): +class Units235(Enum): kcal_mol = "kcal/mol" kJ_mol = "kJ/mol" eV = "eV" @@ -50,36 +50,41 @@ class Units204(Enum): eV_atom = "eV/atom" -class Units205(Enum): +class Units236(Enum): eV_A_2 = "eV/A^2" class ZeroPointEnergyPropertySchema(BaseModel): name: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - units: Union[Units204, Units205] + units: Union[Units235, Units236] value: float -class Name516(Enum): +class Name517(Enum): pressure = "pressure" -class Units206(Enum): +class Units237(Enum): kbar = "kbar" pa = "pa" + Torr = "Torr" + mTorr = "mTorr" + mbar = "mbar" + bar = "bar" + atm = "atm" class PressurePropertySchema(BaseModel): name: Literal["2#-datamodel-code-generator-#-object-#-special-#"] - units: Units206 + units: Units237 value: float -class Name517(Enum): +class Name518(Enum): reaction_energy_barrier = "reaction_energy_barrier" -class Units207(Enum): +class Units238(Enum): kcal_mol = "kcal/mol" kJ_mol = "kJ/mol" eV = "eV" @@ -90,21 +95,21 @@ class Units207(Enum): eV_atom = "eV/atom" -class Units208(Enum): +class Units239(Enum): eV_A_2 = "eV/A^2" class ReactionEnergyBarrierPropertySchema(BaseModel): name: Literal["3#-datamodel-code-generator-#-object-#-special-#"] - units: Union[Units207, Units208] + units: Union[Units238, Units239] value: float -class Name518(Enum): +class Name519(Enum): surface_energy = "surface_energy" -class Units209(Enum): +class Units240(Enum): kcal_mol = "kcal/mol" kJ_mol = "kJ/mol" eV = "eV" @@ -115,21 +120,21 @@ class Units209(Enum): eV_atom = "eV/atom" -class Units210(Enum): +class Units241(Enum): eV_A_2 = "eV/A^2" class SurfaceEnergyPropertySchema(BaseModel): name: Literal["4#-datamodel-code-generator-#-object-#-special-#"] - units: Union[Units209, Units210] + units: Union[Units240, Units241] value: float -class Name519(Enum): +class Name520(Enum): interfacial_energy = "interfacial_energy" -class Units211(Enum): +class Units242(Enum): kcal_mol = "kcal/mol" kJ_mol = "kJ/mol" eV = "eV" @@ -140,21 +145,21 @@ class Units211(Enum): eV_atom = "eV/atom" -class Units212(Enum): +class Units243(Enum): eV_A_2 = "eV/A^2" class InterfacialEnergyPropertySchema(BaseModel): name: Literal["5#-datamodel-code-generator-#-object-#-special-#"] - units: Union[Units211, Units212] + units: Union[Units242, Units243] value: float -class Name520(Enum): +class Name521(Enum): defect_formation_energy = "defect_formation_energy" -class Units213(Enum): +class Units244(Enum): kcal_mol = "kcal/mol" kJ_mol = "kJ/mol" eV = "eV" @@ -165,21 +170,21 @@ class Units213(Enum): eV_atom = "eV/atom" -class Units214(Enum): +class Units245(Enum): eV_A_2 = "eV/A^2" class DefectFormationEnergyPropertySchema(BaseModel): name: Literal["6#-datamodel-code-generator-#-object-#-special-#"] - units: Union[Units213, Units214] + units: Union[Units244, Units245] value: float -class Name521(Enum): +class Name522(Enum): thermal_correction_to_energy = "thermal_correction_to_energy" -class Units215(Enum): +class Units246(Enum): kcal_mol = "kcal/mol" kJ_mol = "kJ/mol" eV = "eV" @@ -190,21 +195,21 @@ class Units215(Enum): eV_atom = "eV/atom" -class Units216(Enum): +class Units247(Enum): eV_A_2 = "eV/A^2" class ThermalCorrectionToEnergyPropertySchema(BaseModel): name: Literal["7#-datamodel-code-generator-#-object-#-special-#"] - units: Union[Units215, Units216] + units: Union[Units246, Units247] value: float -class Name522(Enum): +class Name523(Enum): thermal_correction_to_enthalpy = "thermal_correction_to_enthalpy" -class Units217(Enum): +class Units248(Enum): kcal_mol = "kcal/mol" kJ_mol = "kJ/mol" eV = "eV" @@ -215,21 +220,21 @@ class Units217(Enum): eV_atom = "eV/atom" -class Units218(Enum): +class Units249(Enum): eV_A_2 = "eV/A^2" class ThermalCorrectionToEnthalpyPropertySchema(BaseModel): name: Literal["8#-datamodel-code-generator-#-object-#-special-#"] - units: Union[Units217, Units218] + units: Union[Units248, Units249] value: float -class Name523(Enum): +class Name524(Enum): total_energy = "total_energy" -class Units219(Enum): +class Units250(Enum): kcal_mol = "kcal/mol" kJ_mol = "kJ/mol" eV = "eV" @@ -240,40 +245,42 @@ class Units219(Enum): eV_atom = "eV/atom" -class Units220(Enum): +class Units251(Enum): eV_A_2 = "eV/A^2" class TotalEnergyPropertySchema(BaseModel): name: Literal["9#-datamodel-code-generator-#-object-#-special-#"] - units: Union[Units219, Units220] + units: Union[Units250, Units251] value: float -class Name524(Enum): +class Name525(Enum): total_force = "total_force" -class Units221(Enum): +class Units252(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." + nN = "nN" + pN = "pN" class TotalForcesPropertySchema(BaseModel): name: Literal["10#-datamodel-code-generator-#-object-#-special-#"] - units: Units221 + units: Units252 value: float -class Name525(Enum): +class Name526(Enum): fermi_energy = "fermi_energy" -class Units222(Enum): +class Units253(Enum): kcal_mol = "kcal/mol" kJ_mol = "kJ/mol" eV = "eV" @@ -284,21 +291,21 @@ class Units222(Enum): eV_atom = "eV/atom" -class Units223(Enum): +class Units254(Enum): eV_A_2 = "eV/A^2" class FermiEnergyPropertySchema(BaseModel): name: Literal["11#-datamodel-code-generator-#-object-#-special-#"] - units: Union[Units222, Units223] + units: Union[Units253, Units254] value: float -class Name526(Enum): +class Name527(Enum): formation_energy = "formation_energy" -class Units224(Enum): +class Units255(Enum): kcal_mol = "kcal/mol" kJ_mol = "kJ/mol" eV = "eV" @@ -309,21 +316,21 @@ class Units224(Enum): eV_atom = "eV/atom" -class Units225(Enum): +class Units256(Enum): eV_A_2 = "eV/A^2" class FormationEnergyPropertySchema(BaseModel): name: Literal["12#-datamodel-code-generator-#-object-#-special-#"] - units: Union[Units224, Units225] + units: Union[Units255, Units256] value: float -class Name527(Enum): +class Name528(Enum): homo_energy = "homo_energy" -class Units226(Enum): +class Units257(Enum): kcal_mol = "kcal/mol" kJ_mol = "kJ/mol" eV = "eV" @@ -334,21 +341,21 @@ class Units226(Enum): eV_atom = "eV/atom" -class Units227(Enum): +class Units258(Enum): eV_A_2 = "eV/A^2" class HOMOEnergyPropertySchema(BaseModel): name: Literal["13#-datamodel-code-generator-#-object-#-special-#"] - units: Union[Units226, Units227] + units: Union[Units257, Units258] value: float -class Name528(Enum): +class Name529(Enum): ionization_potential = "ionization_potential" -class Units228(Enum): +class Units259(Enum): kcal_mol = "kcal/mol" kJ_mol = "kJ/mol" eV = "eV" @@ -359,21 +366,21 @@ class Units228(Enum): eV_atom = "eV/atom" -class Units229(Enum): +class Units260(Enum): eV_A_2 = "eV/A^2" class IonizationPotentialScalarPropertySchema(BaseModel): name: Literal["14#-datamodel-code-generator-#-object-#-special-#"] - units: Union[Units228, Units229] + units: Union[Units259, Units260] value: float -class Name529(Enum): +class Name530(Enum): lumo_energy = "lumo_energy" -class Units230(Enum): +class Units261(Enum): kcal_mol = "kcal/mol" kJ_mol = "kJ/mol" eV = "eV" @@ -384,13 +391,13 @@ class Units230(Enum): eV_atom = "eV/atom" -class Units231(Enum): +class Units262(Enum): eV_A_2 = "eV/A^2" class LUMOEnergyPropertySchema(BaseModel): name: Literal["15#-datamodel-code-generator-#-object-#-special-#"] - units: Union[Units230, Units231] + units: Union[Units261, Units262] value: float @@ -398,22 +405,27 @@ class ArrayOf3NumberElementsSchema(RootModel[List[float]]): root: List[float] = Field(..., title="array of 3 number elements schema") -class Name530(Enum): +class Name531(Enum): stress_tensor = "stress_tensor" -class Units232(Enum): +class Units263(Enum): kbar = "kbar" pa = "pa" + Torr = "Torr" + mTorr = "mTorr" + mbar = "mbar" + bar = "bar" + atm = "atm" class StressTensorPropertySchema(BaseModel): value: List[ArrayOf3NumberElementsSchema] = Field(..., max_length=3, min_length=3, title="matrix 3x3 schema") name: Literal["16#-datamodel-code-generator-#-object-#-special-#"] - units: Units232 + units: Units263 -class Name531(Enum): +class Name532(Enum): band_gaps = "band_gaps" @@ -422,7 +434,7 @@ class Type(Enum): indirect = "indirect" -class Units233(Enum): +class Units264(Enum): kcal_mol = "kcal/mol" kJ_mol = "kJ/mol" eV = "eV" @@ -452,7 +464,7 @@ class BandGapSchema(BaseModel): """ spin: Optional[float] = None type: Type - units: Optional[Units233] = None + units: Optional[Units264] = None value: float @@ -481,7 +493,7 @@ class Label(Enum): kpoints = "kpoints" -class Units234(Enum): +class Units265(Enum): crystal = "crystal" cartesian = "cartesian" @@ -491,7 +503,7 @@ class AxisSchema(BaseModel): """ label of an axis object """ - units: Optional[Units234] = "crystal" + units: Optional[Units265] = "crystal" """ units for an axis """ @@ -501,7 +513,7 @@ class Label9(Enum): energy = "energy" -class Units235(Enum): +class Units266(Enum): kcal_mol = "kcal/mol" kJ_mol = "kJ/mol" eV = "eV" @@ -512,18 +524,18 @@ class Units235(Enum): eV_atom = "eV/atom" -class AxisSchema12(BaseModel): +class AxisSchema18(BaseModel): label: Label9 """ label of an axis object """ - units: Optional[Units235] = None + units: Optional[Units266] = None """ units for an axis """ -class Name532(Enum): +class Name533(Enum): band_structure = "band_structure" @@ -534,7 +546,7 @@ class SpinEnum(Enum): class BandStructurePropertySchema(BaseModel): xAxis: AxisSchema = Field(..., title="axis schema") - yAxis: AxisSchema12 = Field(..., title="axis schema") + yAxis: AxisSchema18 = Field(..., title="axis schema") name: Literal["18#-datamodel-code-generator-#-object-#-special-#"] spin: List[SpinEnum] """ @@ -551,17 +563,17 @@ class Label10(Enum): qpoints = "qpoints" -class Units236(Enum): +class Units267(Enum): crystal = "crystal" cartesian = "cartesian" -class AxisSchema13(BaseModel): +class AxisSchema19(BaseModel): label: Label10 """ label of an axis object """ - units: Optional[Units236] = "crystal" + units: Optional[Units267] = "crystal" """ units for an axis """ @@ -571,30 +583,34 @@ class Label11(Enum): frequency = "frequency" -class Units237(Enum): +class Units268(Enum): cm_1 = "cm-1" THz = "THz" meV = "meV" + Hz = "Hz" + kHz = "kHz" + MHz = "MHz" + GHz = "GHz" -class AxisSchema14(BaseModel): +class AxisSchema20(BaseModel): label: Label11 """ label of an axis object """ - units: Optional[Units237] = None + units: Optional[Units268] = None """ units for an axis """ -class Name533(Enum): +class Name534(Enum): phonon_dispersions = "phonon_dispersions" class PhononBandStructurePropertySchema(BaseModel): - xAxis: AxisSchema13 = Field(..., title="axis schema") - yAxis: AxisSchema14 = Field(..., title="axis schema") + xAxis: AxisSchema19 = Field(..., title="axis schema") + yAxis: AxisSchema20 = Field(..., title="axis schema") name: Literal["19#-datamodel-code-generator-#-object-#-special-#"] xDataArray: List[Union[float, List[float]]] """ @@ -603,137 +619,137 @@ class PhononBandStructurePropertySchema(BaseModel): yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") -class Name534(Enum): +class Name535(Enum): temperature_entropy = "temperature_entropy" class ScalarSchema(BaseModel): - name: Optional[Name534] = None + name: Optional[Name535] = None value: float -class Name535(Enum): +class Name536(Enum): harris_foulkes = "harris_foulkes" class ScalarSchema61(BaseModel): - name: Optional[Name535] = None + name: Optional[Name536] = None value: float -class Name536(Enum): +class Name537(Enum): smearing = "smearing" class ScalarSchema62(BaseModel): - name: Optional[Name536] = None + name: Optional[Name537] = None value: float -class Name537(Enum): +class Name538(Enum): one_electron = "one_electron" class ScalarSchema63(BaseModel): - name: Optional[Name537] = None + name: Optional[Name538] = None value: float -class Name538(Enum): +class Name539(Enum): hartree = "hartree" class ScalarSchema64(BaseModel): - name: Optional[Name538] = None + name: Optional[Name539] = None value: float -class Name539(Enum): +class Name540(Enum): exchange = "exchange" class ScalarSchema65(BaseModel): - name: Optional[Name539] = None + name: Optional[Name540] = None value: float -class Name540(Enum): +class Name541(Enum): exchange_correlation = "exchange_correlation" class ScalarSchema66(BaseModel): - name: Optional[Name540] = None + name: Optional[Name541] = None value: float -class Name541(Enum): +class Name542(Enum): ewald = "ewald" class ScalarSchema67(BaseModel): - name: Optional[Name541] = None + name: Optional[Name542] = None value: float -class Name542(Enum): +class Name543(Enum): alphaZ = "alphaZ" class ScalarSchema68(BaseModel): - name: Optional[Name542] = None + name: Optional[Name543] = None value: float -class Name543(Enum): +class Name544(Enum): atomic_energy = "atomic_energy" class ScalarSchema69(BaseModel): - name: Optional[Name543] = None + name: Optional[Name544] = None value: float -class Name544(Enum): +class Name545(Enum): eigenvalues = "eigenvalues" class ScalarSchema70(BaseModel): - name: Optional[Name544] = None + name: Optional[Name545] = None value: float -class Name545(Enum): +class Name546(Enum): PAW_double_counting_correction_2 = "PAW_double-counting_correction_2" class ScalarSchema71(BaseModel): - name: Optional[Name545] = None + name: Optional[Name546] = None value: float -class Name546(Enum): +class Name547(Enum): PAW_double_counting_correction_3 = "PAW_double-counting_correction_3" class ScalarSchema72(BaseModel): - name: Optional[Name546] = None + name: Optional[Name547] = None value: float -class Name547(Enum): +class Name548(Enum): hartree_fock = "hartree_fock" class ScalarSchema73(BaseModel): - name: Optional[Name547] = None + name: Optional[Name548] = None value: float -class Name548(Enum): +class Name549(Enum): total_energy_contributions = "total_energy_contributions" -class Units238(Enum): +class Units269(Enum): kcal_mol = "kcal/mol" kJ_mol = "kJ/mol" eV = "eV" @@ -802,10 +818,10 @@ class TotalEnergyContributionsPropertySchema(BaseModel): hartree-fock contribution """ name: Literal["20#-datamodel-code-generator-#-object-#-special-#"] - units: Optional[Units238] = None + units: Optional[Units269] = None -class Name549(Enum): +class Name550(Enum): formation_energy_contributions = "formation_energy_contributions" @@ -851,18 +867,22 @@ class FormationEnergyContributionsPropertySchema(BaseModel): values: List[FormationEnergyContributionSchema] -class Units239(Enum): +class Units270(Enum): cm_1 = "cm-1" THz = "THz" meV = "meV" + Hz = "Hz" + kHz = "kHz" + MHz = "MHz" + GHz = "GHz" -class AxisSchema15(BaseModel): +class AxisSchema21(BaseModel): label: Label11 """ label of an axis object """ - units: Optional[Units239] = None + units: Optional[Units270] = None """ units for an axis """ @@ -872,30 +892,30 @@ class Label13(Enum): Phonon_DOS = "Phonon DOS" -class Units240(Enum): +class Units271(Enum): states_cm_1 = "states/cm-1" states_THz = "states/THz" states_meV = "states/meV" -class AxisSchema16(BaseModel): +class AxisSchema22(BaseModel): label: Label13 """ label of an axis object """ - units: Optional[Units240] = None + units: Optional[Units271] = None """ units for an axis """ -class Name550(Enum): +class Name551(Enum): phonon_dos = "phonon_dos" class PhononDensityOfStatesPropertySchema(BaseModel): - xAxis: AxisSchema15 = Field(..., title="axis schema") - yAxis: AxisSchema16 = Field(..., title="axis schema") + xAxis: AxisSchema21 = Field(..., title="axis schema") + yAxis: AxisSchema22 = Field(..., title="axis schema") name: Literal["22#-datamodel-code-generator-#-object-#-special-#"] xDataArray: List[Union[float, List[float]]] """ @@ -908,7 +928,7 @@ class Label14(Enum): z_coordinate = "z coordinate" -class AxisSchema17(BaseModel): +class AxisSchema23(BaseModel): label: Label14 """ label of an axis object @@ -923,7 +943,7 @@ class Label15(Enum): energy = "energy" -class Units241(Enum): +class Units272(Enum): kcal_mol = "kcal/mol" kJ_mol = "kJ/mol" eV = "eV" @@ -934,24 +954,24 @@ class Units241(Enum): eV_atom = "eV/atom" -class AxisSchema18(BaseModel): +class AxisSchema24(BaseModel): label: Label15 """ label of an axis object """ - units: Optional[Units241] = None + units: Optional[Units272] = None """ units for an axis """ -class Name551(Enum): +class Name552(Enum): potential_profile = "potential_profile" class PotentialProfilePropertySchema(BaseModel): - xAxis: AxisSchema17 = Field(..., title="axis schema") - yAxis: AxisSchema18 = Field(..., title="axis schema") + 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]]] """ @@ -964,7 +984,7 @@ class Label16(Enum): coordinate = "coordinate" -class AxisSchema19(BaseModel): +class AxisSchema25(BaseModel): label: Label16 """ label of an axis object @@ -979,7 +999,7 @@ class Label17(Enum): amplitude = "amplitude" -class AxisSchema20(BaseModel): +class AxisSchema26(BaseModel): label: Label17 """ label of an axis object @@ -990,13 +1010,13 @@ class AxisSchema20(BaseModel): """ -class Name552(Enum): +class Name553(Enum): wavefunction_amplitude = "wavefunction_amplitude" class WavefunctionAmplitudePropertySchema(BaseModel): - xAxis: AxisSchema19 = Field(..., title="axis schema") - yAxis: AxisSchema20 = Field(..., title="axis schema") + 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]]] """ @@ -1009,7 +1029,7 @@ class Label18(Enum): reaction_coordinate = "reaction coordinate" -class AxisSchema21(BaseModel): +class AxisSchema27(BaseModel): label: Label18 """ label of an axis object @@ -1024,24 +1044,24 @@ class Label19(Enum): energy = "energy" -class AxisSchema22(BaseModel): +class AxisSchema28(BaseModel): label: Label19 """ label of an axis object """ - units: Optional[Units241] = None + units: Optional[Units272] = None """ units for an axis """ -class Name553(Enum): +class Name554(Enum): reaction_energy_profile = "reaction_energy_profile" class ReactionEnergyProfilePropertySchema(BaseModel): - xAxis: AxisSchema21 = Field(..., title="axis schema") - yAxis: AxisSchema22 = Field(..., title="axis schema") + xAxis: AxisSchema27 = Field(..., title="axis schema") + yAxis: AxisSchema28 = Field(..., title="axis schema") name: Literal["25#-datamodel-code-generator-#-object-#-special-#"] xDataArray: List[Union[float, List[float]]] """ @@ -1050,12 +1070,12 @@ class ReactionEnergyProfilePropertySchema(BaseModel): yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") -class AxisSchema23(BaseModel): +class AxisSchema29(BaseModel): label: Label19 """ label of an axis object """ - units: Optional[Units241] = None + units: Optional[Units272] = None """ units for an axis """ @@ -1065,22 +1085,22 @@ class Label21(Enum): density_of_states = "density of states" -class Units244(Enum): +class Units275(Enum): states_unitcell = "states/unitcell" -class AxisSchema24(BaseModel): +class AxisSchema30(BaseModel): label: Label21 """ label of an axis object """ - units: Optional[Units244] = None + units: Optional[Units275] = None """ units for an axis """ -class Name554(Enum): +class Name555(Enum): density_of_states = "density_of_states" @@ -1109,8 +1129,8 @@ class LegendItem(BaseModel): class DensityOfStatesPropertySchema(BaseModel): - xAxis: AxisSchema23 = Field(..., title="axis schema") - yAxis: AxisSchema24 = Field(..., title="axis schema") + xAxis: AxisSchema29 = Field(..., title="axis schema") + yAxis: AxisSchema30 = Field(..., title="axis schema") name: Literal["26#-datamodel-code-generator-#-object-#-special-#"] legend: List[LegendItem] xDataArray: List[Union[float, List[float]]] @@ -1120,7 +1140,7 @@ class DensityOfStatesPropertySchema(BaseModel): yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") -class Name555(Enum): +class Name556(Enum): dielectric_tensor = "dielectric_tensor" @@ -1150,7 +1170,7 @@ class DielectricTensorPropertySchema(BaseModel): values: List[DielectricTensor] -class Name556(Enum): +class Name557(Enum): file_content = "file_content" @@ -1204,11 +1224,11 @@ class FileContentPropertySchema(BaseModel): """ -class Name557(Enum): +class Name558(Enum): hubbard_u = "hubbard_u" -class Units245(Enum): +class Units276(Enum): eV = "eV" @@ -1230,11 +1250,11 @@ class AtomicDataPerOrbitalNumeric(BaseModel): class HubbardUParametersPropertySchema(BaseModel): name: Literal["29#-datamodel-code-generator-#-object-#-special-#"] - units: Units245 + units: Units276 values: List[AtomicDataPerOrbitalNumeric] -class Name558(Enum): +class Name559(Enum): hubbard_v = "hubbard_v" @@ -1269,17 +1289,17 @@ class AtomicDataPerOrbitalPairNumeric(BaseModel): class HubbardVParametersPropertySchema(BaseModel): name: Literal["30#-datamodel-code-generator-#-object-#-special-#"] - units: Units245 + units: Units276 values: List[AtomicDataPerOrbitalPairNumeric] -class Name559(Enum): +class Name560(Enum): hubbard_v_nn = "hubbard_v_nn" class HubbardVNNParametersPropertySchema(BaseModel): name: Literal["31#-datamodel-code-generator-#-object-#-special-#"] - units: Units245 + units: Units276 values: List[AtomicDataPerOrbitalPairNumeric] @@ -1287,7 +1307,7 @@ class Label22(Enum): z_coordinate = "z coordinate" -class Units248(Enum): +class Units279(Enum): km = "km" m = "m" cm = "cm" @@ -1300,12 +1320,12 @@ class Units248(Enum): pm = "pm" -class AxisSchema25(BaseModel): +class AxisSchema31(BaseModel): label: Label22 """ label of an axis object """ - units: Optional[Units248] = None + units: Optional[Units279] = None """ units for an axis """ @@ -1315,7 +1335,7 @@ class Label23(Enum): energy = "energy" -class Units249(Enum): +class Units280(Enum): kcal_mol = "kcal/mol" kJ_mol = "kJ/mol" eV = "eV" @@ -1326,24 +1346,24 @@ class Units249(Enum): eV_atom = "eV/atom" -class AxisSchema26(BaseModel): +class AxisSchema32(BaseModel): label: Label23 """ label of an axis object """ - units: Optional[Units249] = None + units: Optional[Units280] = None """ units for an axis """ -class Name560(Enum): +class Name561(Enum): average_potential_profile = "average_potential_profile" class AveragePotentialProfilePropertySchema(BaseModel): - xAxis: AxisSchema25 = Field(..., title="axis schema") - yAxis: AxisSchema26 = Field(..., title="axis schema") + xAxis: AxisSchema31 = Field(..., title="axis schema") + yAxis: AxisSchema32 = Field(..., title="axis schema") name: Literal["32#-datamodel-code-generator-#-object-#-special-#"] xDataArray: List[Union[float, List[float]]] """ @@ -1356,7 +1376,7 @@ class Label24(Enum): z_coordinate = "z coordinate" -class AxisSchema27(BaseModel): +class AxisSchema33(BaseModel): label: Label24 """ label of an axis object @@ -1371,28 +1391,28 @@ class Label25(Enum): charge_density = "charge density" -class Units250(Enum): +class Units281(Enum): e_A = "e/A" -class AxisSchema28(BaseModel): +class AxisSchema34(BaseModel): label: Label25 """ label of an axis object """ - units: Optional[Units250] = None + units: Optional[Units281] = None """ units for an axis """ -class Name561(Enum): +class Name562(Enum): charge_density_profile = "charge_density_profile" class ChargeDensityProfilePropertySchema(BaseModel): - xAxis: AxisSchema27 = Field(..., title="axis schema") - yAxis: AxisSchema28 = Field(..., title="axis schema") + xAxis: AxisSchema33 = Field(..., title="axis schema") + yAxis: AxisSchema34 = Field(..., title="axis schema") name: Literal["33#-datamodel-code-generator-#-object-#-special-#"] xDataArray: List[Union[float, List[float]]] """ @@ -1401,7 +1421,7 @@ class ChargeDensityProfilePropertySchema(BaseModel): yDataSeries: List[List[float]] = Field(..., title="1 dimension data series schema") -class Name562(Enum): +class Name563(Enum): workflow_pyml_predict = "workflow:pyml_predict" @@ -2204,6 +2224,10 @@ class NWChemTotalEnergyContextProviderSchema(BaseModel): """ Whether atomic positions are expressed in cartesian coordinates. """ + RESTART: Optional[bool] = None + """ + Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart. + """ class RESTARTMODE(Enum): @@ -2489,7 +2513,7 @@ class CutoffsContextItemSchema(BaseModel): extraData: Dict[str, Any] -class Name563(Enum): +class Name564(Enum): kgrid = "kgrid" qgrid = "qgrid" igrid = "igrid" @@ -2519,7 +2543,7 @@ class GridContextItemSchema(BaseModel): isEdited: bool -class Name564(Enum): +class Name565(Enum): qpath = "qpath" ipath = "ipath" kpath = "kpath" @@ -2635,7 +2659,7 @@ class NebContextItemSchema(BaseModel): extraData: Dict[str, Any] -class Type85(Enum): +class Type86(Enum): pbc = "pbc" bc1 = "bc1" bc2 = "bc2" @@ -2643,7 +2667,7 @@ class Type85(Enum): class BoundaryConditionsDataProviderSchema(BaseModel): - type: Optional[Type85] = "pbc" + type: Optional[Type86] = "pbc" """ If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. """ @@ -3185,7 +3209,7 @@ class DFTHybridModelSchema(BaseModel): method: BaseMethod18 = Field(..., title="base method") -class Type86(Enum): +class Type87(Enum): ml = "ml" @@ -3213,12 +3237,12 @@ class BaseMethod19(BaseModel): class MLModelSchema(BaseModel): - type: Type86 + type: Type87 subtype: Literal["3#-datamodel-code-generator-#-object-#-special-#"] method: BaseMethod19 = Field(..., title="base method") -class Type87(Enum): +class Type88(Enum): unknown = "unknown" @@ -3246,12 +3270,12 @@ class BaseMethod20(BaseModel): class UnknownModelSchema(BaseModel): - type: Type87 + type: Type88 subtype: Literal["4#-datamodel-code-generator-#-object-#-special-#"] method: BaseMethod20 = Field(..., title="base method") -class ApplicationSchema8(BaseModel): +class ApplicationSchema10(BaseModel): id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -3344,7 +3368,7 @@ class SubworkflowSchema(BaseModel): model: Union[DFTLDAModelSchema, DFTGGAModelSchema, DFTHybridModelSchema, MLModelSchema, UnknownModelSchema] = Field( ..., discriminator="subtype", title="Any model schema" ) - application: ApplicationSchema8 = Field(..., title="application schema") + application: ApplicationSchema10 = Field(..., title="application schema") isMultiMaterial: Optional[bool] = None isDraft: Optional[bool] = False """ @@ -3746,7 +3770,7 @@ class WorkflowPropertySchema(BaseModel): descriptionObject: Optional[Dict[str, Any]] = None -class Name565(Enum): +class Name566(Enum): magnetic_moments = "magnetic_moments" @@ -3761,40 +3785,42 @@ class AtomicVectorSchema(BaseModel): """ -class Units251(Enum): +class Units282(Enum): uB = "uB" class MagneticMomentsPropertySchema(BaseModel): name: Literal["35#-datamodel-code-generator-#-object-#-special-#"] values: List[AtomicVectorSchema] = Field(..., title="atomic vectors schema") - units: Units251 + units: Units282 -class Name566(Enum): +class Name567(Enum): atomic_forces = "atomic_forces" -class Units252(Enum): +class Units283(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." + nN = "nN" + pN = "pN" class AtomicForcesPropertySchema(BaseModel): name: Literal["36#-datamodel-code-generator-#-object-#-special-#"] values: List[AtomicVectorSchema] = Field(..., title="atomic vectors schema") - units: Units252 + units: Units283 -class Name567(Enum): +class Name568(Enum): convergence_electronic = "convergence_electronic" -class Units253(Enum): +class Units284(Enum): eV = "eV" Ry = "Ry" hartree = "hartree" @@ -3802,26 +3828,26 @@ class Units253(Enum): class ConvergenceElectronicPropertySchema(BaseModel): name: Literal["37#-datamodel-code-generator-#-object-#-special-#"] - units: Units253 + units: Units284 data: List[List[float]] -class Name568(Enum): +class Name569(Enum): convergence_ionic = "convergence_ionic" -class Units254(Enum): +class Units285(Enum): eV = "eV" -class Units255(Enum): +class Units286(Enum): eV = "eV" Ry = "Ry" hartree = "hartree" class Electronic(BaseModel): - units: Optional[Units255] = None + units: Optional[Units286] = None """ units for force tolerance """ @@ -3849,7 +3875,7 @@ class ConvergenceIonicPropertySchema(BaseModel): """ for ionic convergence tolerance shows force tolerance """ - units: Units254 + units: Units285 """ units for force tolerance """ @@ -3859,7 +3885,7 @@ class ConvergenceIonicPropertySchema(BaseModel): """ -class Name569(Enum): +class Name570(Enum): is_relaxed = "is_relaxed" @@ -3872,7 +3898,7 @@ class IsRelaxedPropertySchema(BaseModel): """ -class Name570(Enum): +class Name571(Enum): final_structure = "final_structure" @@ -3885,7 +3911,7 @@ class FinalStructurePropertySchema(BaseModel): """ -class Name571(Enum): +class Name572(Enum): jupyter_notebook_endpoint = "jupyter_notebook_endpoint" @@ -3896,6 +3922,95 @@ class JupyterNotebookEndpointPropertySchema(BaseModel): token: str +class Name573(Enum): + film_thickness = "film_thickness" + + +class Units287(Enum): + km = "km" + m = "m" + cm = "cm" + mm = "mm" + um = "um" + nm = "nm" + angstrom = "angstrom" + a_u_ = "a.u." + bohr = "bohr" + pm = "pm" + + +class FilmThicknessPropertySchema(BaseModel): + name: Literal["42#-datamodel-code-generator-#-object-#-special-#"] + units: Units287 + layerIndex: Optional[int] = None + """ + Index of the layer in the sample's stack this thickness refers to. + """ + value: float + + +class Name574(Enum): + surface_roughness = "surface_roughness" + + +class Statistic(Enum): + root_mean_square = "root_mean_square" + arithmetic_average = "arithmetic_average" + peak_to_valley = "peak_to_valley" + + +class SurfaceRoughnessPropertySchema(BaseModel): + name: Literal["43#-datamodel-code-generator-#-object-#-special-#"] + statistic: Optional[Statistic] = None + """ + Estimator the value was computed with. + """ + units: Units287 + value: float + + +class Name575(Enum): + hysteresis_loop = "hysteresis_loop" + + +class LoopType(Enum): + polarization_electric_field = "polarization_electric_field" + piezoresponse_bias = "piezoresponse_bias" + amplitude_bias = "amplitude_bias" + phase_bias = "phase_bias" + current_voltage = "current_voltage" + + +class AxisSchema35(BaseModel): + label: str + """ + label of an axis object + """ + units: Optional[str] = None + """ + units for an axis + """ + + +class HysteresisLoopPropertySchema(BaseModel): + name: Literal["44#-datamodel-code-generator-#-object-#-special-#"] + loopType: LoopType + """ + Which pair of quantities the loop relates. + """ + legend: Optional[List[str]] = None + """ + Label for each series in yDataSeries, e.g. on_field and off_field. + """ + xAxis: AxisSchema35 = Field(..., title="axis schema") + yAxis: AxisSchema35 = 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") + + class Info(BaseModel): jobId: str """ @@ -3907,12 +4022,56 @@ class Info(BaseModel): """ +class Type89(Enum): + measurement = "measurement" + + +class InfoForAValueObtainedByMeasurement(BaseModel): + type: Optional[Type89] = None + measurementId: str + """ + Measurement's identity + """ + channel: Optional[str] = None + """ + Data channel or analysis step the value was extracted from, e.g. the phase channel of a switching-spectroscopy acquisition + """ + sampleId: Optional[str] = None + """ + Identity of the sample the measurement was taken on + """ + instrumentId: Optional[str] = None + """ + Identity of the instrument the measurement was taken with + """ + + +class Type90(Enum): + process = "process" + + +class InfoForAValueObtainedFromAProcess(BaseModel): + type: Optional[Type90] = None + processId: str + """ + Process's identity + """ + stepFlowchartId: Optional[str] = None + """ + flowchartId of the step the value came from, the analogue of unitId + """ + sampleId: Optional[str] = None + """ + Identity of the sample the process produced + """ + + class Source61(BaseModel): type: str """ Type of the material property's source. """ - info: Info + info: Union[Info, InfoForAValueObtainedByMeasurement, InfoForAValueObtainedFromAProcess] class Precision(BaseModel): @@ -3973,6 +4132,9 @@ class PropertyHolderSchema(BaseModel): IsRelaxedPropertySchema, FinalStructurePropertySchema, JupyterNotebookEndpointPropertySchema, + FilmThicknessPropertySchema, + SurfaceRoughnessPropertySchema, + HysteresisLoopPropertySchema, ] = Field(..., discriminator="name") """ container of the information, specific to each property diff --git a/src/py/mat3ra/esse/models/property/meta/The_source_of_a_property/__init__.py b/src/py/mat3ra/esse/models/property/meta/The_source_of_a_property/__init__.py deleted file mode 100644 index 1f5385052..000000000 --- a/src/py/mat3ra/esse/models/property/meta/The_source_of_a_property/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -# generated by datamodel-codegen: -# filename: schema -# version: 0.28.5 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/proto_holder.py b/src/py/mat3ra/esse/models/property/proto_holder.py index f29081e0a..c291f6b2f 100644 --- a/src/py/mat3ra/esse/models/property/proto_holder.py +++ b/src/py/mat3ra/esse/models/property/proto_holder.py @@ -33,7 +33,7 @@ class AtomicConstraintsPropertySchema(BaseModel): """ -class Name727(Enum): +class Name732(Enum): boundary_conditions = "boundary_conditions" @@ -45,7 +45,7 @@ class Type(Enum): class BoundaryConditionsPropertySchema(BaseModel): - name: Name727 + name: Name732 type: Optional[Type] = "pbc" """ If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab. diff --git a/src/py/mat3ra/esse/models/property/raw.py b/src/py/mat3ra/esse/models/property/raw.py deleted file mode 100644 index 5e9e4ec92..000000000 --- a/src/py/mat3ra/esse/models/property/raw.py +++ /dev/null @@ -1,216 +0,0 @@ -# generated by datamodel-codegen: -# filename: property/raw.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 Info(BaseModel): - jobId: str - """ - Job's identity - """ - unitId: str - """ - Id of the unit that extracted the result - """ - - -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 Type71(Enum): - literature = "literature" - - -class PagesSchema(BaseModel): - start: str - end: Optional[str] = None - - -class LiteratureReferenceSchema(BaseModel): - type: Optional[Type71] = 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 - """ - - -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 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/src/py/mat3ra/esse/models/property/raw/The_source_of_a_property/__init__.py b/src/py/mat3ra/esse/models/property/raw/The_source_of_a_property/__init__.py deleted file mode 100644 index 1f5385052..000000000 --- a/src/py/mat3ra/esse/models/property/raw/The_source_of_a_property/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -# generated by datamodel-codegen: -# filename: schema -# version: 0.28.5 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 7255399e3..316a36f58 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 Type135(Enum): +class Type145(Enum): literature = "literature" @@ -72,7 +72,7 @@ class PagesSchema(BaseModel): class LiteratureReferenceSchema(BaseModel): - type: Optional[Type135] = None + type: Optional[Type145] = 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/__init__.py b/src/py/mat3ra/esse/models/property/source/The_source_of_a_property/__init__.py deleted file mode 100644 index 1f5385052..000000000 --- a/src/py/mat3ra/esse/models/property/source/The_source_of_a_property/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -# generated by datamodel-codegen: -# filename: schema -# version: 0.28.5 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/sample/__init__.py b/src/py/mat3ra/esse/models/sample/__init__.py new file mode 100644 index 000000000..b0fbc49fa --- /dev/null +++ b/src/py/mat3ra/esse/models/sample/__init__.py @@ -0,0 +1,425 @@ +# generated by datamodel-codegen: +# filename: sample.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, confloat, conint + + +class Form(Enum): + bulk = "bulk" + thin_film = "thin_film" + multilayer = "multilayer" + powder = "powder" + wafer = "wafer" + library = "library" + piece = "piece" + device = "device" + liquid = "liquid" + other = "other" + + +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 + """ + + +class Cls(Enum): + Material = "Material" + + +class MaterialEntityReferenceSchema(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class Cls23(Enum): + Sample = "Sample" + + +class SampleEntityReferenceSchema(BaseModel): + cls: Optional[Cls23] = None + """ + Sample class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +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 CoordinateSystem(Enum): + wafer_center = "wafer_center" + wafer_flat = "wafer_flat" + library_grid = "library_grid" + stage = "stage" + custom = "custom" + + +class SamplePositionSchema(BaseModel): + index: Optional[conint(ge=0)] = None + """ + Position number within the parent, e.g. 1 to 44 on an HTEM library. + """ + label: Optional[str] = None + """ + Human-readable label for the position, e.g. a sub-sample identifier such as R12. + """ + row: Optional[int] = None + column: Optional[int] = None + coordinate: List[float] = Field(..., max_length=2, min_length=2, title="coordinate 2d schema") + units: Units + coordinateSystem: Optional[CoordinateSystem] = "wafer_center" + """ + Origin and orientation the coordinate is given in. + """ + + +class Scheme(Enum): + internal = "internal" + htem = "htem" + lmc = "lmc" + igsn = "igsn" + doi = "doi" + barcode = "barcode" + vendor = "vendor" + other = "other" + + +class IdentifierSchema(BaseModel): + scheme: Scheme + """ + Namespace the value is unique within. + """ + value: str + """ + The identifier itself. + """ + + +class Role(Enum): + substrate = "substrate" + buffer = "buffer" + seed = "seed" + adhesion = "adhesion" + bottom_electrode = "bottom_electrode" + film = "film" + top_electrode = "top_electrode" + capping = "capping" + other = "other" + + +class Cls24(Enum): + Material = "Material" + + +class MaterialEntityReferenceSchema12(BaseModel): + cls: Optional[Cls24] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class LengthQuantitySchema(BaseModel): + units: Units + value: float + + +class Crystallinity(Enum): + single_crystal = "single_crystal" + epitaxial = "epitaxial" + textured = "textured" + polycrystalline = "polycrystalline" + amorphous = "amorphous" + unknown = "unknown" + + +class EntityReferenceSchema(BaseModel): + id: str = Field(..., alias="_id") + """ + entity identity + """ + cls: Optional[str] = None + """ + entity class + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class SampleLayerSchema(BaseModel): + index: Optional[conint(ge=0)] = None + """ + Order in the stack, 0 being the substrate and increasing upward. + """ + role: Role + """ + What this layer does in the stack. + """ + name: Optional[str] = None + formula: Optional[str] = None + """ + Chemical formula of the layer, e.g. AlScN + """ + material: Optional[MaterialEntityReferenceSchema12] = Field( + None, alias="_material", title="Material entity reference schema" + ) + thickness: Optional[LengthQuantitySchema] = Field(None, title="length quantity schema") + """ + A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + crystallinity: Optional[Crystallinity] = None + orientation: Optional[str] = None + """ + Out-of-plane orientation, e.g. (0001) + """ + process: Optional[EntityReferenceSchema] = Field(None, alias="_process", title="entity reference schema") + + +class Type(Enum): + composition_spread = "composition_spread" + thickness_gradient = "thickness_gradient" + temperature_gradient = "temperature_gradient" + discrete_array = "discrete_array" + other = "other" + + +class LengthQuantitySchema4(BaseModel): + units: Units + value: float + + +class Grid(BaseModel): + rows: Optional[int] = None + columns: Optional[int] = None + pitch: Optional[LengthQuantitySchema4] = Field(None, title="length quantity schema") + """ + A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + + +class Quantity(Enum): + composition = "composition" + thickness = "thickness" + temperature = "temperature" + other = "other" + + +class Axis(Enum): + x = "x" + y = "y" + radial = "radial" + custom = "custom" + + +class Gradient(BaseModel): + quantity: Quantity + element: Optional[str] = None + """ + Element the gradient is in, when the quantity is composition. + """ + axis: Optional[Axis] = None + minimum: Optional[float] = None + maximum: Optional[float] = None + units: Optional[str] = None + + +class SamplePositionSchema5(BaseModel): + index: Optional[conint(ge=0)] = None + """ + Position number within the parent, e.g. 1 to 44 on an HTEM library. + """ + label: Optional[str] = None + """ + Human-readable label for the position, e.g. a sub-sample identifier such as R12. + """ + row: Optional[int] = None + column: Optional[int] = None + coordinate: List[float] = Field(..., max_length=2, min_length=2, title="coordinate 2d schema") + units: Units + coordinateSystem: Optional[CoordinateSystem] = "wafer_center" + """ + Origin and orientation the coordinate is given in. + """ + + +class SampleLibrarySchema(BaseModel): + type: Type + """ + What varies across the library. + """ + grid: Optional[Grid] = None + """ + Regular arrangement of the positions. + """ + gradients: Optional[List[Gradient]] = None + """ + Quantities that vary across the library and the direction they vary in. + """ + positions: List[SamplePositionSchema5] + """ + The positions themselves, in index order. + """ + + +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 + """ + + +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 SampleSchema(BaseModel): + 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 + """ + formula: Optional[str] = None + """ + Nominal reduced chemical formula of the sample, or of its top layer for a stack, e.g. Al0.7Sc0.3N + """ + form: Form + """ + Physical form of the specimen. + """ + composition: Optional[List[ElementalRatio]] = None + """ + Measured or nominal elemental fractions, reusing the elemental ratio property so a composition from XRF and one from a calculation have the same shape. + """ + material: Optional[MaterialEntityReferenceSchema] = Field( + None, alias="_material", title="Material entity reference schema" + ) + parent: Optional[SampleEntityReferenceSchema] = Field(None, alias="_parent", title="Sample entity reference schema") + """ + Reference to a sample entity, the experimental mirror of system/_material. + """ + position: Optional[SamplePositionSchema] = Field(None, title="sample position schema") + """ + A location on a sample. Together with the identity of the sample it is the join key that ties a per-position measurement on a combinatorial library to the point it was taken at. + """ + identifiers: Optional[List[IdentifierSchema]] = None + """ + Identifiers this sample carries in other systems, e.g. an HTEM sample id or a lab-system run number. + """ + layers: Optional[List[SampleLayerSchema]] = None + """ + Layer stack, ordered from the substrate upward. + """ + library: Optional[SampleLibrarySchema] = Field(None, title="sample library schema") + """ + A combinatorial library: one substrate carrying a spread of composition, thickness or temperature, measured at a grid of positions. Positions are listed here so the grid can be read without fetching the child sample of every point. + """ + 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 + """ + metadata: Optional[Dict[str, Any]] = {} diff --git a/src/py/mat3ra/esse/models/sample/layer.py b/src/py/mat3ra/esse/models/sample/layer.py new file mode 100644 index 000000000..bf4eeb9d5 --- /dev/null +++ b/src/py/mat3ra/esse/models/sample/layer.py @@ -0,0 +1,112 @@ +# generated by datamodel-codegen: +# filename: sample/layer.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import Optional + +from pydantic import BaseModel, Field, conint + + +class Role(Enum): + substrate = "substrate" + buffer = "buffer" + seed = "seed" + adhesion = "adhesion" + bottom_electrode = "bottom_electrode" + film = "film" + top_electrode = "top_electrode" + capping = "capping" + other = "other" + + +class Cls(Enum): + Material = "Material" + + +class MaterialEntityReferenceSchema(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +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 LengthQuantitySchema(BaseModel): + units: Units + value: float + + +class Crystallinity(Enum): + single_crystal = "single_crystal" + epitaxial = "epitaxial" + textured = "textured" + polycrystalline = "polycrystalline" + amorphous = "amorphous" + unknown = "unknown" + + +class EntityReferenceSchema(BaseModel): + id: str = Field(..., alias="_id") + """ + entity identity + """ + cls: Optional[str] = None + """ + entity class + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class SampleLayerSchema(BaseModel): + index: Optional[conint(ge=0)] = None + """ + Order in the stack, 0 being the substrate and increasing upward. + """ + role: Role + """ + What this layer does in the stack. + """ + name: Optional[str] = None + formula: Optional[str] = None + """ + Chemical formula of the layer, e.g. AlScN + """ + material: Optional[MaterialEntityReferenceSchema] = Field( + None, alias="_material", title="Material entity reference schema" + ) + thickness: Optional[LengthQuantitySchema] = Field(None, title="length quantity schema") + """ + A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + crystallinity: Optional[Crystallinity] = None + orientation: Optional[str] = None + """ + Out-of-plane orientation, e.g. (0001) + """ + process: Optional[EntityReferenceSchema] = Field(None, alias="_process", title="entity reference schema") diff --git a/src/py/mat3ra/esse/models/sample/library.py b/src/py/mat3ra/esse/models/sample/library.py new file mode 100644 index 000000000..5c739af05 --- /dev/null +++ b/src/py/mat3ra/esse/models/sample/library.py @@ -0,0 +1,117 @@ +# generated by datamodel-codegen: +# filename: sample/library.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, Field, conint + + +class Type(Enum): + composition_spread = "composition_spread" + thickness_gradient = "thickness_gradient" + temperature_gradient = "temperature_gradient" + discrete_array = "discrete_array" + other = "other" + + +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 LengthQuantitySchema(BaseModel): + units: Units + value: float + + +class Grid(BaseModel): + rows: Optional[int] = None + columns: Optional[int] = None + pitch: Optional[LengthQuantitySchema] = Field(None, title="length quantity schema") + """ + A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + + +class Quantity(Enum): + composition = "composition" + thickness = "thickness" + temperature = "temperature" + other = "other" + + +class Axis(Enum): + x = "x" + y = "y" + radial = "radial" + custom = "custom" + + +class Gradient(BaseModel): + quantity: Quantity + element: Optional[str] = None + """ + Element the gradient is in, when the quantity is composition. + """ + axis: Optional[Axis] = None + minimum: Optional[float] = None + maximum: Optional[float] = None + units: Optional[str] = None + + +class CoordinateSystem(Enum): + wafer_center = "wafer_center" + wafer_flat = "wafer_flat" + library_grid = "library_grid" + stage = "stage" + custom = "custom" + + +class SamplePositionSchema(BaseModel): + index: Optional[conint(ge=0)] = None + """ + Position number within the parent, e.g. 1 to 44 on an HTEM library. + """ + label: Optional[str] = None + """ + Human-readable label for the position, e.g. a sub-sample identifier such as R12. + """ + row: Optional[int] = None + column: Optional[int] = None + coordinate: List[float] = Field(..., max_length=2, min_length=2, title="coordinate 2d schema") + units: Units + coordinateSystem: Optional[CoordinateSystem] = "wafer_center" + """ + Origin and orientation the coordinate is given in. + """ + + +class SampleLibrarySchema(BaseModel): + type: Type + """ + What varies across the library. + """ + grid: Optional[Grid] = None + """ + Regular arrangement of the positions. + """ + gradients: Optional[List[Gradient]] = None + """ + Quantities that vary across the library and the direction they vary in. + """ + positions: List[SamplePositionSchema] + """ + The positions themselves, in index order. + """ diff --git a/src/py/mat3ra/esse/models/sample/metadata.py b/src/py/mat3ra/esse/models/sample/metadata.py new file mode 100644 index 000000000..34eb85582 --- /dev/null +++ b/src/py/mat3ra/esse/models/sample/metadata.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: sample/metadata.json +# version: 0.28.5 + +from __future__ import annotations + +from typing import Any, Dict, Optional + +from pydantic import BaseModel + + +class SampleMetadataSchema(BaseModel): + metadata: Optional[Dict[str, Any]] = {} diff --git a/src/py/mat3ra/esse/models/sample/position.py b/src/py/mat3ra/esse/models/sample/position.py new file mode 100644 index 000000000..072d90f86 --- /dev/null +++ b/src/py/mat3ra/esse/models/sample/position.py @@ -0,0 +1,50 @@ +# generated by datamodel-codegen: +# filename: sample/position.json +# version: 0.28.5 + +from __future__ import annotations + +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, Field, conint + + +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 CoordinateSystem(Enum): + wafer_center = "wafer_center" + wafer_flat = "wafer_flat" + library_grid = "library_grid" + stage = "stage" + custom = "custom" + + +class SamplePositionSchema(BaseModel): + index: Optional[conint(ge=0)] = None + """ + Position number within the parent, e.g. 1 to 44 on an HTEM library. + """ + label: Optional[str] = None + """ + Human-readable label for the position, e.g. a sub-sample identifier such as R12. + """ + row: Optional[int] = None + column: Optional[int] = None + coordinate: List[float] = Field(..., max_length=2, min_length=2, title="coordinate 2d schema") + units: Units + coordinateSystem: Optional[CoordinateSystem] = "wafer_center" + """ + Origin and orientation the coordinate is given in. + """ diff --git a/src/py/mat3ra/esse/models/sample/sample_properties.py b/src/py/mat3ra/esse/models/sample/sample_properties.py new file mode 100644 index 000000000..6dea95563 --- /dev/null +++ b/src/py/mat3ra/esse/models/sample/sample_properties.py @@ -0,0 +1,403 @@ +# generated by datamodel-codegen: +# filename: sample/sample_properties.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, confloat, conint + + +class Form(Enum): + bulk = "bulk" + thin_film = "thin_film" + multilayer = "multilayer" + powder = "powder" + wafer = "wafer" + library = "library" + piece = "piece" + device = "device" + liquid = "liquid" + other = "other" + + +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 + """ + + +class Cls(Enum): + Material = "Material" + + +class MaterialEntityReferenceSchema(BaseModel): + cls: Optional[Cls] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class Cls26(Enum): + Sample = "Sample" + + +class SampleEntityReferenceSchema(BaseModel): + cls: Optional[Cls26] = None + """ + Sample class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +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 CoordinateSystem(Enum): + wafer_center = "wafer_center" + wafer_flat = "wafer_flat" + library_grid = "library_grid" + stage = "stage" + custom = "custom" + + +class SamplePositionSchema(BaseModel): + index: Optional[conint(ge=0)] = None + """ + Position number within the parent, e.g. 1 to 44 on an HTEM library. + """ + label: Optional[str] = None + """ + Human-readable label for the position, e.g. a sub-sample identifier such as R12. + """ + row: Optional[int] = None + column: Optional[int] = None + coordinate: List[float] = Field(..., max_length=2, min_length=2, title="coordinate 2d schema") + units: Units + coordinateSystem: Optional[CoordinateSystem] = "wafer_center" + """ + Origin and orientation the coordinate is given in. + """ + + +class Scheme(Enum): + internal = "internal" + htem = "htem" + lmc = "lmc" + igsn = "igsn" + doi = "doi" + barcode = "barcode" + vendor = "vendor" + other = "other" + + +class IdentifierSchema(BaseModel): + scheme: Scheme + """ + Namespace the value is unique within. + """ + value: str + """ + The identifier itself. + """ + + +class Role(Enum): + substrate = "substrate" + buffer = "buffer" + seed = "seed" + adhesion = "adhesion" + bottom_electrode = "bottom_electrode" + film = "film" + top_electrode = "top_electrode" + capping = "capping" + other = "other" + + +class Cls27(Enum): + Material = "Material" + + +class MaterialEntityReferenceSchema14(BaseModel): + cls: Optional[Cls27] = None + """ + Material class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class LengthQuantitySchema(BaseModel): + units: Units + value: float + + +class Crystallinity(Enum): + single_crystal = "single_crystal" + epitaxial = "epitaxial" + textured = "textured" + polycrystalline = "polycrystalline" + amorphous = "amorphous" + unknown = "unknown" + + +class EntityReferenceSchema(BaseModel): + id: str = Field(..., alias="_id") + """ + entity identity + """ + cls: Optional[str] = None + """ + entity class + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class SampleLayerSchema(BaseModel): + index: Optional[conint(ge=0)] = None + """ + Order in the stack, 0 being the substrate and increasing upward. + """ + role: Role + """ + What this layer does in the stack. + """ + name: Optional[str] = None + formula: Optional[str] = None + """ + Chemical formula of the layer, e.g. AlScN + """ + material: Optional[MaterialEntityReferenceSchema14] = Field( + None, alias="_material", title="Material entity reference schema" + ) + thickness: Optional[LengthQuantitySchema] = Field(None, title="length quantity schema") + """ + A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + crystallinity: Optional[Crystallinity] = None + orientation: Optional[str] = None + """ + Out-of-plane orientation, e.g. (0001) + """ + process: Optional[EntityReferenceSchema] = Field(None, alias="_process", title="entity reference schema") + + +class Type(Enum): + composition_spread = "composition_spread" + thickness_gradient = "thickness_gradient" + temperature_gradient = "temperature_gradient" + discrete_array = "discrete_array" + other = "other" + + +class LengthQuantitySchema6(BaseModel): + units: Units + value: float + + +class Grid(BaseModel): + rows: Optional[int] = None + columns: Optional[int] = None + pitch: Optional[LengthQuantitySchema6] = Field(None, title="length quantity schema") + """ + A scalar with length units, e.g. a film thickness or a scan range. Follows the core/reusable/energy pattern (a scalar plus a units enum) without requiring a property name, so it can be embedded as a field of any schema. + """ + + +class Quantity(Enum): + composition = "composition" + thickness = "thickness" + temperature = "temperature" + other = "other" + + +class Axis(Enum): + x = "x" + y = "y" + radial = "radial" + custom = "custom" + + +class Gradient(BaseModel): + quantity: Quantity + element: Optional[str] = None + """ + Element the gradient is in, when the quantity is composition. + """ + axis: Optional[Axis] = None + minimum: Optional[float] = None + maximum: Optional[float] = None + units: Optional[str] = None + + +class SamplePositionSchema7(BaseModel): + index: Optional[conint(ge=0)] = None + """ + Position number within the parent, e.g. 1 to 44 on an HTEM library. + """ + label: Optional[str] = None + """ + Human-readable label for the position, e.g. a sub-sample identifier such as R12. + """ + row: Optional[int] = None + column: Optional[int] = None + coordinate: List[float] = Field(..., max_length=2, min_length=2, title="coordinate 2d schema") + units: Units + coordinateSystem: Optional[CoordinateSystem] = "wafer_center" + """ + Origin and orientation the coordinate is given in. + """ + + +class SampleLibrarySchema(BaseModel): + type: Type + """ + What varies across the library. + """ + grid: Optional[Grid] = None + """ + Regular arrangement of the positions. + """ + gradients: Optional[List[Gradient]] = None + """ + Quantities that vary across the library and the direction they vary in. + """ + positions: List[SamplePositionSchema7] + """ + The positions themselves, in index order. + """ + + +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 + """ + + +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 SamplePropertiesSchema(BaseModel): + formula: Optional[str] = None + """ + Nominal reduced chemical formula of the sample, or of its top layer for a stack, e.g. Al0.7Sc0.3N + """ + form: Form + """ + Physical form of the specimen. + """ + composition: Optional[List[ElementalRatio]] = None + """ + Measured or nominal elemental fractions, reusing the elemental ratio property so a composition from XRF and one from a calculation have the same shape. + """ + material: Optional[MaterialEntityReferenceSchema] = Field( + None, alias="_material", title="Material entity reference schema" + ) + parent: Optional[SampleEntityReferenceSchema] = Field(None, alias="_parent", title="Sample entity reference schema") + """ + Reference to a sample entity, the experimental mirror of system/_material. + """ + position: Optional[SamplePositionSchema] = Field(None, title="sample position schema") + """ + A location on a sample. Together with the identity of the sample it is the join key that ties a per-position measurement on a combinatorial library to the point it was taken at. + """ + identifiers: Optional[List[IdentifierSchema]] = None + """ + Identifiers this sample carries in other systems, e.g. an HTEM sample id or a lab-system run number. + """ + layers: Optional[List[SampleLayerSchema]] = None + """ + Layer stack, ordered from the substrate upward. + """ + library: Optional[SampleLibrarySchema] = Field(None, title="sample library schema") + """ + A combinatorial library: one substrate carrying a spread of composition, thickness or temperature, measured at a grid of positions. Positions are listed here so the grid can be read without fetching the child sample of every point. + """ + 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 + """ diff --git a/src/py/mat3ra/esse/models/software/application.py b/src/py/mat3ra/esse/models/software/application.py deleted file mode 100644 index d3d6cc5a2..000000000 --- a/src/py/mat3ra/esse/models/software/application.py +++ /dev/null @@ -1,57 +0,0 @@ -# generated by datamodel-codegen: -# filename: software/application.json -# version: 0.28.5 - -from __future__ import annotations - -from typing import Optional - -from pydantic import BaseModel, Field - - -class ApplicationSchema(BaseModel): - 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/src/py/mat3ra/esse/models/software/application/versions.py b/src/py/mat3ra/esse/models/software/application/versions.py deleted file mode 100644 index 11bed3608..000000000 --- a/src/py/mat3ra/esse/models/software/application/versions.py +++ /dev/null @@ -1,31 +0,0 @@ -# generated by datamodel-codegen: -# filename: software/application/versions.json -# version: 0.28.5 - -from __future__ import annotations - -from typing import Optional - -from pydantic import BaseModel, ConfigDict - - -class ApplicationVersionsSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - version: Optional[str] = None - """ - Application version. e.g. 5.3.5 - """ - build: Optional[str] = None - """ - Application build. e.g. VTST - """ - isDefault: Optional[bool] = None - """ - Identifies that build is default. - """ - hasAdvancedComputeOptions: Optional[bool] = None - """ - Whether advanced compute options are 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 07a0c0072..dd1312a83 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 @@ -334,6 +334,10 @@ class NWChemTotalEnergyContextProviderSchema(BaseModel): """ Whether atomic positions are expressed in cartesian coordinates. """ + RESTART: Optional[bool] = None + """ + Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart. + """ class RESTARTMODE(Enum): 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 a6e948040..28e29753f 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 @@ -334,6 +334,10 @@ class NWChemTotalEnergyContextProviderSchema(BaseModel): """ Whether atomic positions are expressed in cartesian coordinates. """ + RESTART: Optional[bool] = None + """ + Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart. + """ class RESTARTMODE(Enum): diff --git a/src/py/mat3ra/esse/models/system/_sample.py b/src/py/mat3ra/esse/models/system/_sample.py new file mode 100644 index 000000000..10544b57a --- /dev/null +++ b/src/py/mat3ra/esse/models/system/_sample.py @@ -0,0 +1,29 @@ +# generated by datamodel-codegen: +# filename: system/_sample.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): + Sample = "Sample" + + +class SampleEntityReferenceSchema(BaseModel): + cls: Optional[Cls] = None + """ + Sample class + """ + id: str = Field(..., alias="_id") + """ + entity identity + """ + slug: Optional[str] = None + """ + entity slug + """ diff --git a/src/py/mat3ra/esse/models/system/activity.py b/src/py/mat3ra/esse/models/system/activity.py new file mode 100644 index 000000000..61f32ff69 --- /dev/null +++ b/src/py/mat3ra/esse/models/system/activity.py @@ -0,0 +1,67 @@ +# generated by datamodel-codegen: +# filename: system/activity.json +# version: 0.28.5 + +from __future__ import annotations + +from datetime import datetime +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, Field + + +class Status(Enum): + draft = "draft" + planned = "planned" + active = "active" + finished = "finished" + error = "error" + cancelled = "cancelled" + + +class EntityReferenceSchema(BaseModel): + id: str = Field(..., alias="_id") + """ + entity identity + """ + cls: Optional[str] = None + """ + entity class + """ + slug: Optional[str] = None + """ + entity slug + """ + + +class Operator(BaseModel): + name: str + """ + Operator's name as recorded, e.g. a username. + """ + affiliation: Optional[str] = None + """ + Institution the operator belongs to. + """ + account: Optional[EntityReferenceSchema] = Field(None, alias="_account", title="entity reference schema") + + +class ActivitySchema(BaseModel): + status: Optional[Status] = None + """ + Lifecycle state. 'draft' marks a recipe or protocol that has not been executed. + """ + startTime: Optional[datetime] = None + """ + When the activity started, as an ISO 8601 timestamp. A string rather than an epoch number so it stays readable without a converter, matching job.startTime. + """ + endTime: Optional[datetime] = None + """ + When the activity finished, as an ISO 8601 timestamp. + """ + operators: Optional[List[Operator]] = None + """ + People who ran the activity. A name and an optional affiliation rather than the bibliographic author shape used for citations: a laboratory record identifies an operator by whatever the instrument logged, often a single username, and a citation's requirement of a surname does not hold there. + """ + project: Optional[EntityReferenceSchema] = Field(None, alias="_project", title="entity reference schema") diff --git a/src/py/mat3ra/esse/models/property/base/The_source_of_a_property/__init__.py b/src/py/mat3ra/esse/models/techniques_category/__init__.py similarity index 100% rename from src/py/mat3ra/esse/models/property/base/The_source_of_a_property/__init__.py rename to src/py/mat3ra/esse/models/techniques_category/__init__.py diff --git a/src/py/mat3ra/esse/models/techniques_category/enum_options.py b/src/py/mat3ra/esse/models/techniques_category/enum_options.py new file mode 100644 index 000000000..8f7bb4b01 --- /dev/null +++ b/src/py/mat3ra/esse/models/techniques_category/enum_options.py @@ -0,0 +1,13 @@ +# generated by datamodel-codegen: +# filename: techniques_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/src/py/mat3ra/esse/models/techniques_category/experimental/__init__.py b/src/py/mat3ra/esse/models/techniques_category/experimental/__init__.py new file mode 100644 index 000000000..0c32b3cea --- /dev/null +++ b/src/py/mat3ra/esse/models/techniques_category/experimental/__init__.py @@ -0,0 +1,48 @@ +# generated by datamodel-codegen: +# filename: techniques_category/experimental.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): + experimental = "experimental" + + +class ExperimentalTechniqueCategorySchema(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/src/py/mat3ra/esse/models/techniques_category/experimental/characterization.py b/src/py/mat3ra/esse/models/techniques_category/experimental/characterization.py new file mode 100644 index 000000000..0dc0dbc9f --- /dev/null +++ b/src/py/mat3ra/esse/models/techniques_category/experimental/characterization.py @@ -0,0 +1,79 @@ +# generated by datamodel-codegen: +# filename: techniques_category/experimental/characterization.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): + characterization = "characterization" + + +class SlugifiedEntryOrSlug75(Enum): + microscopy = "microscopy" + spectroscopy = "spectroscopy" + diffraction = "diffraction" + electrical = "electrical" + optical = "optical" + + +class SlugifiedEntryOrSlug76(Enum): + scanning_probe_microscopy = "scanning_probe_microscopy" + electron_microscopy = "electron_microscopy" + x_ray = "x_ray" + transport = "transport" + dielectric = "dielectric" + ultraviolet_visible_near_infrared = "ultraviolet_visible_near_infrared" + + +class SlugifiedEntryOrSlug77(Enum): + atomic_force_microscopy = "atomic_force_microscopy" + scanning_tunneling_microscopy = "scanning_tunneling_microscopy" + scanning_tunneling_spectroscopy = "scanning_tunneling_spectroscopy" + piezoresponse_force_microscopy = "piezoresponse_force_microscopy" + kelvin_probe_force_microscopy = "kelvin_probe_force_microscopy" + conductive_atomic_force_microscopy = "conductive_atomic_force_microscopy" + magnetic_force_microscopy = "magnetic_force_microscopy" + + +class SlugifiedEntryOrSlug78(Enum): + experimental = "experimental" + + +class CharacterizationTechniqueCategorySchema(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 + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug75]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug76]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug77]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug78]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/src/py/mat3ra/esse/models/techniques_category/experimental/synthesis.py b/src/py/mat3ra/esse/models/techniques_category/experimental/synthesis.py new file mode 100644 index 000000000..c6630fd87 --- /dev/null +++ b/src/py/mat3ra/esse/models/techniques_category/experimental/synthesis.py @@ -0,0 +1,78 @@ +# generated by datamodel-codegen: +# filename: techniques_category/experimental/synthesis.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): + synthesis = "synthesis" + + +class SlugifiedEntryOrSlug407(Enum): + vapor_deposition = "vapor_deposition" + solution_processing = "solution_processing" + bulk_growth = "bulk_growth" + post_processing = "post_processing" + + +class SlugifiedEntryOrSlug408(Enum): + physical_vapor_deposition = "physical_vapor_deposition" + chemical_vapor_deposition = "chemical_vapor_deposition" + annealing = "annealing" + + +class SlugifiedEntryOrSlug409(Enum): + pulsed_laser_deposition = "pulsed_laser_deposition" + sputtering = "sputtering" + molecular_beam_epitaxy = "molecular_beam_epitaxy" + thermal_evaporation = "thermal_evaporation" + electron_beam_evaporation = "electron_beam_evaporation" + atomic_layer_deposition = "atomic_layer_deposition" + plasma_enhanced_atomic_layer_deposition = "plasma_enhanced_atomic_layer_deposition" + thermal_chemical_vapor_deposition = "thermal_chemical_vapor_deposition" + metalorganic_chemical_vapor_deposition = "metalorganic_chemical_vapor_deposition" + plasma_enhanced_chemical_vapor_deposition = "plasma_enhanced_chemical_vapor_deposition" + + +class SlugifiedEntryOrSlug410(Enum): + experimental = "experimental" + + +class SynthesisTechniqueCategorySchema(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 + """ + tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug407]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug408]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug409]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ + tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug410]] = Field(None, title="slugified entry or slug") + """ + contains either object with slugified entry or slug only as a string + """ diff --git a/src/py/mat3ra/esse/models/workflow/__init__.py b/src/py/mat3ra/esse/models/workflow/__init__.py index 747548be6..476f403fc 100644 --- a/src/py/mat3ra/esse/models/workflow/__init__.py +++ b/src/py/mat3ra/esse/models/workflow/__init__.py @@ -836,6 +836,10 @@ class NWChemTotalEnergyContextProviderSchema(BaseModel): """ Whether atomic positions are expressed in cartesian coordinates. """ + RESTART: Optional[bool] = None + """ + Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart. + """ class RESTARTMODE(Enum): @@ -1151,7 +1155,7 @@ class GridContextItemSchema(BaseModel): isEdited: bool -class Name888(Enum): +class Name896(Enum): qpath = "qpath" ipath = "ipath" kpath = "kpath" @@ -1817,7 +1821,7 @@ class DFTHybridModelSchema(BaseModel): method: BaseMethod42 = Field(..., title="base method") -class Type150(Enum): +class Type162(Enum): ml = "ml" @@ -1845,12 +1849,12 @@ class BaseMethod43(BaseModel): class MLModelSchema(BaseModel): - type: Type150 + type: Type162 subtype: Literal["3#-datamodel-code-generator-#-object-#-special-#"] method: BaseMethod43 = Field(..., title="base method") -class Type151(Enum): +class Type163(Enum): unknown = "unknown" @@ -1878,12 +1882,12 @@ class BaseMethod44(BaseModel): class UnknownModelSchema(BaseModel): - type: Type151 + type: Type163 subtype: Literal["4#-datamodel-code-generator-#-object-#-special-#"] method: BaseMethod44 = Field(..., title="base method") -class ApplicationSchema17(BaseModel): +class ApplicationSchema25(BaseModel): id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -1976,7 +1980,7 @@ class SubworkflowSchema(BaseModel): model: Union[DFTLDAModelSchema, DFTGGAModelSchema, DFTHybridModelSchema, MLModelSchema, UnknownModelSchema] = Field( ..., discriminator="subtype", title="Any model schema" ) - application: ApplicationSchema17 = Field(..., title="application schema") + application: ApplicationSchema25 = Field(..., title="application schema") isMultiMaterial: Optional[bool] = None isDraft: Optional[bool] = False """ diff --git a/src/py/mat3ra/esse/models/workflow/base.py b/src/py/mat3ra/esse/models/workflow/base.py index a5e69d9bc..d1a139d20 100644 --- a/src/py/mat3ra/esse/models/workflow/base.py +++ b/src/py/mat3ra/esse/models/workflow/base.py @@ -762,6 +762,10 @@ class NWChemTotalEnergyContextProviderSchema(BaseModel): """ Whether atomic positions are expressed in cartesian coordinates. """ + RESTART: Optional[bool] = None + """ + Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart. + """ class RESTARTMODE(Enum): @@ -1743,7 +1747,7 @@ class DFTHybridModelSchema(BaseModel): method: BaseMethod7 = Field(..., title="base method") -class Type9(Enum): +class Type10(Enum): ml = "ml" @@ -1771,12 +1775,12 @@ class BaseMethod8(BaseModel): class MLModelSchema(BaseModel): - type: Type9 + type: Type10 subtype: Literal["3#-datamodel-code-generator-#-object-#-special-#"] method: BaseMethod8 = Field(..., title="base method") -class Type10(Enum): +class Type11(Enum): unknown = "unknown" @@ -1804,12 +1808,12 @@ class BaseMethod9(BaseModel): class UnknownModelSchema(BaseModel): - type: Type10 + type: Type11 subtype: Literal["4#-datamodel-code-generator-#-object-#-special-#"] method: BaseMethod9 = Field(..., title="base method") -class ApplicationSchema2(BaseModel): +class ApplicationSchema3(BaseModel): id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -1902,7 +1906,7 @@ class SubworkflowSchema(BaseModel): model: Union[DFTLDAModelSchema, DFTGGAModelSchema, DFTHybridModelSchema, MLModelSchema, UnknownModelSchema] = Field( ..., discriminator="subtype", title="Any model schema" ) - application: ApplicationSchema2 = Field(..., title="application schema") + application: ApplicationSchema3 = Field(..., title="application schema") isMultiMaterial: Optional[bool] = None isDraft: Optional[bool] = False """ diff --git a/src/py/mat3ra/esse/models/workflow/subworkflow/__init__.py b/src/py/mat3ra/esse/models/workflow/subworkflow/__init__.py index f4a91be49..293f87826 100644 --- a/src/py/mat3ra/esse/models/workflow/subworkflow/__init__.py +++ b/src/py/mat3ra/esse/models/workflow/subworkflow/__init__.py @@ -762,6 +762,10 @@ class NWChemTotalEnergyContextProviderSchema(BaseModel): """ Whether atomic positions are expressed in cartesian coordinates. """ + RESTART: Optional[bool] = None + """ + Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart. + """ class RESTARTMODE(Enum): @@ -1077,7 +1081,7 @@ class GridContextItemSchema(BaseModel): isEdited: bool -class Name826(Enum): +class Name833(Enum): qpath = "qpath" ipath = "ipath" kpath = "kpath" @@ -1743,7 +1747,7 @@ class DFTHybridModelSchema(BaseModel): method: BaseMethod36 = Field(..., title="base method") -class Type141(Enum): +class Type153(Enum): ml = "ml" @@ -1771,12 +1775,12 @@ class BaseMethod37(BaseModel): class MLModelSchema(BaseModel): - type: Type141 + type: Type153 subtype: Literal["3#-datamodel-code-generator-#-object-#-special-#"] method: BaseMethod37 = Field(..., title="base method") -class Type142(Enum): +class Type154(Enum): unknown = "unknown" @@ -1804,12 +1808,12 @@ class BaseMethod38(BaseModel): class UnknownModelSchema(BaseModel): - type: Type142 + type: Type154 subtype: Literal["4#-datamodel-code-generator-#-object-#-special-#"] method: BaseMethod38 = Field(..., title="base method") -class ApplicationSchema14(BaseModel): +class ApplicationSchema22(BaseModel): id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -1902,7 +1906,7 @@ class SubworkflowSchema(BaseModel): model: Union[DFTLDAModelSchema, DFTGGAModelSchema, DFTHybridModelSchema, MLModelSchema, UnknownModelSchema] = Field( ..., discriminator="subtype", title="Any model schema" ) - application: ApplicationSchema14 = Field(..., title="application schema") + application: ApplicationSchema22 = Field(..., title="application schema") isMultiMaterial: Optional[bool] = None isDraft: Optional[bool] = False """ diff --git a/src/py/mat3ra/esse/models/workflow/subworkflow/mixin.py b/src/py/mat3ra/esse/models/workflow/subworkflow/mixin.py index 482098ff6..069ce4281 100644 --- a/src/py/mat3ra/esse/models/workflow/subworkflow/mixin.py +++ b/src/py/mat3ra/esse/models/workflow/subworkflow/mixin.py @@ -762,6 +762,10 @@ class NWChemTotalEnergyContextProviderSchema(BaseModel): """ Whether atomic positions are expressed in cartesian coordinates. """ + RESTART: Optional[bool] = None + """ + Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart. + """ class RESTARTMODE(Enum): @@ -1077,7 +1081,7 @@ class GridContextItemSchema(BaseModel): isEdited: bool -class Name659(Enum): +class Name664(Enum): qpath = "qpath" ipath = "ipath" kpath = "kpath" @@ -1743,7 +1747,7 @@ class DFTHybridModelSchema(BaseModel): method: BaseMethod29 = Field(..., title="base method") -class Type107(Enum): +class Type112(Enum): ml = "ml" @@ -1771,12 +1775,12 @@ class BaseMethod30(BaseModel): class MLModelSchema(BaseModel): - type: Type107 + type: Type112 subtype: Literal["3#-datamodel-code-generator-#-object-#-special-#"] method: BaseMethod30 = Field(..., title="base method") -class Type108(Enum): +class Type113(Enum): unknown = "unknown" @@ -1804,12 +1808,12 @@ class BaseMethod31(BaseModel): class UnknownModelSchema(BaseModel): - type: Type108 + type: Type113 subtype: Literal["4#-datamodel-code-generator-#-object-#-special-#"] method: BaseMethod31 = Field(..., title="base method") -class ApplicationSchema12(BaseModel): +class ApplicationSchema18(BaseModel): id: Optional[str] = Field(None, alias="_id") """ entity identity @@ -1885,7 +1889,7 @@ class SubworkflowMixinSchema(BaseModel): model: Union[DFTLDAModelSchema, DFTGGAModelSchema, DFTHybridModelSchema, MLModelSchema, UnknownModelSchema] = Field( ..., discriminator="subtype", title="Any model schema" ) - application: ApplicationSchema12 = Field(..., title="application schema") + application: ApplicationSchema18 = Field(..., title="application schema") isMultiMaterial: Optional[bool] = None isDraft: Optional[bool] = False """ diff --git a/src/py/mat3ra/esse/models/workflow/subworkflow/unit.py b/src/py/mat3ra/esse/models/workflow/subworkflow/unit.py index 08ed2ce1c..0c119d202 100644 --- a/src/py/mat3ra/esse/models/workflow/subworkflow/unit.py +++ b/src/py/mat3ra/esse/models/workflow/subworkflow/unit.py @@ -617,6 +617,10 @@ class NWChemTotalEnergyContextProviderSchema(BaseModel): """ Whether atomic positions are expressed in cartesian coordinates. """ + RESTART: Optional[bool] = None + """ + Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart. + """ class RESTARTMODE(Enum): @@ -932,7 +936,7 @@ class GridContextItemSchema(BaseModel): isEdited: bool -class Name857(Enum): +class Name865(Enum): qpath = "qpath" ipath = "ipath" kpath = "kpath" diff --git a/src/py/mat3ra/esse/models/workflow/unit/context/boundary_conditions.py b/src/py/mat3ra/esse/models/workflow/unit/context/boundary_conditions.py deleted file mode 100644 index 79f745e95..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/context/boundary_conditions.py +++ /dev/null @@ -1,38 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/context/boundary_conditions.json -# version: 0.28.5 - -from __future__ import annotations - -from enum import Enum -from typing import Literal, Optional - -from pydantic import BaseModel, Field - - -class Type(Enum): - pbc = "pbc" - bc1 = "bc1" - bc2 = "bc2" - bc3 = "bc3" - - -class BoundaryConditionsDataProviderSchema(BaseModel): - 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)") - - -class ExtraDataWithMaterialHashSchema(BaseModel): - materialHash: Optional[str] = None - - -class BoundaryConditionsContextItemSchema(BaseModel): - name: Literal["boundaryConditions"] - data: BoundaryConditionsDataProviderSchema = Field(..., title="Boundary Conditions Data Provider Schema") - extraData: ExtraDataWithMaterialHashSchema = Field(..., title="extraData with materialHash schema") - isEdited: bool diff --git a/src/py/mat3ra/esse/models/workflow/unit/context/collinear_magnetization.py b/src/py/mat3ra/esse/models/workflow/unit/context/collinear_magnetization.py deleted file mode 100644 index 68917251e..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/context/collinear_magnetization.py +++ /dev/null @@ -1,37 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/context/collinear_magnetization.json -# version: 0.28.5 - -from __future__ import annotations - -from typing import List, Literal, Optional - -from pydantic import BaseModel, Field, confloat - - -class StartingMagnetizationItem(BaseModel): - atomicSpecies: str = Field(..., title="Atomic species") - value: confloat(ge=-1.0, le=1.0) = Field(..., title="Starting magnetization") - index: int = Field(..., title="Index") - - -class CollinearMagnetizationContextProviderSchema(BaseModel): - startingMagnetization: List[StartingMagnetizationItem] - isTotalMagnetization: bool = Field(..., title="Set total magnetization instead") - totalMagnetization: float = Field(..., title="Total magnetization") - - -class ExtraDataWithMaterialHashSchema(BaseModel): - materialHash: Optional[str] = None - - -class CollinearMagnetizationContextItemSchema(BaseModel): - name: Literal["collinearMagnetization"] - data: CollinearMagnetizationContextProviderSchema = Field( - ..., title="Collinear Magnetization Context Provider Schema" - ) - """ - Set starting magnetization, can have values in the range [-1, +1]. - """ - extraData: ExtraDataWithMaterialHashSchema = Field(..., title="extraData with materialHash schema") - isEdited: bool diff --git a/src/py/mat3ra/esse/models/workflow/unit/context/cutoffs.py b/src/py/mat3ra/esse/models/workflow/unit/context/cutoffs.py deleted file mode 100644 index dcbf4bcc1..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/context/cutoffs.py +++ /dev/null @@ -1,23 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/context/cutoffs.json -# version: 0.28.5 - -from __future__ import annotations - -from typing import Literal, Optional - -from pydantic import BaseModel, Field - - -class PlanewaveCutoffsContextProviderSchema(BaseModel): - wavefunction: Optional[float] = None - density: Optional[float] = None - - -class CutoffsContextItemSchema(BaseModel): - name: Literal["cutoffs"] - data: PlanewaveCutoffsContextProviderSchema = Field(..., title="Planewave Cutoffs Context Provider Schema") - """ - Planewave cutoff parameters for electronic wavefunctions and density. Units are specific to simulation engine. - """ - isEdited: bool diff --git a/src/py/mat3ra/esse/models/workflow/unit/context/dynamics.py b/src/py/mat3ra/esse/models/workflow/unit/context/dynamics.py deleted file mode 100644 index eeebf6405..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/context/dynamics.py +++ /dev/null @@ -1,25 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/context/dynamics.json -# version: 0.28.5 - -from __future__ import annotations - -from typing import Literal, Optional - -from pydantic import BaseModel, Field - - -class IonDynamicsContextProviderSchema(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)") - - -class DynamicsContextItemSchema(BaseModel): - name: Literal["dynamics"] - data: IonDynamicsContextProviderSchema = Field(..., title="Ion Dynamics Context Provider Schema") - """ - Important parameters for molecular dynamics calculation - """ - isEdited: bool diff --git a/src/py/mat3ra/esse/models/workflow/unit/context/grid.py b/src/py/mat3ra/esse/models/workflow/unit/context/grid.py deleted file mode 100644 index 39570c50d..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/context/grid.py +++ /dev/null @@ -1,44 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/context/grid.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): - kgrid = "kgrid" - qgrid = "qgrid" - igrid = "igrid" - - -class GridMetricType(Enum): - KPPRA = "KPPRA" - spacing = "spacing" - - -class PointsGridDataProviderSchema(BaseModel): - dimensions: List[float] = Field(..., 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: GridMetricType - gridMetricValue: float - preferGridMetric: Optional[bool] = None - - -class ExtraDataWithMaterialHashSchema(BaseModel): - materialHash: Optional[str] = None - - -class GridContextItemSchema(BaseModel): - name: Name - data: PointsGridDataProviderSchema = Field(..., title="Points Grid Data Provider Schema") - """ - 3D grid with shifts for k-point or q-point sampling. - """ - extraData: ExtraDataWithMaterialHashSchema = Field(..., title="extraData with materialHash schema") - isEdited: bool diff --git a/src/py/mat3ra/esse/models/workflow/unit/context/hubbard_j.py b/src/py/mat3ra/esse/models/workflow/unit/context/hubbard_j.py deleted file mode 100644 index ee2769311..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/context/hubbard_j.py +++ /dev/null @@ -1,34 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/context/hubbard_j.json -# version: 0.28.5 - -from __future__ import annotations - -from enum import Enum -from typing import List, Literal, Optional - -from pydantic import BaseModel, Field - - -class Species(Enum): - U = "U" - J = "J" - B = "B" - E2 = "E2" - E3 = "E3" - - -class HubbardJContextProviderSchemaItem(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 HubbardJContextItemSchema(BaseModel): - name: Literal["hubbard_j"] - data: List[HubbardJContextProviderSchemaItem] = Field(..., min_length=1, title="Hubbard J Context Provider Schema") - """ - Hubbard parameters for DFT+U+J calculation. - """ - isEdited: bool diff --git a/src/py/mat3ra/esse/models/workflow/unit/context/hubbard_legacy.py b/src/py/mat3ra/esse/models/workflow/unit/context/hubbard_legacy.py deleted file mode 100644 index 3e759ed8e..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/context/hubbard_legacy.py +++ /dev/null @@ -1,26 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/context/hubbard_legacy.json -# version: 0.28.5 - -from __future__ import annotations - -from typing import List, Literal, Optional - -from pydantic import BaseModel, Field - - -class HubbardLegacyContextProviderSchemaItem(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 HubbardLegacyContextItemSchema(BaseModel): - name: Literal["hubbard_legacy"] - data: List[HubbardLegacyContextProviderSchemaItem] = Field( - ..., min_length=1, title="Hubbard Legacy Context Provider Schema" - ) - """ - Hubbard parameters for DFT+U calculation. - """ - isEdited: bool diff --git a/src/py/mat3ra/esse/models/workflow/unit/context/hubbard_u.py b/src/py/mat3ra/esse/models/workflow/unit/context/hubbard_u.py deleted file mode 100644 index b95c9ba62..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/context/hubbard_u.py +++ /dev/null @@ -1,29 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/context/hubbard_u.json -# version: 0.28.5 - -from __future__ import annotations - -from typing import List, Literal, Optional - -from pydantic import BaseModel, Field - - -class HubbardUContextProviderSchemaItem(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 ExtraDataWithMaterialHashSchema(BaseModel): - materialHash: Optional[str] = None - - -class HubbardUContextItemSchema(BaseModel): - name: Literal["hubbard_u"] - data: List[HubbardUContextProviderSchemaItem] = Field(..., title="Hubbard U Context Provider Schema") - """ - Hubbard U parameters for DFT+U or DFT+U+V calculation. - """ - extraData: ExtraDataWithMaterialHashSchema = Field(..., title="extraData with materialHash schema") - isEdited: bool diff --git a/src/py/mat3ra/esse/models/workflow/unit/context/hubbard_v.py b/src/py/mat3ra/esse/models/workflow/unit/context/hubbard_v.py deleted file mode 100644 index 26ff3bdbb..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/context/hubbard_v.py +++ /dev/null @@ -1,28 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/context/hubbard_v.json -# version: 0.28.5 - -from __future__ import annotations - -from typing import List, Literal, Optional - -from pydantic import BaseModel, Field - - -class HubbardVContextProviderSchemaItem(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 HubbardVContextItemSchema(BaseModel): - name: Literal["hubbard_v"] - data: List[HubbardVContextProviderSchemaItem] = Field(..., min_length=1, title="Hubbard V Context Provider Schema") - """ - Hubbard V parameters for DFT+U+V calculation. - """ - isEdited: bool diff --git a/src/py/mat3ra/esse/models/workflow/unit/context/input.py b/src/py/mat3ra/esse/models/workflow/unit/context/input.py deleted file mode 100644 index 6028b3984..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/context/input.py +++ /dev/null @@ -1,317 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/context/input.json -# version: 0.28.5 - -from __future__ import annotations - -from enum import Enum -from typing import List, Literal, Optional, Union - -from pydantic import BaseModel, ConfigDict, Field, conint - - -class NWChemTotalEnergyContextProviderSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - 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. - """ - - -class RESTARTMODE(Enum): - from_scratch = "from_scratch" - restart = "restart" - - -class ATOMICSPECY(BaseModel): - model_config = ConfigDict( - extra="forbid", - ) - X: str - """ - 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: float - """ - 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: str - """ - PseudoPot_X - """ - - -class ATOMICSPECIESWITHLABEL(BaseModel): - model_config = ConfigDict( - extra="forbid", - ) - X: str - """ - 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: float - """ - 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: str - """ - 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 FIRSTIMAGEItem(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 LASTIMAGEItem(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 INTERMEDIATEIMAGE(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 QENEBContextProviderSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - 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: List[FIRSTIMAGEItem] - LAST_IMAGE: List[LASTIMAGEItem] - INTERMEDIATE_IMAGES: List[List[INTERMEDIATEIMAGE]] - """ - Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images. - """ - - -class QEPwxContextProviderSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - 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 - - -class VASPContextProviderSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - 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. - """ - - -class VASPNEBContextProviderSchema(BaseModel): - model_config = ConfigDict( - extra="allow", - ) - 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. - """ - - -class ExtraDataWithMaterialHashSchema(BaseModel): - materialHash: Optional[str] = None - - -class InputContextItemSchema(BaseModel): - name: Literal["input"] - data: Union[ - NWChemTotalEnergyContextProviderSchema, - QENEBContextProviderSchema, - QEPwxContextProviderSchema, - VASPContextProviderSchema, - VASPNEBContextProviderSchema, - ] - extraData: ExtraDataWithMaterialHashSchema = Field(..., title="extraData with materialHash schema") - isEdited: bool diff --git a/src/py/mat3ra/esse/models/workflow/unit/context/item.py b/src/py/mat3ra/esse/models/workflow/unit/context/item.py deleted file mode 100644 index 659ef6695..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/context/item.py +++ /dev/null @@ -1,684 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/context/item.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, confloat, conint - - -class NWChemTotalEnergyContextProviderSchema(BaseModel): - contextProviderName: Literal["0#-datamodel-code-generator-#-object-#-special-#"] - """ - Descriminator for AJV validator - """ - 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. - """ - - -class RESTARTMODE(Enum): - from_scratch = "from_scratch" - restart = "restart" - - -class ATOMICSPECY(BaseModel): - model_config = ConfigDict( - extra="forbid", - ) - X: str - """ - 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: float - """ - 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: str - """ - PseudoPot_X - """ - - -class ATOMICSPECIESWITHLABEL(BaseModel): - model_config = ConfigDict( - extra="forbid", - ) - X: str - """ - 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: float - """ - 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: str - """ - 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 FIRSTIMAGEItem(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 LASTIMAGEItem(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 INTERMEDIATEIMAGE(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 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: List[FIRSTIMAGEItem] - LAST_IMAGE: List[LASTIMAGEItem] - INTERMEDIATE_IMAGES: List[List[INTERMEDIATEIMAGE]] - """ - Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images. - """ - contextProviderName: Literal["1#-datamodel-code-generator-#-object-#-special-#"] - """ - Descriminator for AJV validator - """ - - -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 - contextProviderName: Literal["2#-datamodel-code-generator-#-object-#-special-#"] - """ - Descriminator for AJV validator - """ - - -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. - """ - contextProviderName: Literal["3#-datamodel-code-generator-#-object-#-special-#"] - """ - Descriminator for AJV validator - """ - - -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. - """ - contextProviderName: Literal["4#-datamodel-code-generator-#-object-#-special-#"] - """ - Descriminator for AJV validator - """ - - -class ExtraDataWithMaterialHashSchema(BaseModel): - materialHash: str - - -class BaseContextItemSchema(BaseModel): - name: Literal["input"] - data: Union[ - NWChemTotalEnergyContextProviderSchema, - QENEBContextProviderSchema, - QEPwxContextProviderSchema, - VASPContextProviderSchema, - VASPNEBContextProviderSchema, - ] = Field(..., discriminator="contextProviderName") - extraData: ExtraDataWithMaterialHashSchema = Field(..., title="extraData with materialHash schema") - isEdited: bool - - -class PlanewaveCutoffsContextProviderSchema(BaseModel): - wavefunction: Optional[float] = None - density: Optional[float] = None - - -class BaseContextItemSchema122(BaseModel): - name: Literal["cutoffs"] - data: PlanewaveCutoffsContextProviderSchema = Field(..., title="Planewave Cutoffs Context Provider Schema") - """ - Planewave cutoff parameters for electronic wavefunctions and density. Units are specific to simulation engine. - """ - isEdited: bool - extraData: Dict[str, Any] - - -class Name(Enum): - kgrid = "kgrid" - qgrid = "qgrid" - igrid = "igrid" - - -class GridMetricType(Enum): - KPPRA = "KPPRA" - spacing = "spacing" - - -class PointsGridDataProviderSchema(BaseModel): - dimensions: List[float] = Field(..., 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: GridMetricType - gridMetricValue: float - preferGridMetric: Optional[bool] = None - - -class BaseContextItemSchema123(BaseModel): - name: Name - data: PointsGridDataProviderSchema = Field(..., title="Points Grid Data Provider Schema") - """ - 3D grid with shifts for k-point or q-point sampling. - """ - extraData: ExtraDataWithMaterialHashSchema = Field(..., title="extraData with materialHash schema") - isEdited: bool - - -class Name573(Enum): - qpath = "qpath" - ipath = "ipath" - kpath = "kpath" - explicitKPath = "explicitKPath" - explicitKPath2PIBA = "explicitKPath2PIBA" - - -class PointsPathDataProviderSchemaItem(BaseModel): - point: Optional[str] = None - steps: int - coordinates: List[float] - - -class BaseContextItemSchema124(BaseModel): - name: Name573 - data: List[PointsPathDataProviderSchemaItem] = Field(..., min_length=1, title="Points Path Data Provider Schema") - """ - Path in reciprocal space for band structure calculations. - """ - extraData: ExtraDataWithMaterialHashSchema = Field(..., title="extraData with materialHash schema") - isEdited: bool - - -class Species(Enum): - U = "U" - J = "J" - B = "B" - E2 = "E2" - E3 = "E3" - - -class HubbardJContextProviderSchemaItem(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 BaseContextItemSchema125(BaseModel): - name: Literal["hubbard_j"] - data: List[HubbardJContextProviderSchemaItem] = Field(..., min_length=1, title="Hubbard J Context Provider Schema") - """ - Hubbard parameters for DFT+U+J calculation. - """ - isEdited: bool - extraData: Dict[str, Any] - - -class HubbardUContextProviderSchemaItem(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 BaseContextItemSchema126(BaseModel): - name: Literal["hubbard_u"] - data: List[HubbardUContextProviderSchemaItem] = Field(..., title="Hubbard U Context Provider Schema") - """ - Hubbard U parameters for DFT+U or DFT+U+V calculation. - """ - extraData: ExtraDataWithMaterialHashSchema = Field(..., title="extraData with materialHash schema") - isEdited: bool - - -class HubbardVContextProviderSchemaItem(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 BaseContextItemSchema127(BaseModel): - name: Literal["hubbard_v"] - data: List[HubbardVContextProviderSchemaItem] = Field(..., min_length=1, title="Hubbard V Context Provider Schema") - """ - Hubbard V parameters for DFT+U+V calculation. - """ - isEdited: bool - extraData: Dict[str, Any] - - -class HubbardLegacyContextProviderSchemaItem(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 BaseContextItemSchema128(BaseModel): - name: Literal["hubbard_legacy"] - data: List[HubbardLegacyContextProviderSchemaItem] = Field( - ..., min_length=1, title="Hubbard Legacy Context Provider Schema" - ) - """ - Hubbard parameters for DFT+U calculation. - """ - isEdited: bool - extraData: Dict[str, Any] - - -class NEBDataProviderSchema(BaseModel): - nImages: Optional[float] = None - - -class BaseContextItemSchema129(BaseModel): - name: Literal["neb"] - data: NEBDataProviderSchema = Field(..., title="NEB Data Provider Schema") - """ - Number of intermediate NEB images. - """ - isEdited: bool - extraData: Dict[str, Any] - - -class Type(Enum): - pbc = "pbc" - bc1 = "bc1" - bc2 = "bc2" - bc3 = "bc3" - - -class BoundaryConditionsDataProviderSchema(BaseModel): - 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)") - - -class BaseContextItemSchema130(BaseModel): - name: Literal["boundaryConditions"] - data: BoundaryConditionsDataProviderSchema = Field(..., title="Boundary Conditions Data Provider Schema") - extraData: ExtraDataWithMaterialHashSchema = Field(..., title="extraData with materialHash schema") - isEdited: bool - - -class ProblemCategory(Enum): - regression = "regression" - classification = "classification" - clustering = "clustering" - - -class MLSettingsContextProviderSchema(BaseModel): - target_column_name: Optional[str] = None - problem_category: Optional[ProblemCategory] = None - - -class BaseContextItemSchema131(BaseModel): - name: Literal["mlSettings"] - data: MLSettingsContextProviderSchema = Field(..., title="ML Settings Context Provider Schema") - """ - Settings important to machine learning runs. - """ - isEdited: bool - extraData: Dict[str, Any] - - -class MLTrainTestSplitContextProviderSchema(BaseModel): - fraction_held_as_test_set: Optional[confloat(ge=0.0, le=1.0)] = None - - -class BaseContextItemSchema132(BaseModel): - name: Literal["mlTrainTestSplit"] - data: MLTrainTestSplitContextProviderSchema = Field(..., title="ML Train Test Split Context Provider Schema") - """ - Fraction held as the test set. For example, a value of 0.2 corresponds to an 80/20 train/test split. - """ - isEdited: bool - extraData: Dict[str, Any] - - -class IonDynamicsContextProviderSchema(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)") - - -class BaseContextItemSchema133(BaseModel): - name: Literal["dynamics"] - data: IonDynamicsContextProviderSchema = Field(..., title="Ion Dynamics Context Provider Schema") - """ - Important parameters for molecular dynamics calculation - """ - isEdited: bool - extraData: Dict[str, Any] - - -class StartingMagnetizationItem(BaseModel): - atomicSpecies: str = Field(..., title="Atomic species") - value: confloat(ge=-1.0, le=1.0) = Field(..., title="Starting magnetization") - index: int = Field(..., title="Index") - - -class CollinearMagnetizationContextProviderSchema(BaseModel): - startingMagnetization: List[StartingMagnetizationItem] - isTotalMagnetization: bool = Field(..., title="Set total magnetization instead") - totalMagnetization: float = Field(..., title="Total magnetization") - - -class BaseContextItemSchema134(BaseModel): - name: Literal["collinearMagnetization"] - data: CollinearMagnetizationContextProviderSchema = Field( - ..., title="Collinear Magnetization Context Provider Schema" - ) - """ - Set starting magnetization, can have values in the range [-1, +1]. - """ - extraData: ExtraDataWithMaterialHashSchema = Field(..., title="extraData with materialHash schema") - isEdited: bool - - -class StartingMagnetizationItem18(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 NonCollinearMagnetizationContextProviderSchema(BaseModel): - isExistingChargeDensity: Optional[bool] = Field(None, title="Use existing charge density") - isStartingMagnetization: Optional[bool] = Field(None, title="Set starting magnetization") - startingMagnetization: Optional[List[StartingMagnetizationItem18]] = None - isArbitrarySpinAngle: Optional[bool] = Field(None, title="Set arbitrary spin angle") - isArbitrarySpinDirection: Optional[bool] = Field(None, title="Set arbitrary spin direction") - lforcet: Optional[bool] = None - 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 - - -class BaseContextItemSchema135(BaseModel): - name: Literal["nonCollinearMagnetization"] - data: NonCollinearMagnetizationContextProviderSchema = Field( - ..., title="Non Collinear Magnetization Context Provider Schema" - ) - """ - Non-collinear magnetization parameters including starting magnetization, spin angles, and constraints. - """ - extraData: ExtraDataWithMaterialHashSchema = Field(..., title="extraData with materialHash schema") - isEdited: bool - - -class ESSE( - RootModel[ - Union[ - BaseContextItemSchema, - BaseContextItemSchema122, - BaseContextItemSchema123, - BaseContextItemSchema124, - BaseContextItemSchema125, - BaseContextItemSchema126, - BaseContextItemSchema127, - BaseContextItemSchema128, - BaseContextItemSchema129, - BaseContextItemSchema130, - BaseContextItemSchema131, - BaseContextItemSchema132, - BaseContextItemSchema133, - BaseContextItemSchema134, - BaseContextItemSchema135, - ] - ] -): - root: Union[ - BaseContextItemSchema, - BaseContextItemSchema122, - BaseContextItemSchema123, - BaseContextItemSchema124, - BaseContextItemSchema125, - BaseContextItemSchema126, - BaseContextItemSchema127, - BaseContextItemSchema128, - BaseContextItemSchema129, - BaseContextItemSchema130, - BaseContextItemSchema131, - BaseContextItemSchema132, - BaseContextItemSchema133, - BaseContextItemSchema134, - BaseContextItemSchema135, - ] = Field(..., title="context item schema") diff --git a/src/py/mat3ra/esse/models/workflow/unit/context/item/__init__.py b/src/py/mat3ra/esse/models/workflow/unit/context/item/__init__.py index 1de5ee3cd..e29b114c2 100644 --- a/src/py/mat3ra/esse/models/workflow/unit/context/item/__init__.py +++ b/src/py/mat3ra/esse/models/workflow/unit/context/item/__init__.py @@ -55,6 +55,10 @@ class NWChemTotalEnergyContextProviderSchema(BaseModel): """ Whether atomic positions are expressed in cartesian coordinates. """ + RESTART: Optional[bool] = None + """ + Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart. + """ class RESTARTMODE(Enum): @@ -370,7 +374,7 @@ class GridContextItemSchema(BaseModel): isEdited: bool -class Name608(Enum): +class Name613(Enum): qpath = "qpath" ipath = "ipath" kpath = "kpath" diff --git a/src/py/mat3ra/esse/models/workflow/unit/context/item/input.py b/src/py/mat3ra/esse/models/workflow/unit/context/item/input.py index 9c38bc51b..c4ed4a8c8 100644 --- a/src/py/mat3ra/esse/models/workflow/unit/context/item/input.py +++ b/src/py/mat3ra/esse/models/workflow/unit/context/item/input.py @@ -55,6 +55,10 @@ class NWChemTotalEnergyContextProviderSchema(BaseModel): """ Whether atomic positions are expressed in cartesian coordinates. """ + RESTART: Optional[bool] = None + """ + Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart. + """ class RESTARTMODE(Enum): diff --git a/src/py/mat3ra/esse/models/workflow/unit/context/item/kgrid.py b/src/py/mat3ra/esse/models/workflow/unit/context/item/kgrid.py deleted file mode 100644 index 8d951f859..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/context/item/kgrid.py +++ /dev/null @@ -1,44 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/context/item/kgrid.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): - kgrid = "kgrid" - qgrid = "qgrid" - igrid = "igrid" - - -class GridMetricType(Enum): - KPPRA = "KPPRA" - spacing = "spacing" - - -class PointsGridDataProviderSchema(BaseModel): - dimensions: List[float] = Field(..., 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: GridMetricType - gridMetricValue: float - preferGridMetric: Optional[bool] = None - - -class ExtraDataWithMaterialHashSchema(BaseModel): - materialHash: str - - -class KgridContextItemSchema(BaseModel): - name: Name - data: PointsGridDataProviderSchema = Field(..., title="Points Grid Data Provider Schema") - """ - 3D grid with shifts for k-point or q-point sampling. - """ - extraData: ExtraDataWithMaterialHashSchema = Field(..., title="extraData with materialHash schema") - isEdited: bool diff --git a/src/py/mat3ra/esse/models/workflow/unit/context/ml_settings.py b/src/py/mat3ra/esse/models/workflow/unit/context/ml_settings.py deleted file mode 100644 index 4e7365e3c..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/context/ml_settings.py +++ /dev/null @@ -1,30 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/context/ml_settings.json -# version: 0.28.5 - -from __future__ import annotations - -from enum import Enum -from typing import Literal, Optional - -from pydantic import BaseModel, Field - - -class ProblemCategory(Enum): - regression = "regression" - classification = "classification" - clustering = "clustering" - - -class MLSettingsContextProviderSchema(BaseModel): - target_column_name: Optional[str] = None - problem_category: Optional[ProblemCategory] = None - - -class MlSettingsContextItemSchema(BaseModel): - name: Literal["mlSettings"] - data: MLSettingsContextProviderSchema = Field(..., title="ML Settings Context Provider Schema") - """ - Settings important to machine learning runs. - """ - isEdited: bool diff --git a/src/py/mat3ra/esse/models/workflow/unit/context/ml_train_test_split.py b/src/py/mat3ra/esse/models/workflow/unit/context/ml_train_test_split.py deleted file mode 100644 index 09c52f637..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/context/ml_train_test_split.py +++ /dev/null @@ -1,22 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/context/ml_train_test_split.json -# version: 0.28.5 - -from __future__ import annotations - -from typing import Literal, Optional - -from pydantic import BaseModel, Field, confloat - - -class MLTrainTestSplitContextProviderSchema(BaseModel): - fraction_held_as_test_set: Optional[confloat(ge=0.0, le=1.0)] = None - - -class MlTrainTestSplitContextItemSchema(BaseModel): - name: Literal["mlTrainTestSplit"] - data: MLTrainTestSplitContextProviderSchema = Field(..., title="ML Train Test Split Context Provider Schema") - """ - Fraction held as the test set. For example, a value of 0.2 corresponds to an 80/20 train/test split. - """ - isEdited: bool diff --git a/src/py/mat3ra/esse/models/workflow/unit/context/neb.py b/src/py/mat3ra/esse/models/workflow/unit/context/neb.py deleted file mode 100644 index dc254b644..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/context/neb.py +++ /dev/null @@ -1,22 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/context/neb.json -# version: 0.28.5 - -from __future__ import annotations - -from typing import Literal, Optional - -from pydantic import BaseModel, Field - - -class NEBDataProviderSchema(BaseModel): - nImages: Optional[float] = None - - -class NebContextItemSchema(BaseModel): - name: Literal["neb"] - data: NEBDataProviderSchema = Field(..., title="NEB Data Provider Schema") - """ - Number of intermediate NEB images. - """ - isEdited: bool diff --git a/src/py/mat3ra/esse/models/workflow/unit/context/non_collinear_magnetization.py b/src/py/mat3ra/esse/models/workflow/unit/context/non_collinear_magnetization.py deleted file mode 100644 index 8f363ad21..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/context/non_collinear_magnetization.py +++ /dev/null @@ -1,74 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/context/non_collinear_magnetization.json -# version: 0.28.5 - -from __future__ import annotations - -from enum import Enum -from typing import List, Literal, 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 NonCollinearMagnetizationContextProviderSchema(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") - isArbitrarySpinDirection: Optional[bool] = Field(None, title="Set arbitrary spin direction") - lforcet: Optional[bool] = None - 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 - - -class ExtraDataWithMaterialHashSchema(BaseModel): - materialHash: Optional[str] = None - - -class NonCollinearMagnetizationContextItemSchema(BaseModel): - name: Literal["nonCollinearMagnetization"] - data: NonCollinearMagnetizationContextProviderSchema = Field( - ..., title="Non Collinear Magnetization Context Provider Schema" - ) - """ - Non-collinear magnetization parameters including starting magnetization, spin angles, and constraints. - """ - extraData: ExtraDataWithMaterialHashSchema = Field(..., title="extraData with materialHash schema") - isEdited: bool diff --git a/src/py/mat3ra/esse/models/workflow/unit/context/path.py b/src/py/mat3ra/esse/models/workflow/unit/context/path.py deleted file mode 100644 index 9f612ce22..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/context/path.py +++ /dev/null @@ -1,38 +0,0 @@ -# generated by datamodel-codegen: -# filename: workflow/unit/context/path.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): - qpath = "qpath" - ipath = "ipath" - kpath = "kpath" - explicitKPath = "explicitKPath" - explicitKPath2PIBA = "explicitKPath2PIBA" - - -class PointsPathDataProviderSchemaItem(BaseModel): - point: Optional[str] = None - steps: int - coordinates: List[float] - - -class ExtraDataWithMaterialHashSchema(BaseModel): - materialHash: Optional[str] = None - - -class PathContextItemSchema(BaseModel): - name: Name - data: List[PointsPathDataProviderSchemaItem] = Field(..., min_length=1, title="Points Path Data Provider Schema") - """ - Path in reciprocal space for band structure calculations. - """ - extraData: ExtraDataWithMaterialHashSchema = Field(..., title="extraData with materialHash schema") - isEdited: bool diff --git a/src/py/mat3ra/esse/models/workflow/unit/execution.py b/src/py/mat3ra/esse/models/workflow/unit/execution.py index 344efeff6..d6eb15560 100644 --- a/src/py/mat3ra/esse/models/workflow/unit/execution.py +++ b/src/py/mat3ra/esse/models/workflow/unit/execution.py @@ -291,6 +291,10 @@ class NWChemTotalEnergyContextProviderSchema(BaseModel): """ Whether atomic positions are expressed in cartesian coordinates. """ + RESTART: Optional[bool] = None + """ + Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart. + """ class RESTARTMODE(Enum): diff --git a/src/py/mat3ra/esse/models/workflow/unit/io/db.py b/src/py/mat3ra/esse/models/workflow/unit/io/db.py deleted file mode 100644 index d61435025..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/io/db.py +++ /dev/null @@ -1,39 +0,0 @@ -# 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/src/py/mat3ra/esse/models/workflow/unit/mixins/execution.py b/src/py/mat3ra/esse/models/workflow/unit/mixins/execution.py index a4dfb2bd2..18461d37d 100644 --- a/src/py/mat3ra/esse/models/workflow/unit/mixins/execution.py +++ b/src/py/mat3ra/esse/models/workflow/unit/mixins/execution.py @@ -277,6 +277,10 @@ class NWChemTotalEnergyContextProviderSchema(BaseModel): """ Whether atomic positions are expressed in cartesian coordinates. """ + RESTART: Optional[bool] = None + """ + Whether to continue from the RTDB of a previous run in the same working directory, taking its geometry, instead of declaring one. Optional: absent means no restart. + """ class RESTARTMODE(Enum): diff --git a/src/py/mat3ra/esse/models/workflow/unit/processing.py b/src/py/mat3ra/esse/models/workflow/unit/processing.py deleted file mode 100644 index d23fd90ee..000000000 --- a/src/py/mat3ra/esse/models/workflow/unit/processing.py +++ /dev/null @@ -1,113 +0,0 @@ -# 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, List, Literal, Optional - -from pydantic import BaseModel, 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 ProcessingUnitSchema(BaseModel): - 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["processing"] - """ - 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 - """ - 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/tests/js/entityGraph.tests.ts b/tests/js/entityGraph.tests.ts index dc2e6b369..533ced82f 100644 --- a/tests/js/entityGraph.tests.ts +++ b/tests/js/entityGraph.tests.ts @@ -18,23 +18,23 @@ import { * change on purpose: update the numbers in the same commit that changes the schemas, * and keep plan/context/2026-08-16-schema-graph-measurements.md in step. */ -const EXPECTED_NODE_COUNT = 564; -const EXPECTED_EDGE_COUNT = 917; -const EXPECTED_EDGE_COUNTS_BY_KIND = { extends: 372, contains: 375, variant: 170 }; +const EXPECTED_NODE_COUNT = 610; +const EXPECTED_EDGE_COUNT = 1059; +const EXPECTED_EDGE_COUNTS_BY_KIND = { extends: 411, contains: 461, variant: 187 }; const EXPECTED_SAME_DOCUMENT_REFS = 20; const EXPECTED_LAYER_COUNTS = { - abstract: 9, + abstract: 10, "application-parsing": 17, - category: 152, + category: 156, definition: 4, - directory: 156, - entity: 11, - "entity-component": 106, + directory: 159, + entity: 15, + "entity-component": 125, "in-memory-entity": 7, primitive: 23, - reference: 10, - reusable: 31, - system: 38, + reference: 12, + reusable: 42, + system: 40, }; describe("buildEntityGraph", () => { @@ -97,18 +97,16 @@ describe("buildEntityGraph", () => { ).to.be.true; // The property holder is the corpus' widest union: every property type is a - // variant of its `data` field, on top of one mixin and one reference. + // variant of its `data` field, on top of one mixin. Its `source.info` is a + // second, much smaller union over where a value came from -- a computed job, + // a measurement or a fabrication process. const holderEdges = edgesFrom("property/holder"); - expect(holderEdges).to.have.lengthOf(44); - expect(holderEdges.filter((edge) => edge.kind === "variant")).to.have.lengthOf(42); - expect( - holderEdges - .filter((edge) => edge.kind === "variant") - .every((edge) => edge.label === "data"), - "every variant hangs off the data property", - ).to.be.true; + expect(holderEdges).to.have.lengthOf(49); + const holderVariants = holderEdges.filter((edge) => edge.kind === "variant"); + expect(holderVariants).to.have.lengthOf(48); + expect(holderVariants.filter((edge) => edge.label === "data")).to.have.lengthOf(45); + expect(holderVariants.filter((edge) => edge.label === "info")).to.have.lengthOf(3); expect(holderEdges.filter((edge) => edge.kind === "extends")).to.have.lengthOf(1); - expect(holderEdges.filter((edge) => edge.kind === "contains")).to.have.lengthOf(1); }); it("carries manifest flags onto property nodes", () => { @@ -176,7 +174,7 @@ describe("buildEntityGraph", () => { }); it("reports example coverage as a warning", () => { - expect(graph.meta.schemasWithExample).to.equal(209); + expect(graph.meta.schemasWithExample).to.equal(254); expect(lint.warnings.some((warning) => warning.startsWith("L9 example coverage"))).to.be .true; }); diff --git a/tests/js/experimentalSchemas.tests.ts b/tests/js/experimentalSchemas.tests.ts new file mode 100644 index 000000000..e3e2d0724 --- /dev/null +++ b/tests/js/experimentalSchemas.tests.ts @@ -0,0 +1,136 @@ +import { expect } from "chai"; +import * as fs from "fs"; +import * as path from "path"; + +import * as ajv from "../../src/js/utils/ajv"; +import { walkDirSync } from "../../src/js/utils/filesystem"; + +const resolvedSchemasPath = path.resolve("./dist/js/schema"); +const resolvedExamplesPath = path.resolve("./dist/js/example"); +const sourceSchemasPath = path.resolve("./schema"); +const sourceExamplesPath = path.resolve("./example"); + +/** + * Inline array values are for examples and small results; anything larger is meant to be + * referenced from a file. The figure matches the $comment on core/reusable/array_data.json. + */ +const INLINE_ARRAY_VALUES_BUDGET = 65536; + +/** + * The schemas the experimental-data change added. Every one of them must carry a description, + * because the descriptions become the pydantic docstrings and the map's detail panel, and + * because a mirror of an existing entity is only legible if it says what it mirrors. + */ +const EXPERIMENTAL_SCHEMA_ROOTS = [ + "sample.json", + "sample", + "instrument.json", + "instrument", + "measurement.json", + "measurement", + "process.json", + "process", + "techniques_category", + "system/activity.json", + "system/_sample.json", + "core/abstract/multidimensional_array.json", + "core/reusable/array_data.json", + "core/reusable/file_reference.json", + "core/reusable/environment.json", + "core/reusable/identifier.json", + "core/reusable/quantity", + "core/reference/measurement.json", + "core/reference/process.json", +]; + +function readJson(filePath: string) { + return JSON.parse(fs.readFileSync(filePath).toString()); +} + +function listSchemaFiles(root: string): string[] { + const absolute = path.join(sourceSchemasPath, root); + if (fs.statSync(absolute).isFile()) return [absolute]; + const files: string[] = []; + walkDirSync(absolute, (filePath) => { + if (filePath.endsWith(".json")) files.push(filePath); + }); + return files; +} + +/** Finds every `values` array that sits next to a `shape`, i.e. every inline array payload. */ +function collectInlineArrayLengths(node: unknown, found: number[] = []): number[] { + if (Array.isArray(node)) { + node.forEach((item) => collectInlineArrayLengths(item, found)); + } else if (node && typeof node === "object") { + const record = node as Record; + if (Array.isArray(record.shape) && Array.isArray(record.values)) { + found.push(record.values.length); + } + Object.values(record).forEach((value) => collectInlineArrayLengths(value, found)); + } + return found; +} + +describe("experimental data schemas", () => { + it("accepts a property holder whose source is a measurement, and still a job-sourced one", () => { + const holder = readJson(path.join(resolvedSchemasPath, "property/holder.json")); + const measured = readJson( + path.resolve("./tests/js/fixtures/json/property_holder_measurement_source.json"), + ); + const computed = readJson(path.join(resolvedExamplesPath, "property/holder.json")); + + const measuredResult = ajv.validate(measured, holder); + expect(measuredResult.isValid, JSON.stringify(measuredResult.errors)).to.equal(true); + + const computedResult = ajv.validate(computed, holder); + expect(computedResult.isValid, JSON.stringify(computedResult.errors)).to.equal(true); + }); + + it("rejects a holder whose measurement source lacks a measurement id", () => { + const holder = readJson(path.join(resolvedSchemasPath, "property/holder.json")); + const measured = readJson( + path.resolve("./tests/js/fixtures/json/property_holder_measurement_source.json"), + ); + measured.source.info = { channel: "piezoresponsePhase" }; + + expect(ajv.validate(measured, holder).isValid).to.equal(false); + }); + + it("validates the measurement example's parameters against the scanning probe block", () => { + // Nothing narrows measurement.parameters yet (that is the job of catalogue entries in a + // later phase), so the example's parameters are checked against the block explicitly. + const parameters = readJson( + path.join(resolvedSchemasPath, "measurement/parameters/scanning_probe_microscopy.json"), + ); + const measurement = readJson(path.join(resolvedExamplesPath, "measurement.json")); + + const result = ajv.validate(measurement.parameters, parameters); + expect(result.isValid, JSON.stringify(result.errors)).to.equal(true); + }); + + it("describes every schema it adds", () => { + const undocumented = EXPERIMENTAL_SCHEMA_ROOTS.flatMap(listSchemaFiles) + .filter((filePath) => { + const schema = readJson(filePath); + // enum_options bags carry no $schema and no description, as in models_category. + if (!schema.$schema) return false; + return typeof schema.description !== "string" || !schema.description.trim(); + }) + .map((filePath) => path.relative(sourceSchemasPath, filePath)); + + expect(undocumented, "schemas without a description").to.deep.equal([]); + }); + + it("keeps inline array values in examples within the documented budget", () => { + const oversized: string[] = []; + walkDirSync(sourceExamplesPath, (filePath) => { + if (!filePath.endsWith(".json")) return; + const lengths = collectInlineArrayLengths(readJson(filePath)); + if (lengths.some((length) => length > INLINE_ARRAY_VALUES_BUDGET)) { + oversized.push(path.relative(sourceExamplesPath, filePath)); + } + }); + + expect(oversized, "examples with inline arrays over budget").to.deep.equal([]); + }); +}); diff --git a/tests/js/fixtures/json/property_holder_measurement_source.json b/tests/js/fixtures/json/property_holder_measurement_source.json new file mode 100644 index 000000000..c2e13b6fb --- /dev/null +++ b/tests/js/fixtures/json/property_holder_measurement_source.json @@ -0,0 +1,21 @@ +{ + "_id": "hLoopPhase0005", + "data": { + "name": "hysteresis_loop", + "loopType": "phase_bias", + "legend": ["on_field", "off_field"], + "xAxis": { "label": "bias", "units": "V" }, + "yAxis": { "label": "phase", "units": "degree" }, + "xDataArray": [-9, -4.5, 0, 4.5, 9], + "yDataSeries": [ + [178.2, 175.4, 20.1, 4.3, 3.1], + [176.5, 170.2, 90.4, 6.1, 4.2] + ] + }, + "source": { + "type": "measurement", + "info": { "measurementId": "mPfmSpectroscopy0005", "channel": "piezoresponsePhase" } + }, + "exabyteId": ["mPfmSpectroscopy0005"], + "repetition": 0 +}