diff --git a/example/methods_directory/physical/psp.json b/example/methods_directory/physical/psp.json index 8ca42ef8f..75ce65a85 100644 --- a/example/methods_directory/physical/psp.json +++ b/example/methods_directory/physical/psp.json @@ -1,55 +1,98 @@ { "name": "PAW Pseudopotential method", "path": "/qm/wf/psp/paw", - "slug": "pseudopotential", "categories": { "tier1": "qm", "tier2": "wf", "type": "psp", "subtype": "paw" }, - "data": [ + "metaProperties": [ { - "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.0 - }, - { - "orbitalName": "4P", - "orbitalIndex": 2, - "principalNumber": 4, - "angularMomentum": 1, - "occupation": 6.0 - }, - { - "orbitalName": "4D", - "orbitalIndex": 3, - "principalNumber": 4, - "angularMomentum": 2, - "occupation": 7.0 + "slug": "pseudopotential", + "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.0 + }, + { + "orbitalName": "4P", + "orbitalIndex": 2, + "principalNumber": 4, + "angularMomentum": 1, + "occupation": 6.0 + }, + { + "orbitalName": "4D", + "orbitalIndex": 3, + "principalNumber": 4, + "angularMomentum": 2, + "occupation": 7.0 + }, + { + "orbitalName": "5S", + "orbitalIndex": 4, + "principalNumber": 5, + "angularMomentum": 0, + "occupation": 1.0 + } + ], + "apps": ["espresso"], + "exchangeCorrelation": { "functional": "pbe", "approximation": "gga" }, + "name": "pseudopotential", + "source": "dojo-oncv", + "type": "nc", + "version": "0.4" + } + }, + { + "slug": "pseudopotential", + "data": { + "element": "Rb", + "hash": "43c180bf64dcab4d78c412dc7c20744c", + "filename": "rb_pbe_dojo-oncv_0.4.upf", + "path": "/export/share/pseudo/rb/gga/pbe/dojo-oncv/0.4/nc/rb_pbe_dojo-oncv_0.4.upf", + "valenceConfiguration": [ + { + "orbitalName": "4S", + "orbitalIndex": 1, + "principalNumber": 4, + "angularMomentum": 0, + "occupation": 2.0 + }, + { + "orbitalName": "4P", + "orbitalIndex": 2, + "principalNumber": 4, + "angularMomentum": 1, + "occupation": 6.0 + }, + { + "orbitalName": "5S", + "orbitalIndex": 3, + "principalNumber": 5, + "angularMomentum": 0, + "occupation": 1.0 + } + ], + "apps": ["espresso"], + "exchangeCorrelation": { + "functional": "pbe", + "approximation": "gga" }, - { - "orbitalName": "5S", - "orbitalIndex": 4, - "principalNumber": 5, - "angularMomentum": 0, - "occupation": 1.0 - } - ], - "apps": ["espresso"], - "exchangeCorrelation": { "functional": "pbe", "approximation": "gga" }, - "name": "pseudopotential", - "source": "dojo-oncv", - "type": "nc", - "version": "0.4" + "name": "pseudopotential", + "source": "dojo-oncv", + "type": "nc", + "version": "0.4" + } } ] } diff --git a/schema/methods_directory/physical/psp.json b/schema/methods_directory/physical/psp.json index e4b28b1d2..2faa1d887 100644 --- a/schema/methods_directory/physical/psp.json +++ b/schema/methods_directory/physical/psp.json @@ -12,11 +12,7 @@ "categories": { "$ref": "../../methods_category/physical/qm/wf/psp.json" }, - "slug": { - "type": "string", - "description": "pseudopotential" - }, - "data": { + "metaProperties": { "type": "array", "items": { "description": "Specific data based on pseudopotential file.", diff --git a/schema/methods_directory/physical/psp/file.json b/schema/methods_directory/physical/psp/file.json index 736bf8e47..e4b0ddc4d 100644 --- a/schema/methods_directory/physical/psp/file.json +++ b/schema/methods_directory/physical/psp/file.json @@ -2,76 +2,85 @@ "$id": "methods-directory/physical/psp/file", "$schema": "http://json-schema.org/draft-04/schema#", "title": "pseudopotential file", + "description": "Data parsed from specific pseudopotential file (UPF or POTCAR)", "properties": { - "element": { - "type": "string", - "description": "chemical element" - }, - "hash": { - "type": "string", - "description": "MD5 hash of the pseudopotential file" - }, - "type": { - "type": "string", - "description": "type of pseudization", - "$ref": "../../../methods_category/physical/qm/wf/enum_options.json#/pseudoSubtypes" - }, - "source": { - "type": "string", - "description": "explains where this came from" - }, - "version": { - "type": "string", - "description": "explains the version of where this came from" + "slug": { + "enum": ["pseudopotential"] }, - "exchangeCorrelation": { + "data": { "type": "object", "properties": { - "approximation": { - "description": "DFT approximation", - "type": "string" + "element": { + "type": "string", + "description": "chemical element" + }, + "hash": { + "type": "string", + "description": "MD5 hash of the pseudopotential file" + }, + "type": { + "type": "string", + "description": "type of pseudization", + "$ref": "../../../methods_category/physical/qm/wf/enum_options.json#/pseudoSubtypes" + }, + "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": { + "description": "DFT model path, e.g. '/pb/qm/dft/ksdft/gga?functional=pbe'", + "$ref": "../../../core/reusable/category_path.json" + } + } }, - "functional": { - "description": "Exchange correlation functional", - "type": "string" + "valenceConfiguration": { + "type": "array", + "description": "contains pseudo orbital information, including orbital names and occupations", + "items": { + "$ref": "../../../core/reusable/atomic_orbital.json" + } }, "path": { - "description": "DFT model path, e.g. '/pb/qm/dft/ksdft/gga?functional=pbe'", - "$ref": "../../../core/reusable/category_path.json" + "type": "string", + "description": "location of the pseudopotential file on filesystem" + }, + "apps": { + "type": "array", + "description": "simulation engines that can use this pseudopotential" + }, + "filename": { + "type": "string", + "description": "filename of pseudopotential file on filesystem" + }, + "name": { + "type": "string", + "description": "name of the data category", + "enum": ["pseudopotential"] } - } - }, - "valenceConfiguration": { - "type": "array", - "description": "contains pseudo orbital information, including orbital names and occupations", - "items": { - "$ref": "../../../core/reusable/atomic_orbital.json" - } - }, - "path": { - "type": "string", - "description": "location of the pseudopotential file on filesystem" - }, - "apps": { - "type": "array", - "description": "simulation engines that can use this pseudopotential" - }, - "filename": { - "type": "string", - "description": "filename of pseudopotential file on filesystem" - }, - "name": { - "type": "string", - "description": "name of the data category", - "enum": ["pseudopotential"] + }, + "required": [ + "element", + "type", + "exchangeCorrelation", + "source", + "path", + "apps" + ] } - }, - "required": [ - "element", - "type", - "exchangeCorrelation", - "source", - "path", - "apps" - ] + } }