@mat3ra/prode 2026.3.30-0 → 2026.6.5-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/js/PropertyFactory.d.ts +2 -1
- package/dist/js/PropertyFactory.js +2 -0
- package/dist/js/generated/AtomicConstraintsPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/AtomicConstraintsPropertySchemaMixin.js +6 -0
- package/dist/js/generated/AtomicForcesPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/AtomicForcesPropertySchemaMixin.js +9 -0
- package/dist/js/generated/AveragePotentialProfilePropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/AveragePotentialProfilePropertySchemaMixin.js +15 -0
- package/dist/js/generated/BandGapsPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/BandGapsPropertySchemaMixin.js +9 -0
- package/dist/js/generated/BandStructurePropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/BandStructurePropertySchemaMixin.js +18 -0
- package/dist/js/generated/BoundaryConditionsPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/BoundaryConditionsPropertySchemaMixin.js +9 -0
- package/dist/js/generated/ChargeDensityProfilePropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/ChargeDensityProfilePropertySchemaMixin.js +15 -0
- package/dist/js/generated/ConvergenceElectronicPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/ConvergenceElectronicPropertySchemaMixin.js +9 -0
- package/dist/js/generated/ConvergenceIonicPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/ConvergenceIonicPropertySchemaMixin.js +12 -0
- package/dist/js/generated/DensityOfStatesPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/DensityOfStatesPropertySchemaMixin.js +18 -0
- package/dist/js/generated/DielectricTensorPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/DielectricTensorPropertySchemaMixin.js +6 -0
- package/dist/js/generated/FermiEnergyPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/FermiEnergyPropertySchemaMixin.js +9 -0
- package/dist/js/generated/FileContentPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/FileContentPropertySchemaMixin.js +15 -0
- package/dist/js/generated/FinalStructurePropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/FinalStructurePropertySchemaMixin.js +9 -0
- package/dist/js/generated/FormationEnergyPropertySchemaMixin.d.ts +5 -0
- package/dist/js/generated/FormationEnergyPropertySchemaMixin.js +27 -0
- package/dist/js/generated/HOMOEnergyPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/HOMOEnergyPropertySchemaMixin.js +9 -0
- package/dist/js/generated/HubbardUPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/HubbardUPropertySchemaMixin.js +9 -0
- package/dist/js/generated/HubbardVNNPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/HubbardVNNPropertySchemaMixin.js +9 -0
- package/dist/js/generated/HubbardVPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/HubbardVPropertySchemaMixin.js +9 -0
- package/dist/js/generated/IonizationPotentialElementalPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/IonizationPotentialElementalPropertySchemaMixin.js +9 -0
- package/dist/js/generated/IsRelaxedPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/IsRelaxedPropertySchemaMixin.js +9 -0
- package/dist/js/generated/JupyterNotebookEndpointPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/JupyterNotebookEndpointPropertySchemaMixin.js +12 -0
- package/dist/js/generated/LUMOEnergyPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/LUMOEnergyPropertySchemaMixin.js +9 -0
- package/dist/js/generated/MagneticMomentsPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/MagneticMomentsPropertySchemaMixin.js +9 -0
- package/dist/js/generated/MetaPropertyHolderSchemaMixin.d.ts +1 -1
- package/dist/js/generated/MetaPropertyHolderSchemaMixin.js +6 -0
- package/dist/js/generated/PhononDOSPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/PhononDOSPropertySchemaMixin.js +15 -0
- package/dist/js/generated/PhononDispersionsPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/PhononDispersionsPropertySchemaMixin.js +15 -0
- package/dist/js/generated/PotentialProfilePropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/PotentialProfilePropertySchemaMixin.js +15 -0
- package/dist/js/generated/PressurePropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/PressurePropertySchemaMixin.js +9 -0
- package/dist/js/generated/PropertyHolderSchemaMixin.d.ts +1 -1
- package/dist/js/generated/PropertyHolderSchemaMixin.js +21 -0
- package/dist/js/generated/ProtoPropertyHolderSchemaMixin.d.ts +1 -1
- package/dist/js/generated/ProtoPropertyHolderSchemaMixin.js +6 -0
- package/dist/js/generated/PseudopotentialMetaPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/PseudopotentialMetaPropertySchemaMixin.js +36 -0
- package/dist/js/generated/ReactionEnergyBarrierPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/ReactionEnergyBarrierPropertySchemaMixin.js +9 -0
- package/dist/js/generated/ReactionEnergyProfilePropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/ReactionEnergyProfilePropertySchemaMixin.js +15 -0
- package/dist/js/generated/StressTensorPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/StressTensorPropertySchemaMixin.js +9 -0
- package/dist/js/generated/SurfaceEnergyPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/SurfaceEnergyPropertySchemaMixin.js +9 -0
- package/dist/js/generated/ThermalCorrectionToEnergyPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/ThermalCorrectionToEnergyPropertySchemaMixin.js +9 -0
- package/dist/js/generated/ThermalCorrectionToEnthalpyPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/ThermalCorrectionToEnthalpyPropertySchemaMixin.js +9 -0
- package/dist/js/generated/TotalEnergyContributionsPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/TotalEnergyContributionsPropertySchemaMixin.js +48 -0
- package/dist/js/generated/TotalEnergyPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/TotalEnergyPropertySchemaMixin.js +9 -0
- package/dist/js/generated/TotalForcePropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/TotalForcePropertySchemaMixin.js +9 -0
- package/dist/js/generated/ValenceBandOffsetPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/ValenceBandOffsetPropertySchemaMixin.js +9 -0
- package/dist/js/generated/WavefunctionAmplitudePropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/WavefunctionAmplitudePropertySchemaMixin.js +15 -0
- package/dist/js/generated/WorkflowPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/WorkflowPropertySchemaMixin.js +39 -12
- package/dist/js/generated/ZeroPointEnergyPropertySchemaMixin.d.ts +1 -1
- package/dist/js/generated/ZeroPointEnergyPropertySchemaMixin.js +9 -0
- package/dist/js/holders/MetaPropertyHolder.d.ts +4 -5
- package/dist/js/holders/MetaPropertyHolder.js +1 -1
- package/dist/js/holders/PropertyHolder.d.ts +5 -4
- package/dist/js/holders/mixins/MetaPropertyHolderMixin.d.ts +2 -2
- package/dist/js/holders/mixins/MetaPropertyHolderMixin.js +0 -1
- package/dist/js/index.d.ts +4 -0
- package/dist/js/index.js +9 -1
- package/dist/js/meta_properties/PseudopotentialMetaProperty.d.ts +14 -14
- package/dist/js/meta_properties/PseudopotentialMetaProperty.js +7 -1
- package/dist/js/properties/scalar/FormationEnergyProperty.d.ts +15 -0
- package/dist/js/properties/scalar/FormationEnergyProperty.js +18 -0
- package/dist/js/properties/scalar/ThermalCorrectionToEnergyProperty.d.ts +5 -5
- package/dist/js/properties/scalar/ThermalCorrectionToEnergyProperty.js +1 -1
- package/dist/js/properties/scalar/ThermalCorrectionToEnthalpyProperty.d.ts +5 -5
- package/dist/js/properties/scalar/ThermalCorrectionToEnthalpyProperty.js +1 -1
- package/dist/js/settings.d.ts +1 -0
- package/dist/js/settings.js +1 -0
- package/dist/js/types.d.ts +1 -0
- package/package.json +5 -5
- package/src/js/PropertyFactory.ts +3 -0
- package/src/js/generated/AtomicConstraintsPropertySchemaMixin.ts +9 -1
- package/src/js/generated/AtomicForcesPropertySchemaMixin.ts +12 -1
- package/src/js/generated/AveragePotentialProfilePropertySchemaMixin.ts +18 -1
- package/src/js/generated/BandGapsPropertySchemaMixin.ts +12 -1
- package/src/js/generated/BandStructurePropertySchemaMixin.ts +21 -1
- package/src/js/generated/BoundaryConditionsPropertySchemaMixin.ts +12 -1
- package/src/js/generated/ChargeDensityProfilePropertySchemaMixin.ts +18 -1
- package/src/js/generated/ConvergenceElectronicPropertySchemaMixin.ts +12 -1
- package/src/js/generated/ConvergenceIonicPropertySchemaMixin.ts +15 -1
- package/src/js/generated/DensityOfStatesPropertySchemaMixin.ts +21 -1
- package/src/js/generated/DielectricTensorPropertySchemaMixin.ts +9 -1
- package/src/js/generated/FermiEnergyPropertySchemaMixin.ts +12 -1
- package/src/js/generated/FileContentPropertySchemaMixin.ts +18 -1
- package/src/js/generated/FinalStructurePropertySchemaMixin.ts +12 -1
- package/src/js/generated/FormationEnergyPropertySchemaMixin.ts +38 -0
- package/src/js/generated/HOMOEnergyPropertySchemaMixin.ts +12 -1
- package/src/js/generated/HubbardUPropertySchemaMixin.ts +12 -1
- package/src/js/generated/HubbardVNNPropertySchemaMixin.ts +12 -1
- package/src/js/generated/HubbardVPropertySchemaMixin.ts +12 -1
- package/src/js/generated/IonizationPotentialElementalPropertySchemaMixin.ts +12 -1
- package/src/js/generated/IsRelaxedPropertySchemaMixin.ts +12 -1
- package/src/js/generated/JupyterNotebookEndpointPropertySchemaMixin.ts +15 -1
- package/src/js/generated/LUMOEnergyPropertySchemaMixin.ts +12 -1
- package/src/js/generated/MagneticMomentsPropertySchemaMixin.ts +12 -1
- package/src/js/generated/MetaPropertyHolderSchemaMixin.ts +9 -1
- package/src/js/generated/PhononDOSPropertySchemaMixin.ts +18 -1
- package/src/js/generated/PhononDispersionsPropertySchemaMixin.ts +18 -1
- package/src/js/generated/PotentialProfilePropertySchemaMixin.ts +18 -1
- package/src/js/generated/PressurePropertySchemaMixin.ts +12 -1
- package/src/js/generated/PropertyHolderSchemaMixin.ts +24 -1
- package/src/js/generated/ProtoPropertyHolderSchemaMixin.ts +9 -1
- package/src/js/generated/PseudopotentialMetaPropertySchemaMixin.ts +39 -1
- package/src/js/generated/ReactionEnergyBarrierPropertySchemaMixin.ts +12 -1
- package/src/js/generated/ReactionEnergyProfilePropertySchemaMixin.ts +18 -1
- package/src/js/generated/StressTensorPropertySchemaMixin.ts +12 -1
- package/src/js/generated/SurfaceEnergyPropertySchemaMixin.ts +12 -1
- package/src/js/generated/ThermalCorrectionToEnergyPropertySchemaMixin.ts +12 -1
- package/src/js/generated/ThermalCorrectionToEnthalpyPropertySchemaMixin.ts +12 -1
- package/src/js/generated/TotalEnergyContributionsPropertySchemaMixin.ts +59 -1
- package/src/js/generated/TotalEnergyPropertySchemaMixin.ts +12 -1
- package/src/js/generated/TotalForcePropertySchemaMixin.ts +12 -1
- package/src/js/generated/ValenceBandOffsetPropertySchemaMixin.ts +12 -1
- package/src/js/generated/WavefunctionAmplitudePropertySchemaMixin.ts +18 -1
- package/src/js/generated/WorkflowPropertySchemaMixin.ts +42 -13
- package/src/js/generated/ZeroPointEnergyPropertySchemaMixin.ts +12 -1
- package/src/js/holders/MetaPropertyHolder.ts +5 -3
- package/src/js/holders/PropertyHolder.ts +5 -3
- package/src/js/holders/mixins/MetaPropertyHolderMixin.ts +6 -7
- package/src/js/index.ts +4 -0
- package/src/js/meta_properties/PseudopotentialMetaProperty.ts +24 -15
- package/src/js/properties/scalar/FormationEnergyProperty.ts +27 -0
- package/src/js/properties/scalar/ThermalCorrectionToEnergyProperty.ts +7 -3
- package/src/js/properties/scalar/ThermalCorrectionToEnthalpyProperty.ts +8 -3
- package/src/js/settings.ts +1 -0
- package/src/js/types.ts +4 -0
|
@@ -8,41 +8,70 @@ export type WorkflowPropertySchemaMixin = Omit<
|
|
|
8
8
|
|
|
9
9
|
export type WorkflowPropertyInMemoryEntity = InMemoryEntity & WorkflowPropertySchemaMixin;
|
|
10
10
|
|
|
11
|
-
export function workflowPropertySchemaMixin
|
|
11
|
+
export function workflowPropertySchemaMixin<T extends InMemoryEntity>(
|
|
12
|
+
item: InMemoryEntity,
|
|
13
|
+
): asserts item is T & WorkflowPropertySchemaMixin {
|
|
12
14
|
// @ts-expect-error
|
|
13
15
|
const properties: InMemoryEntity & WorkflowPropertySchemaMixin = {
|
|
14
16
|
get name() {
|
|
15
17
|
return this.requiredProp<WorkflowPropertySchema["name"]>("name");
|
|
16
18
|
},
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
set name(value: WorkflowPropertySchema["name"]) {
|
|
20
|
+
this.setProp("name", value);
|
|
19
21
|
},
|
|
20
|
-
get
|
|
21
|
-
return this.requiredProp<WorkflowPropertySchema["
|
|
22
|
+
get workflows() {
|
|
23
|
+
return this.requiredProp<WorkflowPropertySchema["workflows"]>("workflows");
|
|
24
|
+
},
|
|
25
|
+
set workflows(value: WorkflowPropertySchema["workflows"]) {
|
|
26
|
+
this.setProp("workflows", value);
|
|
27
|
+
},
|
|
28
|
+
get metadata() {
|
|
29
|
+
return this.prop<WorkflowPropertySchema["metadata"]>("metadata");
|
|
30
|
+
},
|
|
31
|
+
set metadata(value: WorkflowPropertySchema["metadata"]) {
|
|
32
|
+
this.setProp("metadata", value);
|
|
22
33
|
},
|
|
23
34
|
get properties() {
|
|
24
|
-
return this.
|
|
35
|
+
return this.requiredProp<WorkflowPropertySchema["properties"]>("properties");
|
|
36
|
+
},
|
|
37
|
+
set properties(value: WorkflowPropertySchema["properties"]) {
|
|
38
|
+
this.setProp("properties", value);
|
|
25
39
|
},
|
|
26
40
|
get isUsingDataset() {
|
|
27
41
|
return this.prop<WorkflowPropertySchema["isUsingDataset"]>("isUsingDataset");
|
|
28
42
|
},
|
|
43
|
+
set isUsingDataset(value: WorkflowPropertySchema["isUsingDataset"]) {
|
|
44
|
+
this.setProp("isUsingDataset", value);
|
|
45
|
+
},
|
|
29
46
|
get isMultiMaterial() {
|
|
30
47
|
return this.prop<WorkflowPropertySchema["isMultiMaterial"]>("isMultiMaterial");
|
|
31
48
|
},
|
|
32
|
-
|
|
33
|
-
|
|
49
|
+
set isMultiMaterial(value: WorkflowPropertySchema["isMultiMaterial"]) {
|
|
50
|
+
this.setProp("isMultiMaterial", value);
|
|
51
|
+
},
|
|
52
|
+
get subworkflows() {
|
|
53
|
+
return this.requiredProp<WorkflowPropertySchema["subworkflows"]>("subworkflows");
|
|
54
|
+
},
|
|
55
|
+
set subworkflows(value: WorkflowPropertySchema["subworkflows"]) {
|
|
56
|
+
this.setProp("subworkflows", value);
|
|
57
|
+
},
|
|
58
|
+
get units() {
|
|
59
|
+
return this.requiredProp<WorkflowPropertySchema["units"]>("units");
|
|
60
|
+
},
|
|
61
|
+
set units(value: WorkflowPropertySchema["units"]) {
|
|
62
|
+
this.setProp("units", value);
|
|
34
63
|
},
|
|
35
64
|
get application() {
|
|
36
65
|
return this.prop<WorkflowPropertySchema["application"]>("application");
|
|
37
66
|
},
|
|
67
|
+
set application(value: WorkflowPropertySchema["application"]) {
|
|
68
|
+
this.setProp("application", value);
|
|
69
|
+
},
|
|
38
70
|
get tags() {
|
|
39
71
|
return this.prop<WorkflowPropertySchema["tags"]>("tags");
|
|
40
72
|
},
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
},
|
|
44
|
-
get metadata() {
|
|
45
|
-
return this.prop<WorkflowPropertySchema["metadata"]>("metadata");
|
|
73
|
+
set tags(value: WorkflowPropertySchema["tags"]) {
|
|
74
|
+
this.setProp("tags", value);
|
|
46
75
|
},
|
|
47
76
|
};
|
|
48
77
|
|
|
@@ -9,18 +9,29 @@ export type ZeroPointEnergyPropertySchemaMixin = Omit<
|
|
|
9
9
|
export type ZeroPointEnergyPropertyInMemoryEntity = InMemoryEntity &
|
|
10
10
|
ZeroPointEnergyPropertySchemaMixin;
|
|
11
11
|
|
|
12
|
-
export function zeroPointEnergyPropertySchemaMixin
|
|
12
|
+
export function zeroPointEnergyPropertySchemaMixin<T extends InMemoryEntity>(
|
|
13
|
+
item: InMemoryEntity,
|
|
14
|
+
): asserts item is T & ZeroPointEnergyPropertySchemaMixin {
|
|
13
15
|
// @ts-expect-error
|
|
14
16
|
const properties: InMemoryEntity & ZeroPointEnergyPropertySchemaMixin = {
|
|
15
17
|
get name() {
|
|
16
18
|
return this.requiredProp<ZeroPointEnergyPropertySchema["name"]>("name");
|
|
17
19
|
},
|
|
20
|
+
set name(value: ZeroPointEnergyPropertySchema["name"]) {
|
|
21
|
+
this.setProp("name", value);
|
|
22
|
+
},
|
|
18
23
|
get units() {
|
|
19
24
|
return this.requiredProp<ZeroPointEnergyPropertySchema["units"]>("units");
|
|
20
25
|
},
|
|
26
|
+
set units(value: ZeroPointEnergyPropertySchema["units"]) {
|
|
27
|
+
this.setProp("units", value);
|
|
28
|
+
},
|
|
21
29
|
get value() {
|
|
22
30
|
return this.requiredProp<ZeroPointEnergyPropertySchema["value"]>("value");
|
|
23
31
|
},
|
|
32
|
+
set value(value: ZeroPointEnergyPropertySchema["value"]) {
|
|
33
|
+
this.setProp("value", value);
|
|
34
|
+
},
|
|
24
35
|
};
|
|
25
36
|
|
|
26
37
|
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
|
|
2
|
-
import type { Constructor } from "@mat3ra/code/dist/js/utils/types";
|
|
3
2
|
import type { MetaPropertyHolderSchema } from "@mat3ra/esse/dist/js/types";
|
|
4
3
|
|
|
5
4
|
import {
|
|
@@ -7,9 +6,10 @@ import {
|
|
|
7
6
|
metaPropertyHolderMixin,
|
|
8
7
|
} from "./mixins/MetaPropertyHolderMixin";
|
|
9
8
|
|
|
10
|
-
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
10
|
+
interface MetaPropertyHolder extends MetaPropertyHolderMixin {}
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
class MetaPropertyHolder extends InMemoryEntity {
|
|
13
13
|
// eslint-disable-next-line no-useless-constructor
|
|
14
14
|
constructor(data: MetaPropertyHolderSchema) {
|
|
15
15
|
super(data);
|
|
@@ -17,3 +17,5 @@ export default class MetaPropertyHolder extends (InMemoryEntity as MetaPropertyB
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
metaPropertyHolderMixin(MetaPropertyHolder.prototype);
|
|
20
|
+
|
|
21
|
+
export default MetaPropertyHolder;
|
|
@@ -5,11 +5,13 @@ import type { PropertyHolderSchema } from "@mat3ra/esse/dist/js/types";
|
|
|
5
5
|
import type { PropertyHolderMixin } from "./mixins/PropertyHolderMixin";
|
|
6
6
|
import { propertyHolderMixin } from "./mixins/PropertyHolderMixin";
|
|
7
7
|
|
|
8
|
-
type
|
|
8
|
+
type Schema = PropertyHolderSchema;
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
type Base = typeof InMemoryEntity & Constructor<PropertyHolderMixin>;
|
|
11
|
+
|
|
12
|
+
export default class PropertyHolder extends (InMemoryEntity as Base) implements Schema {
|
|
11
13
|
// eslint-disable-next-line no-useless-constructor
|
|
12
|
-
constructor(data:
|
|
14
|
+
constructor(data: Schema) {
|
|
13
15
|
super(data);
|
|
14
16
|
}
|
|
15
17
|
}
|
|
@@ -1,29 +1,28 @@
|
|
|
1
1
|
import type { InMemoryEntity } from "@mat3ra/code/dist/js/entity";
|
|
2
2
|
import type { AnyObject } from "@mat3ra/esse/dist/js/esse/types";
|
|
3
3
|
import type { MetaPropertyHolderSchema } from "@mat3ra/esse/dist/js/types";
|
|
4
|
+
import type { PseudopotentialMetaProperty } from "src/js";
|
|
4
5
|
|
|
5
6
|
import {
|
|
6
7
|
type MetaPropertyHolderSchemaMixin,
|
|
7
8
|
metaPropertyHolderSchemaMixin,
|
|
8
9
|
} from "../../generated/MetaPropertyHolderSchemaMixin";
|
|
9
|
-
import type MetaProperty from "../../MetaProperty";
|
|
10
10
|
import PropertyFactory from "../../PropertyFactory";
|
|
11
11
|
|
|
12
12
|
export interface MetaPropertySchemaJSON extends MetaPropertyHolderSchema, AnyObject {}
|
|
13
13
|
|
|
14
14
|
export type MetaPropertyHolderMixin = {
|
|
15
|
-
property:
|
|
15
|
+
property: PseudopotentialMetaProperty;
|
|
16
16
|
} & MetaPropertyHolderSchemaMixin;
|
|
17
17
|
|
|
18
18
|
export type MetaPropertyInMemoryEntity = InMemoryEntity & MetaPropertyHolderMixin;
|
|
19
19
|
|
|
20
20
|
export function metaPropertyHolderMixin(item: InMemoryEntity) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
return PropertyFactory.createMetaProperty(this.data);
|
|
21
|
+
const properties = {
|
|
22
|
+
get property(): PseudopotentialMetaProperty {
|
|
23
|
+
return PropertyFactory.createMetaProperty(this.data) as PseudopotentialMetaProperty;
|
|
25
24
|
},
|
|
26
|
-
};
|
|
25
|
+
} as InMemoryEntity & MetaPropertyHolderMixin;
|
|
27
26
|
|
|
28
27
|
Object.defineProperties(item, Object.getOwnPropertyDescriptors(properties));
|
|
29
28
|
|
package/src/js/index.ts
CHANGED
|
@@ -8,6 +8,7 @@ export { default as BandGapsProperty } from "./properties/non-scalar/BandGapsPro
|
|
|
8
8
|
export { default as IsRelaxedProperty } from "./properties/non-scalar/IsRelaxedProperty";
|
|
9
9
|
export { default as PressureProperty } from "./properties/scalar/PressureProperty";
|
|
10
10
|
export { default as ReactionEnergyBarrierProperty } from "./properties/scalar/ReactionEnergyBarrierProperty";
|
|
11
|
+
export { default as FormationEnergyProperty } from "./properties/scalar/FormationEnergyProperty";
|
|
11
12
|
export { default as SurfaceEnergyProperty } from "./properties/scalar/SurfaceEnergyProperty";
|
|
12
13
|
export { default as TotalEnergyProperty } from "./properties/scalar/TotalEnergyProperty";
|
|
13
14
|
export { default as HOMOEnergyProperty } from "./properties/scalar/HOMOEnergyProperty";
|
|
@@ -22,5 +23,8 @@ export { default as ReactionEnergyProfileProperty } from "./properties/non-scala
|
|
|
22
23
|
export { protoPropertyHolderMixin } from "./holders/mixins/ProtoPropertyHolderMixin";
|
|
23
24
|
export { propertyHolderMixin } from "./holders/mixins/PropertyHolderMixin";
|
|
24
25
|
export { metaPropertyHolderMixin } from "./holders/mixins/MetaPropertyHolderMixin";
|
|
26
|
+
export { default as PropertyHolder } from "./holders/PropertyHolder";
|
|
27
|
+
export { default as MetaPropertyHolder } from "./holders/MetaPropertyHolder";
|
|
28
|
+
export { default as ProtoPropertyHolder } from "./holders/ProtoPropertyHolder";
|
|
25
29
|
|
|
26
30
|
export * from "./types";
|
|
@@ -19,6 +19,20 @@ enum CompatibleExchangeCorrelationKey {
|
|
|
19
19
|
|
|
20
20
|
type Base = typeof MetaProperty & Constructor<PseudopotentialMetaPropertySchemaMixin>;
|
|
21
21
|
|
|
22
|
+
export type ExchangeCorrelation = {
|
|
23
|
+
functional?: string;
|
|
24
|
+
approximation: string;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
// TODO: move to esse schema
|
|
28
|
+
export type PseudopotentialFilter = {
|
|
29
|
+
searchText?: string;
|
|
30
|
+
appName?: string;
|
|
31
|
+
type?: string;
|
|
32
|
+
exchangeCorrelation?: ExchangeCorrelation;
|
|
33
|
+
elements?: string[];
|
|
34
|
+
};
|
|
35
|
+
|
|
22
36
|
export default class PseudopotentialMetaProperty extends (MetaProperty as Base) implements Schema {
|
|
23
37
|
static readonly propertyName = PropertyName.pseudopotential;
|
|
24
38
|
|
|
@@ -80,15 +94,12 @@ export default class PseudopotentialMetaProperty extends (MetaProperty as Base)
|
|
|
80
94
|
*/
|
|
81
95
|
static filterRawDataByExchangeCorrelation(
|
|
82
96
|
rawData: PseudopotentialMetaProperty[],
|
|
83
|
-
exchangeCorrelation:
|
|
84
|
-
functional: string;
|
|
85
|
-
approximation: string;
|
|
86
|
-
},
|
|
97
|
+
exchangeCorrelation: ExchangeCorrelation,
|
|
87
98
|
) {
|
|
88
99
|
const { functional } = exchangeCorrelation;
|
|
89
100
|
|
|
90
101
|
return rawData.filter((item) => {
|
|
91
|
-
return this.isCompatibleWithOther(functional)
|
|
102
|
+
return functional && this.isCompatibleWithOther(functional)
|
|
92
103
|
? this.compatibleExchangeCorrelation[functional].includes(
|
|
93
104
|
item.exchangeCorrelation?.functional || "",
|
|
94
105
|
)
|
|
@@ -134,16 +145,7 @@ export default class PseudopotentialMetaProperty extends (MetaProperty as Base)
|
|
|
134
145
|
*/
|
|
135
146
|
static applyPseudoFilters(
|
|
136
147
|
pseudos: PseudopotentialMetaProperty[],
|
|
137
|
-
pseudoFilter:
|
|
138
|
-
searchText?: string;
|
|
139
|
-
appName?: string;
|
|
140
|
-
type?: string;
|
|
141
|
-
exchangeCorrelation?: {
|
|
142
|
-
functional: keyof typeof PseudopotentialMetaProperty.compatibleExchangeCorrelation;
|
|
143
|
-
approximation: string;
|
|
144
|
-
};
|
|
145
|
-
elements?: string[];
|
|
146
|
-
},
|
|
148
|
+
pseudoFilter: PseudopotentialFilter,
|
|
147
149
|
) {
|
|
148
150
|
let filteredPseudos = [...pseudos];
|
|
149
151
|
|
|
@@ -197,6 +199,13 @@ export default class PseudopotentialMetaProperty extends (MetaProperty as Base)
|
|
|
197
199
|
});
|
|
198
200
|
}
|
|
199
201
|
|
|
202
|
+
static sortByPathApplicationSpecific(pseudos: PseudopotentialMetaProperty[], appName?: string) {
|
|
203
|
+
if (appName === "vasp") {
|
|
204
|
+
return this.sortByPathVASP(pseudos);
|
|
205
|
+
}
|
|
206
|
+
return pseudos;
|
|
207
|
+
}
|
|
208
|
+
|
|
200
209
|
static filterByType(pseudos: PseudopotentialMetaProperty[], pseudoType?: string) {
|
|
201
210
|
if (pseudoType === undefined || pseudoType === "any") return pseudos;
|
|
202
211
|
return pseudos.filter((pseudo) => pseudo.type.includes(pseudoType));
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Constructor } from "@mat3ra/code/dist/js/utils/types";
|
|
2
|
+
import type { FormationEnergyPropertySchema } from "@mat3ra/esse/dist/js/types";
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
FormationEnergyPropertySchemaMixin,
|
|
6
|
+
formationEnergyPropertySchemaMixin,
|
|
7
|
+
} from "../../generated/FormationEnergyPropertySchemaMixin";
|
|
8
|
+
import Property from "../../Property";
|
|
9
|
+
import { PropertyName, PropertyType } from "../../settings";
|
|
10
|
+
|
|
11
|
+
type Schema = FormationEnergyPropertySchema;
|
|
12
|
+
|
|
13
|
+
type Base = typeof Property<Schema> & Constructor<FormationEnergyPropertySchemaMixin>;
|
|
14
|
+
|
|
15
|
+
export default class FormationEnergyProperty extends (Property as Base) implements Schema {
|
|
16
|
+
static readonly isRefined = true;
|
|
17
|
+
|
|
18
|
+
static readonly propertyName = PropertyName.formation_energy;
|
|
19
|
+
|
|
20
|
+
static readonly propertyType = PropertyType.scalar;
|
|
21
|
+
|
|
22
|
+
constructor(config: Omit<Schema, "name">) {
|
|
23
|
+
super({ ...config, name: FormationEnergyProperty.propertyName });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
formationEnergyPropertySchemaMixin(FormationEnergyProperty.prototype);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Constructor } from "@mat3ra/code/dist/js/utils/types";
|
|
2
1
|
import type { ThermalCorrectionToEnergyPropertySchema } from "@mat3ra/esse/dist/js/types";
|
|
3
2
|
|
|
4
3
|
import {
|
|
@@ -10,18 +9,23 @@ import { PropertyName, PropertyType } from "../../settings";
|
|
|
10
9
|
|
|
11
10
|
type Schema = ThermalCorrectionToEnergyPropertySchema;
|
|
12
11
|
|
|
13
|
-
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
13
|
+
interface ThermalCorrectionToEnergyProperty extends ThermalCorrectionToEnergyPropertySchemaMixin {}
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
class ThermalCorrectionToEnergyProperty extends Property<Schema> implements Schema {
|
|
16
16
|
static readonly propertyType = PropertyType.scalar;
|
|
17
17
|
|
|
18
18
|
static readonly propertyName = PropertyName.thermal_correction_to_energy;
|
|
19
19
|
|
|
20
20
|
static readonly isRefined = true;
|
|
21
21
|
|
|
22
|
+
declare name: Schema["name"];
|
|
23
|
+
|
|
22
24
|
constructor(config: Omit<Schema, "name">) {
|
|
23
25
|
super({ ...config, name: ThermalCorrectionToEnergyProperty.propertyName });
|
|
24
26
|
}
|
|
25
27
|
}
|
|
26
28
|
|
|
27
29
|
thermalCorrectionToEnergyPropertySchemaMixin(ThermalCorrectionToEnergyProperty.prototype);
|
|
30
|
+
|
|
31
|
+
export default ThermalCorrectionToEnergyProperty;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Constructor } from "@mat3ra/code/dist/js/utils/types";
|
|
2
1
|
import type { ThermalCorrectionToEnthalpyPropertySchema } from "@mat3ra/esse/dist/js/types";
|
|
3
2
|
|
|
4
3
|
import {
|
|
@@ -10,18 +9,24 @@ import { PropertyName, PropertyType } from "../../settings";
|
|
|
10
9
|
|
|
11
10
|
type Schema = ThermalCorrectionToEnthalpyPropertySchema;
|
|
12
11
|
|
|
13
|
-
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
13
|
+
interface ThermalCorrectionToEnthalpyProperty
|
|
14
|
+
extends ThermalCorrectionToEnthalpyPropertySchemaMixin {}
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
class ThermalCorrectionToEnthalpyProperty extends Property<Schema> implements Schema {
|
|
16
17
|
static readonly propertyType = PropertyType.scalar;
|
|
17
18
|
|
|
18
19
|
static readonly propertyName = PropertyName.thermal_correction_to_enthalpy;
|
|
19
20
|
|
|
20
21
|
static readonly isRefined = true;
|
|
21
22
|
|
|
23
|
+
declare name: Schema["name"];
|
|
24
|
+
|
|
22
25
|
constructor(config: Omit<Schema, "name">) {
|
|
23
26
|
super({ ...config, name: ThermalCorrectionToEnthalpyProperty.propertyName });
|
|
24
27
|
}
|
|
25
28
|
}
|
|
26
29
|
|
|
27
30
|
thermalCorrectionToEnthalpyPropertySchemaMixin(ThermalCorrectionToEnthalpyProperty.prototype);
|
|
31
|
+
|
|
32
|
+
export default ThermalCorrectionToEnthalpyProperty;
|
package/src/js/settings.ts
CHANGED
|
@@ -19,6 +19,7 @@ export enum PropertyName {
|
|
|
19
19
|
homo_energy = "homo_energy",
|
|
20
20
|
lumo_energy = "lumo_energy",
|
|
21
21
|
surface_energy = "surface_energy",
|
|
22
|
+
formation_energy = "formation_energy",
|
|
22
23
|
convergence_electronic = "convergence_electronic",
|
|
23
24
|
convergence_ionic = "convergence_ionic",
|
|
24
25
|
fermi_energy = "fermi_energy",
|
package/src/js/types.ts
CHANGED
|
@@ -22,3 +22,7 @@ export type { default as DensityOfStatesProperty } from "./properties/non-scalar
|
|
|
22
22
|
export type { default as DielectricTensorProperty } from "./properties/non-scalar/DielectricTensorProperty";
|
|
23
23
|
export type { default as PhononDispersionsProperty } from "./properties/non-scalar/PhononDispersionsProperty";
|
|
24
24
|
export type { default as PhononDOSProperty } from "./properties/non-scalar/PhononDOSProperty";
|
|
25
|
+
export type {
|
|
26
|
+
PseudopotentialFilter,
|
|
27
|
+
ExchangeCorrelation,
|
|
28
|
+
} from "./meta_properties/PseudopotentialMetaProperty";
|