Skip to content

Commit

Permalink
Merge pull request #279 from Exabyte-io/fix/SOF-6896-2
Browse files Browse the repository at this point in the history
SOF-6896: more adjustments to psp and pseudopotential file schemas
  • Loading branch information
pranabdas authored Nov 21, 2023
2 parents 4e6868b + 6773ddc commit db8b320
Show file tree
Hide file tree
Showing 5 changed files with 182 additions and 106 deletions.
83 changes: 43 additions & 40 deletions example/methods_directory/physical/psp.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,46 +10,49 @@
},
"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": "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"
}
}
]
}
49 changes: 49 additions & 0 deletions example/methods_directory/physical/psp/file.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"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.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"
}
}
4 changes: 0 additions & 4 deletions schema/methods_directory/physical/psp.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,6 @@
"categories": {
"$ref": "../../methods_category/physical/qm/wf/psp.json"
},
"slug": {
"type": "string",
"description": "pseudopotential"
},
"data": {
"type": "array",
"items": {
Expand Down
75 changes: 13 additions & 62 deletions schema/methods_directory/physical/psp/file.json
Original file line number Diff line number Diff line change
@@ -1,77 +1,28 @@
{
"$id": "methods-directory/physical/psp/file",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "pseudopotential file",
"title": "Pseudopotential file",
"properties": {
"element": {
"type": "string",
"description": "chemical element"
},
"hash": {
"type": "string",
"description": "MD5 hash of the pseudopotential file"
"slug": {
"enum": ["pseudopotential"]
},
"type": {
"type": "string",
"description": "type of pseudization",
"$ref": "../../../methods_category/physical/qm/wf/enum_options.json#/pseudoSubtypes"
"data": {
"items": {
"description": "Specific data based on pseudopotential file.",
"$ref": "file_data_item.json"
}
},
"source": {
"type": "string",
"description": "explains where this came from"
},
"version": {
"type": "string",
"description": "explains the version of where this came from"
},
"exchangeCorrelation": {
"type": "object",
"description": "TODO: remove in the future",
"properties": {
"approximation": {
"description": "DFT approximation",
"type": "string"
"info": {
"type": "object"
},
"functional": {
"description": "Exchange correlation functional",
"type": {
"type": "string"
},
"path": {
"description": "DFT model path, e.g. '/pb/qm/dft/ksdft/gga?functional=pbe'",
"$ref": "../../../core/reusable/category_path.json"
}
}
},
"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"
]
}
}
77 changes: 77 additions & 0 deletions schema/methods_directory/physical/psp/file_data_item.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
{
"$id": "methods-directory/physical/psp/file-data-item",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "File data item",
"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"
},
"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"
}
}
},
"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"
]
}

0 comments on commit db8b320

Please sign in to comment.