From 64c5f9711f8cc07f66ac6dcdb4e6dc835817f1c4 Mon Sep 17 00:00:00 2001 From: Alexander Zech Date: Fri, 27 Nov 2020 16:41:51 -0800 Subject: [PATCH 1/4] Add title/schemaId fields and fix inheritance --- schema/models_directory/pb/qm/abin.json | 2 ++ .../models_directory/pb/qm/abin/configuration_interaction.json | 3 +-- schema/models_directory/pb/qm/dft.json | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/schema/models_directory/pb/qm/abin.json b/schema/models_directory/pb/qm/abin.json index 1dec6d114..527421c9b 100644 --- a/schema/models_directory/pb/qm/abin.json +++ b/schema/models_directory/pb/qm/abin.json @@ -1,5 +1,7 @@ { + "schemaId": "models-directory-pb-qm-abin", "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ab initio schema", "allOf": [ { "$ref": "../qm.json" diff --git a/schema/models_directory/pb/qm/abin/configuration_interaction.json b/schema/models_directory/pb/qm/abin/configuration_interaction.json index a6e940293..00f63b3c2 100644 --- a/schema/models_directory/pb/qm/abin/configuration_interaction.json +++ b/schema/models_directory/pb/qm/abin/configuration_interaction.json @@ -2,10 +2,9 @@ "schemaId": "models-directory-pb-qm-abin-configuration-interaction", "$schema": "http://json-schema.org/draft-04/schema#", "title": "configuration interaction schema", - "description": "configuration interaction wavefunction model", "allOf": [ { - "$ref": "../../../../model.json" + "$ref": "../abin.json" } ], "properties": { diff --git a/schema/models_directory/pb/qm/dft.json b/schema/models_directory/pb/qm/dft.json index 897eb6938..b7132c988 100644 --- a/schema/models_directory/pb/qm/dft.json +++ b/schema/models_directory/pb/qm/dft.json @@ -1,5 +1,7 @@ { + "schemaId": "models-directory-pb-qm-dft", "$schema": "http://json-schema.org/draft-04/schema#", + "title": "density functional theory schema", "allOf": [ { "$ref": "../qm.json" From 48681cf764d3222c4a95e87a96a96a4f98a25abc Mon Sep 17 00:00:00 2001 From: Alexander Zech Date: Fri, 27 Nov 2020 16:42:36 -0800 Subject: [PATCH 2/4] Add GW unit model schema --- schema/models_directory/pb/qm/abin/gw.json | 57 +++++++++++++++++++ .../pb/qm/abin/gw/augmentations.json | 16 ++++++ .../pb/qm/abin/gw/definitions.json | 5 ++ .../pb/qm/abin/gw/modifiers.json | 21 +++++++ .../models_directory/pb/qm/abin/gw/tags.json | 21 +++++++ 5 files changed, 120 insertions(+) create mode 100644 schema/models_directory/pb/qm/abin/gw.json create mode 100644 schema/models_directory/pb/qm/abin/gw/augmentations.json create mode 100644 schema/models_directory/pb/qm/abin/gw/definitions.json create mode 100644 schema/models_directory/pb/qm/abin/gw/modifiers.json create mode 100644 schema/models_directory/pb/qm/abin/gw/tags.json diff --git a/schema/models_directory/pb/qm/abin/gw.json b/schema/models_directory/pb/qm/abin/gw.json new file mode 100644 index 000000000..27ea85796 --- /dev/null +++ b/schema/models_directory/pb/qm/abin/gw.json @@ -0,0 +1,57 @@ +{ + "schemaId": "models-directory-pb-qm-abin-gw", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "GW schema", + "allOf": [ + { + "$ref": "../abin.json" + } + ], + "properties": { + "type": { + "enum": [ + { + "name": "GW Approximation", + "slug": "gw" + } + ] + }, + "subtype": { + "enum": [ + { + "name": "G0W0", + "slug": "g0w0" + }, + { + "name": "eigenvalue self-consistent G (evGW0)", + "slug": "evgw0" + }, + { + "name": "eigenvalue self-consistent GW (evGW)", + "slug": "evgw" + }, + { + "name": "self-consistent G (scGW0)", + "slug": "scgw0" + }, + { + "name": "self-consistent GW", + "slug": "scgw" + }, + { + "name": "quasiparticle self-consistent GW", + "slug": "qsgw" + } + ] + }, + "augmentations": { + "$ref": "gw/augmentations.json" + }, + "modifiers": { + "$ref": "gw/modifiers.json" + }, + "tags": { + "$ref": "gw/tags.json" + } + } +} diff --git a/schema/models_directory/pb/qm/abin/gw/augmentations.json b/schema/models_directory/pb/qm/abin/gw/augmentations.json new file mode 100644 index 000000000..de8fe605a --- /dev/null +++ b/schema/models_directory/pb/qm/abin/gw/augmentations.json @@ -0,0 +1,16 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "allOf": [ + { + "$ref": "../../../../../model/augmentations.json" + } + ], + "description": "Augmentations specific to this model type only.", + "items": { + "anyOf": [ + { + "$ref": "definitions.json#/augmentations" + } + ] + } +} diff --git a/schema/models_directory/pb/qm/abin/gw/definitions.json b/schema/models_directory/pb/qm/abin/gw/definitions.json new file mode 100644 index 000000000..33a1ec802 --- /dev/null +++ b/schema/models_directory/pb/qm/abin/gw/definitions.json @@ -0,0 +1,5 @@ +{ + "tags": {}, + "augmentations": {}, + "modifiers": {} +} diff --git a/schema/models_directory/pb/qm/abin/gw/modifiers.json b/schema/models_directory/pb/qm/abin/gw/modifiers.json new file mode 100644 index 000000000..7c0949e00 --- /dev/null +++ b/schema/models_directory/pb/qm/abin/gw/modifiers.json @@ -0,0 +1,21 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "allOf": [ + { + "$ref": "../../../../../model/modifiers.json" + } + ], + "description": "Modifiers specific to this model type only.", + "items": { + "anyOf": [ + { + "description": "Green's function modifiers", + "$ref": "definitions.json#/modifiers" + }, + { + "description": "ab initio modifiers", + "$ref": "../definitions.json#/modifiers" + } + ] + } +} diff --git a/schema/models_directory/pb/qm/abin/gw/tags.json b/schema/models_directory/pb/qm/abin/gw/tags.json new file mode 100644 index 000000000..643736d36 --- /dev/null +++ b/schema/models_directory/pb/qm/abin/gw/tags.json @@ -0,0 +1,21 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "allOf": [ + { + "$ref": "../../../../../model/tags.json" + } + ], + "description": "Tags specific to this model type only.", + "items": { + "anyOf": [ + { + "$ref": "definitions.json#/tags" + }, + + { + "description": "Universal definitions", + "$ref": "../../../../definitions.json#/tags" + } + ] + } +} From abdc992b113c3f33f17eba816840f54fb26ec882 Mon Sep 17 00:00:00 2001 From: Alexander Zech Date: Fri, 27 Nov 2020 16:58:50 -0800 Subject: [PATCH 3/4] Add GW example, adjust abin name --- .../pb/qm/abin/configuration_interaction.json | 2 +- example/models_directory/pb/qm/abin/gw.json | 30 +++++++++++++++++++ .../pb/qm/abin/gw/definitions.json | 7 ++++- .../models_directory/pb/qm/abin/gw/tags.json | 1 - 4 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 example/models_directory/pb/qm/abin/gw.json diff --git a/example/models_directory/pb/qm/abin/configuration_interaction.json b/example/models_directory/pb/qm/abin/configuration_interaction.json index b5b0924e8..b1c58d372 100644 --- a/example/models_directory/pb/qm/abin/configuration_interaction.json +++ b/example/models_directory/pb/qm/abin/configuration_interaction.json @@ -8,7 +8,7 @@ "slug": "qm" }, "tier3": { - "name": "ab initio", + "name": "ab-initio", "slug": "abin" }, "type": { diff --git a/example/models_directory/pb/qm/abin/gw.json b/example/models_directory/pb/qm/abin/gw.json new file mode 100644 index 000000000..f2c6ebcbd --- /dev/null +++ b/example/models_directory/pb/qm/abin/gw.json @@ -0,0 +1,30 @@ +{ + "tier1": { + "name": "physics-based", + "slug": "pb" + }, + "tier2": { + "name": "quantum-mechanical", + "slug": "qm" + }, + "tier3": { + "name": "ab-initio", + "slug": "abin" + }, + "type": { + "name": "GW Approximation", + "slug": "gw" + }, + "subtype": { + "name": "G0W0", + "slug": "g0w0" + }, + "tags": [ + "greens-function", + "many-body-perturbation-theory", + "user-adjustable" + ], + "method": { + "...": "include(../../../../method.json)" + } +} diff --git a/schema/models_directory/pb/qm/abin/gw/definitions.json b/schema/models_directory/pb/qm/abin/gw/definitions.json index 33a1ec802..2e2d69a06 100644 --- a/schema/models_directory/pb/qm/abin/gw/definitions.json +++ b/schema/models_directory/pb/qm/abin/gw/definitions.json @@ -1,5 +1,10 @@ { - "tags": {}, + "tags": { + "enum": [ + "greens-function", + "many-body-perturbation-theory" + ] + }, "augmentations": {}, "modifiers": {} } diff --git a/schema/models_directory/pb/qm/abin/gw/tags.json b/schema/models_directory/pb/qm/abin/gw/tags.json index 643736d36..69083f7eb 100644 --- a/schema/models_directory/pb/qm/abin/gw/tags.json +++ b/schema/models_directory/pb/qm/abin/gw/tags.json @@ -11,7 +11,6 @@ { "$ref": "definitions.json#/tags" }, - { "description": "Universal definitions", "$ref": "../../../../definitions.json#/tags" From 48722a855b4cf18841cbab70db692cb4a70a3b44 Mon Sep 17 00:00:00 2001 From: Alexander Zech Date: Wed, 2 Dec 2020 14:30:33 -0800 Subject: [PATCH 4/4] update tags and subtype description --- schema/models_directory/pb/qm/abin/gw.json | 1 + schema/models_directory/pb/qm/abin/gw/definitions.json | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/schema/models_directory/pb/qm/abin/gw.json b/schema/models_directory/pb/qm/abin/gw.json index 27ea85796..ccaaf0270 100644 --- a/schema/models_directory/pb/qm/abin/gw.json +++ b/schema/models_directory/pb/qm/abin/gw.json @@ -17,6 +17,7 @@ ] }, "subtype": { + "description": "Abbreviations taken from Golze, Dvorak, Rinke, Frontiers in Chemistry, (2019) 7:377. https://doi.org/10.3389/fchem.2019.00377", "enum": [ { "name": "G0W0", diff --git a/schema/models_directory/pb/qm/abin/gw/definitions.json b/schema/models_directory/pb/qm/abin/gw/definitions.json index 2e2d69a06..1ebeb28a5 100644 --- a/schema/models_directory/pb/qm/abin/gw/definitions.json +++ b/schema/models_directory/pb/qm/abin/gw/definitions.json @@ -2,7 +2,8 @@ "tags": { "enum": [ "greens-function", - "many-body-perturbation-theory" + "many-body-perturbation-theory", + "refiner" ] }, "augmentations": {},