Skip to content

Commit 6407fb4

Browse files
committed
SOF-7010: extend valence config implementation for DFT+U+J case
1 parent b688f8a commit 6407fb4

File tree

1 file changed

+31
-3
lines changed

1 file changed

+31
-3
lines changed

src/context/providers/HubbardJContextProvider.js

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,21 @@ import { HubbardUContextProvider } from "./HubbardUContextProvider";
33
const defaultHubbardConfig = {
44
paramType: "U",
55
atomicSpecies: "",
6-
atomicOrbital: "2p",
6+
atomicOrbital: "3d",
77
value: 1.0,
88
};
99

1010
export class HubbardJContextProvider extends HubbardUContextProvider {
1111
get defaultData() {
12+
const valenceOrbitals = this._getValenceOrbitals(this.firstElement);
1213
return [
1314
{
1415
...defaultHubbardConfig,
1516
atomicSpecies: this.firstElement,
17+
atomicOrbital:
18+
valenceOrbitals.length > 0
19+
? valenceOrbitals[valenceOrbitals.length - 1]
20+
: defaultHubbardConfig.atomicOrbital,
1621
},
1722
];
1823
}
@@ -57,15 +62,38 @@ export class HubbardJContextProvider extends HubbardUContextProvider {
5762
atomicOrbital: {
5863
type: "string",
5964
title: "Orbital",
60-
enum: this.orbitalList,
61-
default: defaultHubbardConfig.atomicOrbital,
6265
},
6366
value: {
6467
type: "number",
6568
title: "Value (eV)",
6669
default: defaultHubbardConfig.value,
6770
},
6871
},
72+
dependencies: {
73+
atomicSpecies: {
74+
oneOf: this.uniqueElementsWithLabels.map((elementWithLabel) => {
75+
const element =
76+
parseInt(elementWithLabel.slice(-1), 10) + 1
77+
? elementWithLabel.slice(0, -1)
78+
: elementWithLabel;
79+
const orbitals = this._getValenceOrbitals(element);
80+
return {
81+
properties: {
82+
atomicSpecies: {
83+
enum: [elementWithLabel],
84+
},
85+
atomicOrbital: {
86+
enum: orbitals.length > 0 ? orbitals : this.orbitalList,
87+
default:
88+
orbitals.length > 0
89+
? orbitals[orbitals.length - 1]
90+
: defaultHubbardConfig.atomicOrbital,
91+
},
92+
},
93+
};
94+
}),
95+
},
96+
},
6997
},
7098
minItems: 1,
7199
};

0 commit comments

Comments
 (0)