@@ -179,10 +179,68 @@ def test_assimilate_bad_FF(self):
179
179
self .assertEqual (doc ["state" ], "unsuccessful" )
180
180
181
181
def test_assimilate_ffts (self ):
182
- pass
182
+ drone = QChemDrone (
183
+ runs = [
184
+ "freq_pre" , "ts_0" , "freq_0" , "ts_1" , "freq_1" , "ts_2" , "freq_2" ,
185
+ ],
186
+ additional_fields = {"special_run_type" : "ts_frequency_flattener" })
187
+ doc = drone .assimilate (
188
+ path = os .path .join (module_dir , ".." , "test_files" , "good_ffts" ),
189
+ input_file = "mol.qin" ,
190
+ output_file = "mol.qout" ,
191
+ multirun = False )
192
+ self .assertEqual (doc ["special_run_type" ], "ts_frequency_flattener" )
193
+ self .assertEqual (doc ["input" ]["job_type" ], "freq" )
194
+ self .assertEqual (doc ["output" ]["job_type" ], "freq" )
195
+ test_freqs = np .array ([- 698.11 , 25.64 , 42.91 , 76.9 , 86.38 , 127.48 , 144.86 ,
196
+ 165.45 , 202.58 , 244.71 , 300.76 , 338.64 , 387.33 ,
197
+ 488.47 , 530.32 , 549.64 , 625.49 , 683.65 , 734.74 ,
198
+ 763.52 , 812.55 , 842.7 , 855.4 , 944.99 , 1014.71 ,
199
+ 1104.84 , 1126.17 , 1159.67 , 1165.57 , 1211.66 ,
200
+ 1271.26 , 1373.16 , 1443.21 , 1457.01 , 1477.89 , 1507.47 ,
201
+ 1634.52 , 1675.76 , 3107.37 , 3177.87 , 3190.4 , 3290.26 ])
202
+ for ii in enumerate (test_freqs ):
203
+ self .assertEqual (test_freqs [ii [0 ]], doc ["output" ]["frequencies" ][ii [0 ]])
204
+ self .assertEqual (doc ["output" ]["frequencies" ][ii [0 ]],
205
+ doc ["calcs_reversed" ][0 ]["frequencies" ][ii [0 ]])
206
+ self .assertEqual (doc ["output" ]["enthalpy" ], 67.095 )
207
+ self .assertEqual (doc ["output" ]["entropy" ], 110.847 )
208
+ self .assertEqual (doc ["num_frequencies_flattened" ], 3 )
209
+ self .assertEqual (doc ["walltime" ], 13840.11 )
210
+ self .assertEqual (doc ["cputime" ], 394165.38 )
211
+ self .assertEqual (doc ["smiles" ], "O(C(=O)[O])[Li].[CH2]COC(=O)O[Li]" )
212
+ self .assertEqual (doc ["formula_pretty" ], "LiH2C2O3" )
213
+ self .assertEqual (doc ["formula_anonymous" ], "AB2C2D3" )
214
+ self .assertEqual (doc ["chemsys" ], "C-H-Li-O" )
215
+ self .assertEqual (doc ["pointgroup" ], "C1" )
216
+ self .assertIn ("custodian" , doc )
217
+ self .assertIn ("calcs_reversed" , doc )
218
+ self .assertIn ("initial_molecule" , doc ["input" ])
219
+ self .assertIn ("initial_molecule" , doc ["output" ])
220
+ self .assertIn ("optimized_molecule" , doc ["output" ])
221
+ self .assertIn ("last_updated" , doc )
222
+ self .assertIn ("dir_name" , doc )
223
+ self .assertEqual (len (doc ["calcs_reversed" ]), 3 )
224
+ self .assertEqual (
225
+ list (doc ["calcs_reversed" ][0 ].keys ()),
226
+ list (doc ["calcs_reversed" ][2 ].keys ()))
227
+
183
228
184
229
def test_assimilate_bad_ffts (self ):
185
- pass
230
+ drone = QChemDrone (
231
+ runs = [
232
+ "freq_pre" , "ts_0" , "freq_0" , "ts_1" , "freq_1" , "ts_2" , "freq_2" ,
233
+ ],
234
+ additional_fields = {"special_run_type" : "ts_frequency_flattener" })
235
+ doc = drone .assimilate (
236
+ path = os .path .join (module_dir , ".." , "test_files" , "bad_ffts" ),
237
+ input_file = "mol.qin" ,
238
+ output_file = "mol.qout" ,
239
+ multirun = False )
240
+ self .assertEqual (doc ["special_run_type" ], "ts_frequency_flattener" )
241
+ self .assertEqual (doc ["input" ]["job_type" ], "freq" )
242
+ self .assertEqual (doc ["output" ]["job_type" ], "freq" )
243
+ self .assertEqual (doc ["state" ], "unsuccessful" )
186
244
187
245
def test_multirun (self ):
188
246
drone = QChemDrone ()
0 commit comments