14
14
def neb_ts_no_hess_irc_mace (
15
15
reactant : Atoms ,
16
16
product : Atoms ,
17
+ run_neb_kwargs : Dict [str , Any ],
17
18
calc_kwargs1 : Dict [str , Any ],
18
19
logger : logging .Logger ,
19
20
clean_up : bool = True
@@ -28,6 +29,8 @@ def neb_ts_no_hess_irc_mace(
28
29
The reactant structure.
29
30
product : Atoms
30
31
The product structure.
32
+ run_neb_kwargs : dict
33
+ Keyword arguments for the ASE's nudged elastic band function.
31
34
calc_kwargs1 : dict
32
35
Keyword arguments for the ASE calculator for NEB, TS, and IRC jobs.
33
36
logger : logging.Logger
@@ -41,19 +44,36 @@ def neb_ts_no_hess_irc_mace(
41
44
List containing results from NEB, TS, and IRC jobs.
42
45
"""
43
46
# Create NEB job
44
- job1 = strip_decorator (neb_job )(reactant , product , calc_kwargs = calc_kwargs1 )
47
+ job1 = strip_decorator (neb_job )(
48
+ reactant ,
49
+ product ,
50
+ run_neb_kwargs = run_neb_kwargs ,
51
+ ** calc_kwargs1 ,
52
+ )
45
53
logger .info ("Created NEB job." )
46
54
47
55
# Create TS job with custom Hessian
48
- job2 = strip_decorator (ts_job )(job1 ['neb_results' ]['highest_e_atoms' ], use_custom_hessian = False , ** calc_kwargs1 )
56
+ job2 = strip_decorator (ts_job )(
57
+ job1 ['neb_results' ]['highest_e_atoms' ],
58
+ use_custom_hessian = False ,
59
+ ** calc_kwargs1 ,
60
+ )
49
61
logger .info ("Created TS job with custom Hessian." )
50
62
51
63
# Create IRC job in forward direction
52
- job3 = strip_decorator (irc_job )(job2 ['atoms' ], direction = 'forward' , ** calc_kwargs1 )
64
+ job3 = strip_decorator (irc_job )(
65
+ job2 ['atoms' ],
66
+ direction = 'forward' ,
67
+ ** calc_kwargs1 ,
68
+ )
53
69
logger .info ("Created IRC job in forward direction." )
54
70
55
71
# Create IRC job in reverse direction
56
- job4 = strip_decorator (irc_job )(job2 ['atoms' ], direction = 'reverse' , ** calc_kwargs1 )
72
+ job4 = strip_decorator (irc_job )(
73
+ job2 ['atoms' ],
74
+ direction = 'reverse' ,
75
+ ** calc_kwargs1 ,
76
+ )
57
77
logger .info ("Created IRC job in reverse direction." )
58
78
59
79
logger .info ("All jobs executed successfully." )
@@ -94,8 +114,16 @@ def neb_ts_no_hess_irc_mace(
94
114
# Calculation and optimization keyword arguments
95
115
calc_kwargs1 = {
96
116
}
97
-
98
- job1 , job2 , job3 , job4 = neb_ts_no_hess_irc_mace (reactant , product , calc_kwargs1 , logger )
117
+ run_neb_kwargs = {
118
+ 'max_steps' : 2 ,
119
+ }
120
+ job1 , job2 , job3 , job4 = neb_ts_no_hess_irc_mace (
121
+ reactant ,
122
+ product ,
123
+ run_neb_kwargs ,
124
+ calc_kwargs1 ,
125
+ logger ,
126
+ )
99
127
print ('\n \n ' , job1 )
100
128
print ('\n \n ' , job2 )
101
129
print ('\n \n ' , job3 )
0 commit comments