26
26
27
27
28
28
def get_wf_lobster (
29
- structure : Structure ,
30
- calculation_type : str = "standard" ,
31
- delete_all_wavecars : bool = True ,
32
- user_lobsterin_settings : dict = None ,
33
- user_incar_settings : dict = None ,
34
- user_kpoints_settings : dict = None ,
35
- user_supplied_basis : dict = None ,
36
- isym : int = 0 ,
37
- c : dict = None ,
38
- additional_outputs : List [str ] = None ,
39
- additional_optimization : bool = False ,
40
- user_incar_settings_optimization : dict = None ,
41
- user_kpoints_settings_optimization : dict = None ,
29
+ structure : Structure ,
30
+ calculation_type : str = "standard" ,
31
+ delete_all_wavecars : bool = True ,
32
+ user_lobsterin_settings : dict = None ,
33
+ user_incar_settings : dict = None ,
34
+ user_kpoints_settings : dict = None ,
35
+ user_supplied_basis : dict = None ,
36
+ isym : int = 0 ,
37
+ c : dict = None ,
38
+ additional_outputs : List [str ] = None ,
39
+ additional_optimization : bool = False ,
40
+ user_incar_settings_optimization : dict = None ,
41
+ user_kpoints_settings_optimization : dict = None ,
42
42
) -> Workflow :
43
43
"""
44
44
Creates a workflow for a static Vasp calculation followed by a Lobster calculation.
@@ -82,16 +82,22 @@ def get_wf_lobster(
82
82
if additional_optimization :
83
83
84
84
# add an additional optimization firework
85
- optmize_fw = OptimizeFW (structure , override_default_vasp_params = {"user_potcar_functional" : "PBE_54" ,
86
- "user_potcar_settings" : {"W" : "W_sv" },
87
- "user_kpoints_settings" : user_kpoints_settings_optimization ,
88
- "user_incar_settings" : user_incar_settings_optimization },
89
- vasp_cmd = vasp_cmd ,
90
- db_file = db_file ,
91
- )
85
+ optmize_fw = OptimizeFW (
86
+ structure ,
87
+ override_default_vasp_params = {
88
+ "user_potcar_functional" : "PBE_54" ,
89
+ "user_potcar_settings" : {"W" : "W_sv" },
90
+ "user_kpoints_settings" : user_kpoints_settings_optimization ,
91
+ "user_incar_settings" : user_incar_settings_optimization ,
92
+ },
93
+ vasp_cmd = vasp_cmd ,
94
+ db_file = db_file ,
95
+ )
92
96
fws .append (optmize_fw )
93
97
user_incar_settings_here = lobster_set .incar .as_dict ()
94
- user_incar_settings_here .update ({"ISTART" : None , "LAECHG" : None , "LCHARG" : None , "LVHAR" : None })
98
+ user_incar_settings_here .update (
99
+ {"ISTART" : None , "LAECHG" : None , "LCHARG" : None , "LVHAR" : None }
100
+ )
95
101
if user_incar_settings is not None :
96
102
user_incar_settings_here .update (user_incar_settings )
97
103
user_kpoints_settings_here = lobster_set .kpoints .as_dict ()
@@ -100,12 +106,15 @@ def get_wf_lobster(
100
106
staticfw = StaticFW (
101
107
structure = structure ,
102
108
vasp_input_set = lobster_set ,
103
- vasp_input_set_params = {"user_incar_settings" : user_incar_settings_here , "user_potcar_functional" : "PBE_54" ,
104
- "user_potcar_settings" : {"W" : "W_sv" },
105
- "user_kpoints_settings" : user_kpoints_settings_here },
109
+ vasp_input_set_params = {
110
+ "user_incar_settings" : user_incar_settings_here ,
111
+ "user_potcar_functional" : "PBE_54" ,
112
+ "user_potcar_settings" : {"W" : "W_sv" },
113
+ "user_kpoints_settings" : user_kpoints_settings_here ,
114
+ },
106
115
vasp_cmd = vasp_cmd ,
107
116
db_file = db_file ,
108
- parents = optmize_fw
117
+ parents = optmize_fw ,
109
118
)
110
119
111
120
else :
@@ -139,20 +148,20 @@ def get_wf_lobster(
139
148
140
149
141
150
def get_wf_lobster_test_basis (
142
- structure : Structure ,
143
- calculation_type : str = "standard" ,
144
- delete_all_wavecars : bool = True ,
145
- c : dict = None ,
146
- address_max_basis : Optional [str ] = None ,
147
- address_min_basis : Optional [str ] = None ,
148
- user_lobsterin_settings : dict = None ,
149
- user_incar_settings : dict = None ,
150
- user_kpoints_settings : dict = None ,
151
- isym : int = 0 ,
152
- additional_outputs : List [str ] = None ,
153
- additional_optimization : bool = False ,
154
- user_incar_settings_optimization : dict = None ,
155
- user_kpoints_settings_optimization : dict = None ,
151
+ structure : Structure ,
152
+ calculation_type : str = "standard" ,
153
+ delete_all_wavecars : bool = True ,
154
+ c : dict = None ,
155
+ address_max_basis : Optional [str ] = None ,
156
+ address_min_basis : Optional [str ] = None ,
157
+ user_lobsterin_settings : dict = None ,
158
+ user_incar_settings : dict = None ,
159
+ user_kpoints_settings : dict = None ,
160
+ isym : int = 0 ,
161
+ additional_outputs : List [str ] = None ,
162
+ additional_optimization : bool = False ,
163
+ user_incar_settings_optimization : dict = None ,
164
+ user_kpoints_settings_optimization : dict = None ,
156
165
) -> Workflow :
157
166
"""
158
167
creates workflow where all possible basis functions for one compound are tested
@@ -196,13 +205,17 @@ def get_wf_lobster_test_basis(
196
205
197
206
fws = []
198
207
if additional_optimization :
199
- optmize_fw = OptimizeFW (structure , override_default_vasp_params = {"user_potcar_functional" : "PBE_54" ,
200
- "user_potcar_settings" : {"W" : "W_sv" },
201
- "user_kpoints_settings" : user_kpoints_settings_optimization ,
202
- "user_incar_settings" : user_incar_settings_optimization },
203
- vasp_cmd = vasp_cmd ,
204
- db_file = db_file ,
205
- )
208
+ optmize_fw = OptimizeFW (
209
+ structure ,
210
+ override_default_vasp_params = {
211
+ "user_potcar_functional" : "PBE_54" ,
212
+ "user_potcar_settings" : {"W" : "W_sv" },
213
+ "user_kpoints_settings" : user_kpoints_settings_optimization ,
214
+ "user_incar_settings" : user_incar_settings_optimization ,
215
+ },
216
+ vasp_cmd = vasp_cmd ,
217
+ db_file = db_file ,
218
+ )
206
219
fws .append (optmize_fw )
207
220
208
221
# get the basis from dict_max_basis
@@ -235,21 +248,26 @@ def get_wf_lobster_test_basis(
235
248
if additional_optimization :
236
249
237
250
user_incar_settings_here = inputset .incar .as_dict ()
238
- user_incar_settings_here .update ({"ISTART" : None , "LAECHG" : None , "LCHARG" : None , "LVHAR" : None })
251
+ user_incar_settings_here .update (
252
+ {"ISTART" : None , "LAECHG" : None , "LCHARG" : None , "LVHAR" : None }
253
+ )
239
254
if user_incar_settings is not None :
240
255
user_incar_settings_here .update (user_incar_settings )
241
256
user_kpoints_settings_here = inputset .kpoints .as_dict ()
242
257
if user_kpoints_settings is not None :
243
258
user_kpoints_settings_here .update (user_kpoints_settings )
244
259
staticfw = StaticFW (
245
260
structure = structure ,
246
- vasp_input_set_params = {"user_incar_settings" : user_incar_settings_here , "user_potcar_functional" : "PBE_54" ,
247
- "user_potcar_settings" : {"W" : "W_sv" },
248
- "user_kpoints_settings" : user_kpoints_settings_here },
261
+ vasp_input_set_params = {
262
+ "user_incar_settings" : user_incar_settings_here ,
263
+ "user_potcar_functional" : "PBE_54" ,
264
+ "user_potcar_settings" : {"W" : "W_sv" },
265
+ "user_kpoints_settings" : user_kpoints_settings_here ,
266
+ },
249
267
vasp_cmd = vasp_cmd ,
250
268
db_file = db_file ,
251
269
name = "static" ,
252
- parents = optmize_fw
270
+ parents = optmize_fw ,
253
271
)
254
272
else :
255
273
staticfw = StaticFW (
0 commit comments