From d7da65aead6c078bae4251da04db7fda3e55ae14 Mon Sep 17 00:00:00 2001 From: Pranab Das <31024886+pranabdas@users.noreply.github.com> Date: Wed, 30 Aug 2023 09:15:22 +0800 Subject: [PATCH] SOF-6873: include valence configuration in pseudopotential schema --- schema/core/reusable/atomic_orbital.json | 27 +++++++++++++++++++ schema/method.json | 4 +++ schema/methods_directory/pseudopotential.json | 6 +++++ .../pseudopotential/file.json | 6 +++++ 4 files changed, 43 insertions(+) create mode 100644 schema/core/reusable/atomic_orbital.json diff --git a/schema/core/reusable/atomic_orbital.json b/schema/core/reusable/atomic_orbital.json new file mode 100644 index 000000000..2b8f35ed8 --- /dev/null +++ b/schema/core/reusable/atomic_orbital.json @@ -0,0 +1,27 @@ +{ + "schemaId": "core/reusable/atomic_orbital.json", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic orbital schema", + "type": "object", + "properties": { + "orbital": { + "type": "string", + "pattern": "^[1-7][sSpPdDfF]$" + }, + "principalNumber": { + "type": "number", + "minimum": 1, + "maximum": 7 + }, + "lNumber": { + "type": "number", + "minimum": 0, + "maximum": 3 + }, + "occupation": { + "type": "number", + "minimum": 0, + "maximum": 14 + } + } +} diff --git a/schema/method.json b/schema/method.json index 82a023234..a193ea01f 100644 --- a/schema/method.json +++ b/schema/method.json @@ -18,6 +18,10 @@ "data": { "description": "additional data specific to method, eg. array of pseudopotentials", "type": "object" + }, + "valenceConfiguration": { + "description": "array of atomic orbitals", + "type": "array" } }, "required": [ diff --git a/schema/methods_directory/pseudopotential.json b/schema/methods_directory/pseudopotential.json index bff9211a8..beb8982d2 100644 --- a/schema/methods_directory/pseudopotential.json +++ b/schema/methods_directory/pseudopotential.json @@ -29,6 +29,12 @@ "$ref": "pseudopotential/dataset.json" } } + }, + "valenceConfiguration": { + "type": "array", + "items": { + "$ref": "../core/reusable/atomic_orbital.json" + } } } } diff --git a/schema/methods_directory/pseudopotential/file.json b/schema/methods_directory/pseudopotential/file.json index 6e8682ccf..1c98c7a3e 100644 --- a/schema/methods_directory/pseudopotential/file.json +++ b/schema/methods_directory/pseudopotential/file.json @@ -37,6 +37,12 @@ "valenceElectrons": { "type": "integer" }, + "valenceConfiguration": { + "type": "array", + "items": { + "$ref": "../../core/reusable/atomic_orbital.json" + } + }, "coreStates": { "type": "string", "enum": [