Skip to content

Commit

Permalink
Merge pull request #263 from Exabyte-io/update/SOF-6827
Browse files Browse the repository at this point in the history
SOF-6827: 3pse schemas
  • Loading branch information
k0stik authored Oct 6, 2023
2 parents a9e65c5 + 1233f3e commit 7271583
Show file tree
Hide file tree
Showing 16 changed files with 1,894 additions and 6 deletions.
94 changes: 94 additions & 0 deletions example/3pse/file/applications/espresso/7.2/pw.x.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
{
"&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.00
],
[
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.000000000,
2.496799000
],
"v2": [
1.441527575,
4.077255694,
2.496799000
],
"v3": [
0.000000000,
0.000000000,
4.993598000
]
}
},
"K_POINTS": {
"card_option": "automatic",
"values": {
"nk1": 2,
"nk2": 2,
"nk3": 2,
"sk1": 0,
"sk2": 0,
"sk3": 0
}
}
}
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
"lint:fix": "eslint --fix --cache src/js && prettier --write src/js",
"prettier": "prettier --check src/js",
"postinstall": "npm run transpile",
"prepare": "husky install || exit 0"
"prepare": "husky install || exit 0",
"setSchemaIds": "cd src/js/scripts && node setSchemaIds.mjs"
},
"repository": {
"type": "git",
Expand Down
52 changes: 52 additions & 0 deletions schema/3pse/file/applications/espresso/7.2/pw.x.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{
"$id": "3pse/file/applications/espresso/7.2/pw.x",
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "pwx main schema",
"additionalProperties": false,
"properties": {
"&CONTROL": {
"$ref": "./pw.x/control.json"
},
"&SYSTEM": {
"$ref": "./pw.x/system.json"
},
"&ELECTRONS": {
"$ref": "./pw.x/electrons.json"
},
"&IONS": {
"oneOf": [
{
"$ref": "./pw.x/ions.json"
},
{
"type": "null"
}
]
},
"&CELL": {
"oneOf": [
{
"$ref": "./pw.x/cell.json"
},
{
"type": "null"
}
]
},
"ATOMIC_SPECIES": {
"$ref": "./pw.x/atomic_species.json"
},
"ATOMIC_POSITIONS": {
"$ref": "./pw.x/atomic_positions.json"
},
"K_POINTS": {
"$ref": "./pw.x/k_points.json"
},
"CELL_PARAMETERS": {
"$ref": "./pw.x/cell_parameters.json"
},
"HUBBARD": {
"$ref": "./pw.x/hubbard.json"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{
"$id": "3pse/file/applications/espresso/7.2/pw.x/atomic-positions",
"$schema": "http://json-schema.org/draft-04/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)": {
"$ref": "../../../../../../core/primitive/integer_one_or_zero.json",
"default": 1,
"description": "component i of the force for this atom is multiplied by if_pos(i), which must be either 0 or 1. Used to keep selected atoms and/or selected components fixed in MD dynamics or structural optimization run."
},
"if_pos(2)": {
"$ref": "../../../../../../core/primitive/integer_one_or_zero.json",
"default": 1,
"description": "component i of the force for this atom is multiplied by if_pos(i), which must be either 0 or 1. Used to keep selected atoms and/or selected components fixed in MD dynamics or structural optimization run."
},
"if_pos(3)": {
"$ref": "../../../../../../core/primitive/integer_one_or_zero.json",
"default": 1,
"description": "component i of the force for this atom is multiplied by if_pos(i), which must be either 0 or 1. Used to keep selected atoms and/or selected components fixed in MD dynamics or structural optimization run."
}
},
"required": [
"x",
"y",
"z"
]
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"$id": "3pse/file/applications/espresso/7.2/pw.x/atomic-species",
"$schema": "http://json-schema.org/draft-04/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"
}
}
}
}
}
}
89 changes: 89 additions & 0 deletions schema/3pse/file/applications/espresso/7.2/pw.x/cell.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
{
"$id": "3pse/file/applications/espresso/7.2/pw.x/cell",
"$schema": "http://json-schema.org/draft-04/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"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"$id": "3pse/file/applications/espresso/7.2/pw.x/cell-parameters",
"$schema": "http://json-schema.org/draft-04/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": {
"$ref": "../../../../../../core/primitive/array_of_3_numbers.json",
"description": "1st lattice vector"
},
"v2": {
"$ref": "../../../../../../core/primitive/array_of_3_numbers.json",
"description": "2nd lattice vector"
},
"v3": {
"$ref": "../../../../../../core/primitive/array_of_3_numbers.json",
"description": "3rd lattice vector"
}
}
}
}
}
Loading

0 comments on commit 7271583

Please sign in to comment.