@mat3ra/wode 2025.10.2-2 → 2025.11.3-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/subworkflows/create.js +9 -5
- package/dist/subworkflows/subworkflow.js +12 -6
- package/dist/workflows/relaxation.js +1 -0
- package/dist/workflows/workflow.js +5 -5
- package/package.json +2 -2
- package/src/subworkflows/create.js +17 -6
- package/src/subworkflows/subworkflow.js +14 -6
- package/src/workflows/relaxation.js +1 -0
- package/src/workflows/workflow.js +11 -6
- package/assets/subworkflows/deepmd/deepmd.yml +0 -31
- package/assets/subworkflows/deepmd/espresso_cp_md.yml +0 -16
- package/assets/subworkflows/espresso/average_electrostatic_potential_find_minima.yml +0 -27
- package/assets/subworkflows/espresso/average_electrostatic_potential_via_band_structure.yml +0 -67
- package/assets/subworkflows/espresso/band_gap.yml +0 -21
- package/assets/subworkflows/espresso/band_gap_hse_dos.yml +0 -30
- package/assets/subworkflows/espresso/band_structure.yml +0 -26
- package/assets/subworkflows/espresso/band_structure_dos.yml +0 -34
- package/assets/subworkflows/espresso/band_structure_hse.yml +0 -30
- package/assets/subworkflows/espresso/band_structure_magn.yml +0 -31
- package/assets/subworkflows/espresso/band_structure_soc.yml +0 -30
- package/assets/subworkflows/espresso/dielectric_tensor.yml +0 -35
- package/assets/subworkflows/espresso/dos.yml +0 -24
- package/assets/subworkflows/espresso/electronic_density_mesh.yml +0 -19
- package/assets/subworkflows/espresso/esm.yml +0 -14
- package/assets/subworkflows/espresso/esm_relax.yml +0 -14
- package/assets/subworkflows/espresso/espresso_extract_kpoints.yml +0 -16
- package/assets/subworkflows/espresso/espresso_xml_get_qpt_irr.yml +0 -12
- package/assets/subworkflows/espresso/fixed_cell_relaxation.yml +0 -16
- package/assets/subworkflows/espresso/gw_band_structure_band_gap_full_frequency.yml +0 -22
- package/assets/subworkflows/espresso/gw_band_structure_band_gap_plasmon_pole.yml +0 -22
- package/assets/subworkflows/espresso/hubbard_u_hp.yml +0 -21
- package/assets/subworkflows/espresso/kpoint_convergence.yml +0 -86
- package/assets/subworkflows/espresso/neb.yml +0 -16
- package/assets/subworkflows/espresso/ph_init_qpoints.yml +0 -14
- package/assets/subworkflows/espresso/ph_single_irr_qpt.yml +0 -14
- package/assets/subworkflows/espresso/phonon_dispersions.yml +0 -29
- package/assets/subworkflows/espresso/phonon_dos.yml +0 -29
- package/assets/subworkflows/espresso/phonon_dos_dispersion.yml +0 -34
- package/assets/subworkflows/espresso/phonon_reduce.yml +0 -29
- package/assets/subworkflows/espresso/post_processor.yml +0 -14
- package/assets/subworkflows/espresso/pre_processor.yml +0 -14
- package/assets/subworkflows/espresso/pw_scf.yml +0 -16
- package/assets/subworkflows/espresso/recalculate_bands.yml +0 -19
- package/assets/subworkflows/espresso/surface_energy.yml +0 -16
- package/assets/subworkflows/espresso/total_energy.yml +0 -16
- package/assets/subworkflows/espresso/valence_band_offset_calc_from_previous_esp_vbm.yml +0 -35
- package/assets/subworkflows/espresso/variable_cell_relaxation.yml +0 -18
- package/assets/subworkflows/espresso/zero_point_energy.yml +0 -19
- package/assets/subworkflows/jupyterLab/jupyter_notebook.yml +0 -17
- package/assets/subworkflows/nwchem/total_energy.yml +0 -16
- package/assets/subworkflows/python/ml/classification_tail.yml +0 -56
- package/assets/subworkflows/python/ml/clustering_tail.yml +0 -62
- package/assets/subworkflows/python/ml/regression_tail.yml +0 -56
- package/assets/subworkflows/python/ml/train_head.yml +0 -61
- package/assets/subworkflows/python/python_script.yml +0 -14
- package/assets/subworkflows/shell/batch_espresso_pwscf.yml +0 -14
- package/assets/subworkflows/shell/hello_world.yml +0 -14
- package/assets/subworkflows/vasp/band_gap.yml +0 -21
- package/assets/subworkflows/vasp/band_structure.yml +0 -21
- package/assets/subworkflows/vasp/band_structure_dos.yml +0 -23
- package/assets/subworkflows/vasp/dos.yml +0 -18
- package/assets/subworkflows/vasp/fixed_cell_relaxation.yml +0 -16
- package/assets/subworkflows/vasp/initial_final_total_energies.yml +0 -25
- package/assets/subworkflows/vasp/kpoint_convergence.yml +0 -89
- package/assets/subworkflows/vasp/neb_subworkflow.yml +0 -16
- package/assets/subworkflows/vasp/prepare_images.yml +0 -16
- package/assets/subworkflows/vasp/recalculate_bands.yml +0 -16
- package/assets/subworkflows/vasp/surface_energy.yml +0 -18
- package/assets/subworkflows/vasp/total_energy.yml +0 -16
- package/assets/subworkflows/vasp/variable_cell_relaxation.yml +0 -18
- package/assets/subworkflows/vasp/zero_point_energy.yml +0 -16
- package/assets/workflows/deepmd/deepmd_md.yml +0 -6
- package/assets/workflows/espresso/band_gap.yml +0 -4
- package/assets/workflows/espresso/band_gap_dos_hse.yml +0 -4
- package/assets/workflows/espresso/band_structure.yml +0 -4
- package/assets/workflows/espresso/band_structure_dos.yml +0 -4
- package/assets/workflows/espresso/band_structure_hse.yml +0 -14
- package/assets/workflows/espresso/band_structure_magn.yml +0 -7
- package/assets/workflows/espresso/band_structure_soc.yml +0 -7
- package/assets/workflows/espresso/dielectric_tensor.yml +0 -4
- package/assets/workflows/espresso/dos.yml +0 -4
- package/assets/workflows/espresso/electronic_density_mesh.yml +0 -4
- package/assets/workflows/espresso/esm.yml +0 -4
- package/assets/workflows/espresso/esm_relax.yml +0 -4
- package/assets/workflows/espresso/fixed_cell_relaxation.yml +0 -4
- package/assets/workflows/espresso/gw_band_structure_band_gap_full_frequency.yml +0 -4
- package/assets/workflows/espresso/gw_band_structure_band_gap_plasmon_pole.yml +0 -4
- package/assets/workflows/espresso/hubbard_u_hp.yml +0 -7
- package/assets/workflows/espresso/kpoint_convergence.yml +0 -4
- package/assets/workflows/espresso/neb.yml +0 -4
- package/assets/workflows/espresso/phonon_dispersions.yml +0 -4
- package/assets/workflows/espresso/phonon_dos.yml +0 -4
- package/assets/workflows/espresso/phonon_dos_dispersion.yml +0 -4
- package/assets/workflows/espresso/phonon_map.yml +0 -28
- package/assets/workflows/espresso/recalculate_bands.yml +0 -4
- package/assets/workflows/espresso/surface_energy.yml +0 -4
- package/assets/workflows/espresso/total_energy.yml +0 -4
- package/assets/workflows/espresso/valence_band_offset.yml +0 -171
- package/assets/workflows/espresso/variable_cell_relaxation.yml +0 -4
- package/assets/workflows/espresso/zero_point_energy.yml +0 -4
- package/assets/workflows/jupyterLab/jupyter_notebook.yml +0 -4
- package/assets/workflows/nwchem/total_energy.yml +0 -4
- package/assets/workflows/python/ml/classification_workflow.yml +0 -9
- package/assets/workflows/python/ml/clustering_workflow.yml +0 -9
- package/assets/workflows/python/ml/regression_workflow.yml +0 -9
- package/assets/workflows/python/python_script.yml +0 -4
- package/assets/workflows/shell/batch_espresso_pwscf.yml +0 -4
- package/assets/workflows/shell/hello_world.yml +0 -4
- package/assets/workflows/vasp/band_gap.yml +0 -4
- package/assets/workflows/vasp/band_structure.yml +0 -4
- package/assets/workflows/vasp/band_structure_dos.yml +0 -4
- package/assets/workflows/vasp/dos.yml +0 -4
- package/assets/workflows/vasp/fixed_cell_relaxation.yml +0 -4
- package/assets/workflows/vasp/kpoint_convergence.yml +0 -4
- package/assets/workflows/vasp/neb.yml +0 -8
- package/assets/workflows/vasp/recalculate_bands.yml +0 -4
- package/assets/workflows/vasp/surface_energy.yml +0 -4
- package/assets/workflows/vasp/total_energy.yml +0 -4
- package/assets/workflows/vasp/variable_cell_relaxation.yml +0 -4
- package/assets/workflows/vasp/zero_point_energy.yml +0 -4
|
@@ -51,11 +51,13 @@ function createModel({
|
|
|
51
51
|
* @summary Create method from subworkflow data
|
|
52
52
|
* @param config {Object} method configuration
|
|
53
53
|
* @param methodFactoryCls {any}
|
|
54
|
+
* @param applicationConfig {Object} application configuration
|
|
54
55
|
* @returns {{method, setSearchText}}
|
|
55
56
|
*/
|
|
56
57
|
function createMethod({
|
|
57
58
|
config,
|
|
58
|
-
methodFactoryCls
|
|
59
|
+
methodFactoryCls,
|
|
60
|
+
applicationConfig = {}
|
|
59
61
|
}) {
|
|
60
62
|
const {
|
|
61
63
|
name,
|
|
@@ -63,8 +65,10 @@ function createMethod({
|
|
|
63
65
|
config: methodConfig = {}
|
|
64
66
|
} = config;
|
|
65
67
|
const defaultConfig = _getConfigFromModelOrMethodName(name, "Method");
|
|
68
|
+
const defaultConfigForApp = new _standata.ApplicationMethodStandata().getDefaultMethodConfigForApplication(applicationConfig);
|
|
66
69
|
const method = methodFactoryCls.create({
|
|
67
70
|
...defaultConfig,
|
|
71
|
+
...defaultConfigForApp,
|
|
68
72
|
...methodConfig
|
|
69
73
|
});
|
|
70
74
|
return {
|
|
@@ -102,7 +106,8 @@ function createTopLevel({
|
|
|
102
106
|
setSearchText
|
|
103
107
|
} = createMethod({
|
|
104
108
|
config: methodConfig,
|
|
105
|
-
methodFactoryCls
|
|
109
|
+
methodFactoryCls,
|
|
110
|
+
applicationConfig: appConfig
|
|
106
111
|
});
|
|
107
112
|
return {
|
|
108
113
|
application,
|
|
@@ -238,12 +243,11 @@ function createSubworkflow({
|
|
|
238
243
|
application
|
|
239
244
|
});
|
|
240
245
|
}
|
|
246
|
+
let subworkflow = subworkflowCls.fromArguments(application, model, method, name, units, config);
|
|
241
247
|
const {
|
|
242
248
|
functions = {},
|
|
243
|
-
attributes = {}
|
|
244
|
-
...cfg
|
|
249
|
+
attributes = {}
|
|
245
250
|
} = config;
|
|
246
|
-
let subworkflow = subworkflowCls.fromArguments(application, model, method, name, units, cfg);
|
|
247
251
|
subworkflow = (0, _utils.applyConfig)({
|
|
248
252
|
obj: subworkflow,
|
|
249
253
|
config: {
|
|
@@ -23,11 +23,11 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
23
23
|
|
|
24
24
|
class BaseSubworkflow extends (0, _mixwith.mix)(_entity.NamedDefaultableRepetitionImportantSettingsInMemoryEntity).with(_convergence.ConvergenceMixin, _entity.ContextAndRenderFieldsMixin) {}
|
|
25
25
|
class Subworkflow extends BaseSubworkflow {
|
|
26
|
-
constructor(config) {
|
|
26
|
+
constructor(config, _Application = _ade.Application, _ModelFactory = _mode.ModelFactory, _UnitFactory = _units.UnitFactory) {
|
|
27
27
|
super(config);
|
|
28
|
-
this._Application =
|
|
29
|
-
this._ModelFactory =
|
|
30
|
-
this._UnitFactory =
|
|
28
|
+
this._Application = _Application;
|
|
29
|
+
this._ModelFactory = _ModelFactory;
|
|
30
|
+
this._UnitFactory = _UnitFactory;
|
|
31
31
|
this.initialize();
|
|
32
32
|
}
|
|
33
33
|
initialize() {
|
|
@@ -72,9 +72,15 @@ class Subworkflow extends BaseSubworkflow {
|
|
|
72
72
|
* @summary Used to generate initial application tree, therefore omit setting application.
|
|
73
73
|
*/
|
|
74
74
|
static fromArguments(application, model, method, name, units = [], config = {}, Cls = Subworkflow) {
|
|
75
|
+
const nameForIdGeneration = config.attributes?.name || name;
|
|
76
|
+
const {
|
|
77
|
+
functions,
|
|
78
|
+
attributes,
|
|
79
|
+
...cleanConfig
|
|
80
|
+
} = config;
|
|
75
81
|
return new Cls({
|
|
76
|
-
...
|
|
77
|
-
_id: Cls.generateSubworkflowId(
|
|
82
|
+
...cleanConfig,
|
|
83
|
+
_id: Cls.generateSubworkflowId(nameForIdGeneration),
|
|
78
84
|
name,
|
|
79
85
|
application: application.toJSON(),
|
|
80
86
|
properties: _lodash.default.sortedUniq(_lodash.default.flatten(units.filter(x => x.resultNames).map(x => x.resultNames))),
|
|
@@ -11,6 +11,7 @@ const RelaxationLogicMixin = superclass => class extends superclass {
|
|
|
11
11
|
if (!appName) return undefined;
|
|
12
12
|
const subworkflowStandata = new _standata.SubworkflowStandata();
|
|
13
13
|
const relaxationSubworkflow = subworkflowStandata.getRelaxationSubworkflowByApplication(appName);
|
|
14
|
+
if (!relaxationSubworkflow) return undefined;
|
|
14
15
|
return new this._Subworkflow(relaxationSubworkflow);
|
|
15
16
|
}
|
|
16
17
|
isRelaxationSubworkflow(subworkflow) {
|
|
@@ -29,13 +29,13 @@ const {
|
|
|
29
29
|
} = _mode.tree;
|
|
30
30
|
class BaseWorkflow extends (0, _mixwith.mix)(_entity.NamedDefaultableRepetitionContextAndRenderInMemoryEntity).with(_ide.ComputedEntityMixin, _relaxation.RelaxationLogicMixin) {}
|
|
31
31
|
class Workflow extends BaseWorkflow {
|
|
32
|
-
constructor(config) {
|
|
32
|
+
constructor(config, _Subworkflow = _subworkflow.Subworkflow, _UnitFactory = _factory.UnitFactory, _Workflow = Workflow, _MapUnit = _units.MapUnit) {
|
|
33
33
|
if (!config._id) config._id = Workflow.generateWorkflowId(config.name);
|
|
34
34
|
super(config);
|
|
35
|
-
this._Subworkflow =
|
|
36
|
-
this._UnitFactory =
|
|
37
|
-
this._Workflow =
|
|
38
|
-
this._MapUnit =
|
|
35
|
+
this._Subworkflow = _Subworkflow;
|
|
36
|
+
this._UnitFactory = _UnitFactory;
|
|
37
|
+
this._Workflow = _Workflow;
|
|
38
|
+
this._MapUnit = _MapUnit;
|
|
39
39
|
if (!config.skipInitialize) this.initialize();
|
|
40
40
|
}
|
|
41
41
|
initialize() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mat3ra/wode",
|
|
3
|
-
"version": "2025.
|
|
3
|
+
"version": "2025.11.3-0",
|
|
4
4
|
"description": "WOrkflow DEfinitions",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "nyc --reporter=text mocha --recursive --bail --require @babel/register/lib --require tests/setup.js tests",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"@mat3ra/code": "2025.7.15-0",
|
|
57
57
|
"@mat3ra/esse": "2025.7.15-0",
|
|
58
58
|
"@mat3ra/made": "2025.7.15-0",
|
|
59
|
-
"@mat3ra/standata": "
|
|
59
|
+
"@mat3ra/standata": "git+https://github.com/Exabyte-io/standata.git#f53b8da6ff0421b8397d606a6d8b0127dc68c64c",
|
|
60
60
|
"chai": "^4.3.4",
|
|
61
61
|
"eslint": "7.32.0",
|
|
62
62
|
"eslint-config-airbnb": "19.0.2",
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
MethodFactory,
|
|
6
6
|
ModelFactory,
|
|
7
7
|
} from "@mat3ra/mode";
|
|
8
|
-
import { workflowSubforkflowMapByApplication } from "@mat3ra/standata";
|
|
8
|
+
import { ApplicationMethodStandata, workflowSubforkflowMapByApplication } from "@mat3ra/standata";
|
|
9
9
|
import _ from "lodash";
|
|
10
10
|
|
|
11
11
|
import { UnitFactory } from "../units";
|
|
@@ -40,12 +40,19 @@ function createModel({ config, modelFactoryCls }) {
|
|
|
40
40
|
* @summary Create method from subworkflow data
|
|
41
41
|
* @param config {Object} method configuration
|
|
42
42
|
* @param methodFactoryCls {any}
|
|
43
|
+
* @param applicationConfig {Object} application configuration
|
|
43
44
|
* @returns {{method, setSearchText}}
|
|
44
45
|
*/
|
|
45
|
-
function createMethod({ config, methodFactoryCls }) {
|
|
46
|
+
function createMethod({ config, methodFactoryCls, applicationConfig = {} }) {
|
|
46
47
|
const { name, setSearchText = null, config: methodConfig = {} } = config;
|
|
47
48
|
const defaultConfig = _getConfigFromModelOrMethodName(name, "Method");
|
|
48
|
-
const
|
|
49
|
+
const defaultConfigForApp =
|
|
50
|
+
new ApplicationMethodStandata().getDefaultMethodConfigForApplication(applicationConfig);
|
|
51
|
+
const method = methodFactoryCls.create({
|
|
52
|
+
...defaultConfig,
|
|
53
|
+
...defaultConfigForApp,
|
|
54
|
+
...methodConfig,
|
|
55
|
+
});
|
|
49
56
|
return { method, setSearchText };
|
|
50
57
|
}
|
|
51
58
|
|
|
@@ -61,7 +68,11 @@ function createTopLevel({ subworkflowData, modelFactoryCls, methodFactoryCls, Ap
|
|
|
61
68
|
const { application: appConfig, model: modelConfig, method: methodConfig } = subworkflowData;
|
|
62
69
|
const application = AppRegistry.createApplication(appConfig);
|
|
63
70
|
const model = createModel({ config: modelConfig, modelFactoryCls });
|
|
64
|
-
const { method, setSearchText } = createMethod({
|
|
71
|
+
const { method, setSearchText } = createMethod({
|
|
72
|
+
config: methodConfig,
|
|
73
|
+
methodFactoryCls,
|
|
74
|
+
applicationConfig: appConfig,
|
|
75
|
+
});
|
|
65
76
|
return {
|
|
66
77
|
application,
|
|
67
78
|
model,
|
|
@@ -168,8 +179,8 @@ function createSubworkflow({
|
|
|
168
179
|
});
|
|
169
180
|
}
|
|
170
181
|
|
|
171
|
-
|
|
172
|
-
|
|
182
|
+
let subworkflow = subworkflowCls.fromArguments(application, model, method, name, units, config);
|
|
183
|
+
const { functions = {}, attributes = {} } = config;
|
|
173
184
|
subworkflow = applyConfig({ obj: subworkflow, config: { functions, attributes } });
|
|
174
185
|
if (setSearchText) subworkflow.model.method.setSearchText(setSearchText);
|
|
175
186
|
return subworkflow;
|
|
@@ -24,11 +24,16 @@ class BaseSubworkflow extends mix(NamedDefaultableRepetitionImportantSettingsInM
|
|
|
24
24
|
export class Subworkflow extends BaseSubworkflow {
|
|
25
25
|
static usePredefinedIds = false;
|
|
26
26
|
|
|
27
|
-
constructor(
|
|
27
|
+
constructor(
|
|
28
|
+
config,
|
|
29
|
+
_Application = Application,
|
|
30
|
+
_ModelFactory = ModelFactory,
|
|
31
|
+
_UnitFactory = UnitFactory,
|
|
32
|
+
) {
|
|
28
33
|
super(config);
|
|
29
|
-
this._Application =
|
|
30
|
-
this._ModelFactory =
|
|
31
|
-
this._UnitFactory =
|
|
34
|
+
this._Application = _Application;
|
|
35
|
+
this._ModelFactory = _ModelFactory;
|
|
36
|
+
this._UnitFactory = _UnitFactory;
|
|
32
37
|
this.initialize();
|
|
33
38
|
}
|
|
34
39
|
|
|
@@ -86,9 +91,12 @@ export class Subworkflow extends BaseSubworkflow {
|
|
|
86
91
|
config = {},
|
|
87
92
|
Cls = Subworkflow,
|
|
88
93
|
) {
|
|
94
|
+
const nameForIdGeneration = config.attributes?.name || name;
|
|
95
|
+
const { functions, attributes, ...cleanConfig } = config;
|
|
96
|
+
|
|
89
97
|
return new Cls({
|
|
90
|
-
...
|
|
91
|
-
_id: Cls.generateSubworkflowId(
|
|
98
|
+
...cleanConfig,
|
|
99
|
+
_id: Cls.generateSubworkflowId(nameForIdGeneration),
|
|
92
100
|
name,
|
|
93
101
|
application: application.toJSON(),
|
|
94
102
|
properties: lodash.sortedUniq(
|
|
@@ -8,6 +8,7 @@ export const RelaxationLogicMixin = (superclass) =>
|
|
|
8
8
|
const subworkflowStandata = new SubworkflowStandata();
|
|
9
9
|
const relaxationSubworkflow =
|
|
10
10
|
subworkflowStandata.getRelaxationSubworkflowByApplication(appName);
|
|
11
|
+
if (!relaxationSubworkflow) return undefined;
|
|
11
12
|
return new this._Subworkflow(relaxationSubworkflow);
|
|
12
13
|
}
|
|
13
14
|
|
|
@@ -31,14 +31,19 @@ export class Workflow extends BaseWorkflow {
|
|
|
31
31
|
|
|
32
32
|
static usePredefinedIds = false;
|
|
33
33
|
|
|
34
|
-
constructor(
|
|
34
|
+
constructor(
|
|
35
|
+
config,
|
|
36
|
+
_Subworkflow = Subworkflow,
|
|
37
|
+
_UnitFactory = UnitFactory,
|
|
38
|
+
_Workflow = Workflow,
|
|
39
|
+
_MapUnit = MapUnit,
|
|
40
|
+
) {
|
|
35
41
|
if (!config._id) config._id = Workflow.generateWorkflowId(config.name);
|
|
36
|
-
|
|
37
42
|
super(config);
|
|
38
|
-
this._Subworkflow =
|
|
39
|
-
this._UnitFactory =
|
|
40
|
-
this._Workflow =
|
|
41
|
-
this._MapUnit =
|
|
43
|
+
this._Subworkflow = _Subworkflow;
|
|
44
|
+
this._UnitFactory = _UnitFactory;
|
|
45
|
+
this._Workflow = _Workflow;
|
|
46
|
+
this._MapUnit = _MapUnit;
|
|
42
47
|
if (!config.skipInitialize) this.initialize();
|
|
43
48
|
}
|
|
44
49
|
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
application:
|
|
2
|
-
name: deepmd
|
|
3
|
-
version: "2.0.2"
|
|
4
|
-
method:
|
|
5
|
-
name: UnknownMethod
|
|
6
|
-
model:
|
|
7
|
-
name: UnknownModel
|
|
8
|
-
name: DeePMD
|
|
9
|
-
units:
|
|
10
|
-
- config:
|
|
11
|
-
execName: python
|
|
12
|
-
flavorName: espresso_cp_to_deepmd
|
|
13
|
-
name: espresso_cp_to_deepmd
|
|
14
|
-
functions:
|
|
15
|
-
head: true
|
|
16
|
-
type: executionBuilder
|
|
17
|
-
- config:
|
|
18
|
-
execName: dp
|
|
19
|
-
flavorName: dp_train_se_e2_r
|
|
20
|
-
name: dp_train_se_e2_r
|
|
21
|
-
type: executionBuilder
|
|
22
|
-
- config:
|
|
23
|
-
execName: python
|
|
24
|
-
flavorName: espresso_to_lammps_structure
|
|
25
|
-
name: espresso_to_lammps_structure
|
|
26
|
-
type: executionBuilder
|
|
27
|
-
- config:
|
|
28
|
-
execName: lmp
|
|
29
|
-
flavorName: lammps_md
|
|
30
|
-
name: lammps_md
|
|
31
|
-
type: executionBuilder
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
application:
|
|
2
|
-
name: espresso
|
|
3
|
-
version: "7.2"
|
|
4
|
-
method:
|
|
5
|
-
name: PseudopotentialMethod
|
|
6
|
-
model:
|
|
7
|
-
name: DFTModel
|
|
8
|
-
name: CP-MD
|
|
9
|
-
units:
|
|
10
|
-
- config:
|
|
11
|
-
execName: cp.x
|
|
12
|
-
flavorName: cp
|
|
13
|
-
name: cp
|
|
14
|
-
functions:
|
|
15
|
-
head: true
|
|
16
|
-
type: executionBuilder
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# Note: this subworkflow is assumed to be used as part of the valence band offset workflow
|
|
2
|
-
# and is this NOT self-sufficient!
|
|
3
|
-
# Furthermore, this subworkflow expects the following variable(s) to exist in the global context:
|
|
4
|
-
# array_from_context
|
|
5
|
-
application:
|
|
6
|
-
name: python
|
|
7
|
-
version: 3.10.13
|
|
8
|
-
method:
|
|
9
|
-
name: UnknownMethod
|
|
10
|
-
model:
|
|
11
|
-
name: UnknownModel
|
|
12
|
-
name: Find ESP Value
|
|
13
|
-
units:
|
|
14
|
-
- config:
|
|
15
|
-
name: Find Extrema
|
|
16
|
-
execName: python
|
|
17
|
-
flavorName: generic:processing:find_extrema:scipy
|
|
18
|
-
flowchartId: python-find-extrema
|
|
19
|
-
type: executionBuilder
|
|
20
|
-
- config:
|
|
21
|
-
name: Set Average ESP Value
|
|
22
|
-
operand: AVG_ESP
|
|
23
|
-
value: "json.loads(STDOUT)['minima']"
|
|
24
|
-
input:
|
|
25
|
-
- name: STDOUT
|
|
26
|
-
scope: python-find-extrema
|
|
27
|
-
type: assignment
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
config:
|
|
2
|
-
isMultiMaterial: true
|
|
3
|
-
application:
|
|
4
|
-
name: espresso
|
|
5
|
-
version: "6.3"
|
|
6
|
-
method:
|
|
7
|
-
name: PseudopotentialMethod
|
|
8
|
-
model:
|
|
9
|
-
name: DFTModel
|
|
10
|
-
name: Band Structure + average ESP
|
|
11
|
-
units:
|
|
12
|
-
- config:
|
|
13
|
-
name: Set Material Index
|
|
14
|
-
operand: MATERIAL_INDEX
|
|
15
|
-
value: 0
|
|
16
|
-
type: assignment
|
|
17
|
-
- config:
|
|
18
|
-
execName: pw.x
|
|
19
|
-
flavorName: pw_scf
|
|
20
|
-
name: pw_scf
|
|
21
|
-
type: executionBuilder
|
|
22
|
-
- config:
|
|
23
|
-
execName: pw.x
|
|
24
|
-
flavorName: pw_bands
|
|
25
|
-
name: pw_bands
|
|
26
|
-
flowchartId: pw-bands-calculate-band-gap
|
|
27
|
-
type: executionBuilder
|
|
28
|
-
attributes:
|
|
29
|
-
results:
|
|
30
|
-
- name: band_gaps
|
|
31
|
-
- config:
|
|
32
|
-
name: Select indirect band gap
|
|
33
|
-
operand: BAND_GAP_INDIRECT
|
|
34
|
-
value: "[bandgap for bandgap in band_gaps['values'] if bandgap['type'] == 'indirect'][0]"
|
|
35
|
-
input:
|
|
36
|
-
- name: band_gaps
|
|
37
|
-
scope: pw-bands-calculate-band-gap
|
|
38
|
-
type: assignment
|
|
39
|
-
- config:
|
|
40
|
-
name: Set Valence Band Maximum
|
|
41
|
-
operand: VBM
|
|
42
|
-
value: "BAND_GAP_INDIRECT['eigenvalueValence']"
|
|
43
|
-
type: assignment
|
|
44
|
-
- config:
|
|
45
|
-
execName: bands.x
|
|
46
|
-
flavorName: bands
|
|
47
|
-
name: bands
|
|
48
|
-
type: executionBuilder
|
|
49
|
-
- config:
|
|
50
|
-
execName: pp.x
|
|
51
|
-
flavorName: pp_electrostatic_potential
|
|
52
|
-
name: Electrostatic Potential (ESP)
|
|
53
|
-
type: executionBuilder
|
|
54
|
-
- config:
|
|
55
|
-
execName: average.x
|
|
56
|
-
flavorName: average_potential
|
|
57
|
-
name: average ESP
|
|
58
|
-
flowchartId: average-electrostatic-potential
|
|
59
|
-
type: executionBuilder
|
|
60
|
-
- config:
|
|
61
|
-
name: Set Macroscopically Averaged ESP Data
|
|
62
|
-
operand: array_from_context
|
|
63
|
-
value: "average_potential_profile['yDataSeries'][1]"
|
|
64
|
-
input:
|
|
65
|
-
- name: average_potential_profile
|
|
66
|
-
scope: average-electrostatic-potential
|
|
67
|
-
type: assignment
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
application:
|
|
2
|
-
name: espresso
|
|
3
|
-
version: "6.3"
|
|
4
|
-
method:
|
|
5
|
-
name: PseudopotentialMethod
|
|
6
|
-
model:
|
|
7
|
-
name: DFTModel
|
|
8
|
-
name: Band Gap
|
|
9
|
-
units:
|
|
10
|
-
- config:
|
|
11
|
-
execName: pw.x
|
|
12
|
-
flavorName: pw_scf
|
|
13
|
-
name: pw_scf
|
|
14
|
-
functions:
|
|
15
|
-
head: true
|
|
16
|
-
type: executionBuilder
|
|
17
|
-
- config:
|
|
18
|
-
execName: pw.x
|
|
19
|
-
flavorName: pw_nscf
|
|
20
|
-
name: pw_nscf
|
|
21
|
-
type: executionBuilder
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
name: HSE Band Gap
|
|
2
|
-
application:
|
|
3
|
-
name: espresso
|
|
4
|
-
version: "6.3"
|
|
5
|
-
model:
|
|
6
|
-
name: DFTModel
|
|
7
|
-
config:
|
|
8
|
-
type: dft
|
|
9
|
-
subtype: hybrid
|
|
10
|
-
functional:
|
|
11
|
-
name: hse06
|
|
12
|
-
slug: hse06
|
|
13
|
-
method:
|
|
14
|
-
name: PseudopotentialMethod
|
|
15
|
-
config:
|
|
16
|
-
type: pseudopotential
|
|
17
|
-
subtype: us
|
|
18
|
-
units:
|
|
19
|
-
- config:
|
|
20
|
-
execName: pw.x
|
|
21
|
-
flavorName: pw_scf_hse
|
|
22
|
-
name: pw_scf_hse
|
|
23
|
-
functions:
|
|
24
|
-
head: true
|
|
25
|
-
type: executionBuilder
|
|
26
|
-
- config:
|
|
27
|
-
execName: projwfc.x
|
|
28
|
-
flavorName: projwfc
|
|
29
|
-
name: projwfc
|
|
30
|
-
type: executionBuilder
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
application:
|
|
2
|
-
name: espresso
|
|
3
|
-
version: "6.3"
|
|
4
|
-
method:
|
|
5
|
-
name: PseudopotentialMethod
|
|
6
|
-
model:
|
|
7
|
-
name: DFTModel
|
|
8
|
-
name: Band Structure
|
|
9
|
-
units:
|
|
10
|
-
- config:
|
|
11
|
-
execName: pw.x
|
|
12
|
-
flavorName: pw_scf
|
|
13
|
-
name: pw_scf
|
|
14
|
-
functions:
|
|
15
|
-
head: true
|
|
16
|
-
type: executionBuilder
|
|
17
|
-
- config:
|
|
18
|
-
execName: pw.x
|
|
19
|
-
flavorName: pw_bands
|
|
20
|
-
name: pw_bands
|
|
21
|
-
type: executionBuilder
|
|
22
|
-
- config:
|
|
23
|
-
execName: bands.x
|
|
24
|
-
flavorName: bands
|
|
25
|
-
name: bands
|
|
26
|
-
type: executionBuilder
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
application:
|
|
2
|
-
name: espresso
|
|
3
|
-
version: "6.3"
|
|
4
|
-
method:
|
|
5
|
-
name: PseudopotentialMethod
|
|
6
|
-
model:
|
|
7
|
-
name: DFTModel
|
|
8
|
-
name: Band Structure + Density of States
|
|
9
|
-
units:
|
|
10
|
-
- config:
|
|
11
|
-
execName: pw.x
|
|
12
|
-
flavorName: pw_scf
|
|
13
|
-
name: pw_scf
|
|
14
|
-
type: executionBuilder
|
|
15
|
-
- config:
|
|
16
|
-
execName: pw.x
|
|
17
|
-
flavorName: pw_bands
|
|
18
|
-
name: pw_bands
|
|
19
|
-
type: executionBuilder
|
|
20
|
-
- config:
|
|
21
|
-
execName: bands.x
|
|
22
|
-
flavorName: bands
|
|
23
|
-
name: bands
|
|
24
|
-
type: executionBuilder
|
|
25
|
-
- config:
|
|
26
|
-
execName: pw.x
|
|
27
|
-
flavorName: pw_nscf
|
|
28
|
-
name: pw_nscf
|
|
29
|
-
type: executionBuilder
|
|
30
|
-
- config:
|
|
31
|
-
execName: projwfc.x
|
|
32
|
-
flavorName: projwfc
|
|
33
|
-
name: projwfc
|
|
34
|
-
type: executionBuilder
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# Note: this subworkflow is assumed to be part of the "Band Structure - HSE" workflow
|
|
2
|
-
# and is this NOT self-sufficient!
|
|
3
|
-
name: Band Structure - HSE
|
|
4
|
-
application:
|
|
5
|
-
name: espresso
|
|
6
|
-
version: "6.3"
|
|
7
|
-
model:
|
|
8
|
-
name: DFTModel
|
|
9
|
-
config:
|
|
10
|
-
type: dft
|
|
11
|
-
subtype: hybrid
|
|
12
|
-
functional:
|
|
13
|
-
name: hse06
|
|
14
|
-
slug: hse06
|
|
15
|
-
method:
|
|
16
|
-
name: PseudopotentialMethod
|
|
17
|
-
config:
|
|
18
|
-
type: pseudopotential
|
|
19
|
-
subtype: us
|
|
20
|
-
units:
|
|
21
|
-
- config:
|
|
22
|
-
execName: pw.x
|
|
23
|
-
flavorName: pw_scf_bands_hse
|
|
24
|
-
name: pw_scf_bands_hse
|
|
25
|
-
type: executionBuilder
|
|
26
|
-
- config:
|
|
27
|
-
execName: bands.x
|
|
28
|
-
flavorName: bands
|
|
29
|
-
name: bands
|
|
30
|
-
type: executionBuilder
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
name: Spin magnetic bandstructure
|
|
2
|
-
application:
|
|
3
|
-
name: espresso
|
|
4
|
-
version: "6.3"
|
|
5
|
-
method:
|
|
6
|
-
name: PseudopotentialMethod
|
|
7
|
-
model:
|
|
8
|
-
name: DFTModel
|
|
9
|
-
units:
|
|
10
|
-
- config:
|
|
11
|
-
execName: pw.x
|
|
12
|
-
flavorName: pw_scf_magn
|
|
13
|
-
name: pw_scf_magn
|
|
14
|
-
functions:
|
|
15
|
-
head: true
|
|
16
|
-
type: executionBuilder
|
|
17
|
-
- config:
|
|
18
|
-
execName: pw.x
|
|
19
|
-
flavorName: pw_bands_magn
|
|
20
|
-
name: pw_bands_magn
|
|
21
|
-
type: executionBuilder
|
|
22
|
-
- config:
|
|
23
|
-
execName: bands.x
|
|
24
|
-
flavorName: bands_spin_up
|
|
25
|
-
name: bands_spin_up
|
|
26
|
-
type: executionBuilder
|
|
27
|
-
- config:
|
|
28
|
-
execName: bands.x
|
|
29
|
-
flavorName: bands_spin_dn
|
|
30
|
-
name: bands_spin_dn
|
|
31
|
-
type: executionBuilder
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
name: Spin orbit coupling bandstructure
|
|
2
|
-
application:
|
|
3
|
-
name: espresso
|
|
4
|
-
version: "6.3"
|
|
5
|
-
method:
|
|
6
|
-
name: PseudopotentialMethod
|
|
7
|
-
setSearchText: nc-fr
|
|
8
|
-
config:
|
|
9
|
-
type: pseudopotential
|
|
10
|
-
subtype: nc-fr
|
|
11
|
-
model:
|
|
12
|
-
name: DFTModel
|
|
13
|
-
units:
|
|
14
|
-
- config:
|
|
15
|
-
execName: pw.x
|
|
16
|
-
flavorName: pw_scf_soc
|
|
17
|
-
name: pw_scf_soc
|
|
18
|
-
functions:
|
|
19
|
-
head: true
|
|
20
|
-
type: executionBuilder
|
|
21
|
-
- config:
|
|
22
|
-
execName: pw.x
|
|
23
|
-
flavorName: pw_bands_soc
|
|
24
|
-
name: pw_bands_soc
|
|
25
|
-
type: executionBuilder
|
|
26
|
-
- config:
|
|
27
|
-
execName: bands.x
|
|
28
|
-
flavorName: bands
|
|
29
|
-
name: bands
|
|
30
|
-
type: executionBuilder
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
application:
|
|
2
|
-
name: espresso
|
|
3
|
-
version: "6.3"
|
|
4
|
-
method:
|
|
5
|
-
config:
|
|
6
|
-
data: {}
|
|
7
|
-
subtype: nc
|
|
8
|
-
type: pseudopotential
|
|
9
|
-
name: PseudopotentialMethod
|
|
10
|
-
model:
|
|
11
|
-
name: DFTModel
|
|
12
|
-
name: Compute Dielectric Function
|
|
13
|
-
units:
|
|
14
|
-
- config:
|
|
15
|
-
execName: pw.x
|
|
16
|
-
flavorName: pw_scf
|
|
17
|
-
name: pw_scf
|
|
18
|
-
functions:
|
|
19
|
-
head: true
|
|
20
|
-
type: executionBuilder
|
|
21
|
-
- config:
|
|
22
|
-
name: Set No-Symmetry Flag
|
|
23
|
-
operand: NO_SYMMETRY_NO_INVERSION
|
|
24
|
-
value: True # yamllint disable-line rule:truthy
|
|
25
|
-
type: assignment
|
|
26
|
-
- config:
|
|
27
|
-
execName: pw.x
|
|
28
|
-
flavorName: pw_nscf
|
|
29
|
-
name: pw_nscf
|
|
30
|
-
type: executionBuilder
|
|
31
|
-
- config:
|
|
32
|
-
execName: epsilon.x
|
|
33
|
-
flavorName: dielectric_tensor
|
|
34
|
-
name: Compute dielectric function
|
|
35
|
-
type: executionBuilder
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
application:
|
|
2
|
-
name: espresso
|
|
3
|
-
version: "6.3"
|
|
4
|
-
method:
|
|
5
|
-
name: PseudopotentialMethod
|
|
6
|
-
model:
|
|
7
|
-
name: DFTModel
|
|
8
|
-
name: Density of States
|
|
9
|
-
units:
|
|
10
|
-
- config:
|
|
11
|
-
execName: pw.x
|
|
12
|
-
flavorName: pw_scf
|
|
13
|
-
name: pw_scf
|
|
14
|
-
type: executionBuilder
|
|
15
|
-
- config:
|
|
16
|
-
execName: pw.x
|
|
17
|
-
flavorName: pw_nscf
|
|
18
|
-
name: pw_nscf
|
|
19
|
-
type: executionBuilder
|
|
20
|
-
- config:
|
|
21
|
-
execName: projwfc.x
|
|
22
|
-
flavorName: projwfc
|
|
23
|
-
name: projwfc
|
|
24
|
-
type: executionBuilder
|