@@ -221,13 +221,16 @@ class ASEMinimizer(Minimizer):
221
221
ase optimizer class
222
222
fmax : float, optional, default=5e-3
223
223
force convergence criterion
224
+ max_steps : int, optional
225
+ max steps to optimize
224
226
optimizer_kwargs : dict, optional
225
227
other parameters for optimizer
226
228
"""
227
229
def __init__ (self ,
228
230
driver : Driver ,
229
231
optimizer : Type ["Optimizer" ] = None ,
230
232
fmax : float = 5e-3 ,
233
+ max_steps : int = None ,
231
234
optimizer_kwargs : dict = {}) -> None :
232
235
self .calculator = driver .ase_calculator
233
236
if optimizer is None :
@@ -240,6 +243,7 @@ def __init__(self,
240
243
** optimizer_kwargs .copy (),
241
244
}
242
245
self .fmax = fmax
246
+ self .max_steps = max_steps
243
247
244
248
def minimize (self , data : dict ) -> dict :
245
249
"""Minimize the geometry.
@@ -261,7 +265,7 @@ def minimize(self, data: dict) -> dict:
261
265
for atoms in structures :
262
266
atoms .calc = self .calculator
263
267
dyn = self .optimizer (atoms , ** self .optimizer_kwargs )
264
- dyn .run (fmax = self .fmax )
268
+ dyn .run (fmax = self .fmax , steps = self . max_steps )
265
269
ls = dpdata .LabeledSystem (atoms , fmt = "ase/structure" , type_map = data ['atom_names' ])
266
270
labeled_system .append (ls )
267
- return labeled_system .data
271
+ return labeled_system .data
0 commit comments