@@ -265,66 +265,41 @@ def test_phonon_wf_vasp_only_displacements_kpath(
265265 responses = run_locally (job , create_folders = True , ensure_success = True )
266266
267267 # validate the outputs
268- # print(type( responses))
269- assert isinstance (responses [ job . jobs [ - 1 ]. uuid ][ 1 ]. output , PhononBSDOSDoc )
268+ ph_doc = responses [ job . jobs [ - 1 ]. uuid ][ 1 ]. output
269+ assert isinstance (ph_doc , PhononBSDOSDoc )
270270
271271 assert_allclose (
272- responses [ job . jobs [ - 1 ]. uuid ][ 1 ]. output .free_energies ,
272+ ph_doc .free_energies ,
273273 [5776.14995034 , 5617.74737777 , 4725.50269363 , 3043.81827626 , 694.49078355 ],
274274 atol = 1e-3 ,
275275 )
276276
277+ assert isinstance (ph_doc .phonon_bandstructure , PhononBandStructureSymmLine )
278+ assert isinstance (ph_doc .phonon_dos , PhononDos )
279+ assert isinstance (ph_doc .thermal_displacement_data , ThermalDisplacementData )
280+ assert isinstance (ph_doc .structure , Structure )
281+ assert_allclose (ph_doc .temperatures , [0 , 100 , 200 , 300 , 400 ])
282+ assert ph_doc .has_imaginary_modes is False
283+ force_const = ph_doc .force_constants .force_constants [0 ][0 ][0 ][0 ]
284+ assert force_const == pytest .approx (13.032324 )
285+ assert isinstance (ph_doc .jobdirs , PhononJobDirs )
286+ assert isinstance (ph_doc .uuids , PhononUUIDs )
287+ assert ph_doc .total_dft_energy is None
288+ assert ph_doc .born is None
289+ assert ph_doc .epsilon_static is None
290+ assert ph_doc .supercell_matrix == ((- 1 , 1 , 1 ), (1 , - 1 , 1 ), (1 , 1 , - 1 ))
291+ assert ph_doc .primitive_matrix == ((1 , 0 , 0 ), (0 , 1 , 0 ), (0 , 0 , 1 ))
292+ assert ph_doc .code == "vasp"
277293 assert isinstance (
278- responses [job .jobs [- 1 ].uuid ][1 ].output .phonon_bandstructure ,
279- PhononBandStructureSymmLine ,
280- )
281- assert isinstance (responses [job .jobs [- 1 ].uuid ][1 ].output .phonon_dos , PhononDos )
282- assert isinstance (
283- responses [job .jobs [- 1 ].uuid ][1 ].output .thermal_displacement_data ,
284- ThermalDisplacementData ,
285- )
286- assert isinstance (responses [job .jobs [- 1 ].uuid ][1 ].output .structure , Structure )
287- assert_allclose (
288- responses [job .jobs [- 1 ].uuid ][1 ].output .temperatures , [0 , 100 , 200 , 300 , 400 ]
289- )
290- assert responses [job .jobs [- 1 ].uuid ][1 ].output .has_imaginary_modes is False
291- assert_allclose (
292- responses [job .jobs [- 1 ].uuid ][1 ].output .force_constants .force_constants [0 ][0 ][0 ][
293- 0
294- ],
295- 13.032324 ,
296- )
297- assert isinstance (responses [job .jobs [- 1 ].uuid ][1 ].output .jobdirs , PhononJobDirs )
298- assert isinstance (responses [job .jobs [- 1 ].uuid ][1 ].output .uuids , PhononUUIDs )
299- assert responses [job .jobs [- 1 ].uuid ][1 ].output .total_dft_energy is None
300- assert responses [job .jobs [- 1 ].uuid ][1 ].output .born is None
301- assert responses [job .jobs [- 1 ].uuid ][1 ].output .epsilon_static is None
302- assert_allclose (
303- responses [job .jobs [- 1 ].uuid ][1 ].output .supercell_matrix ,
304- [[- 1.0 , 1.0 , 1.0 ], [1.0 , - 1.0 , 1.0 ], [1.0 , 1.0 , - 1.0 ]],
305- )
306- assert_allclose (
307- responses [job .jobs [- 1 ].uuid ][1 ].output .primitive_matrix ,
308- [[1 , 0 , 0 ], [0 , 1 , 0 ], [0 , 0 , 1 ]],
309- atol = 1e-8 ,
310- )
311- assert responses [job .jobs [- 1 ].uuid ][1 ].output .code == "vasp"
312- assert isinstance (
313- responses [job .jobs [- 1 ].uuid ][1 ].output .phonopy_settings ,
294+ ph_doc .phonopy_settings ,
314295 PhononComputationalSettings ,
315296 )
316- assert responses [job .jobs [- 1 ].uuid ][1 ].output .phonopy_settings .npoints_band == 101
317- assert (
318- responses [job .jobs [- 1 ].uuid ][1 ].output .phonopy_settings .kpath_scheme
319- == kpath_scheme
320- )
321- assert (
322- responses [job .jobs [- 1 ].uuid ][1 ].output .phonopy_settings .kpoint_density_dos
323- == 7_000
324- )
297+ assert ph_doc .phonopy_settings .npoints_band == 101
298+ assert ph_doc .phonopy_settings .kpath_scheme == kpath_scheme
299+ assert ph_doc .phonopy_settings .kpoint_density_dos == 7_000
325300
326301
327- # test supply of born charges, epsilon, DFT energy, supercell
302+ # test supply of Born charges, epsilon, DFT energy, supercell
328303def test_phonon_wf_vasp_only_displacements_add_inputs_raises (
329304 mock_vasp , clean_dir , si_structure : Structure
330305):
@@ -337,16 +312,9 @@ def test_phonon_wf_vasp_only_displacements_add_inputs_raises(
337312 # automatically use fake VASP and write POTCAR.spec during the test
338313 mock_vasp (ref_paths , fake_run_vasp_kwargs )
339314
340- born = [
341- [[0 , 0 , 0 ], [0 , 0 , 0 ], [0 , 0 , 0 ]],
342- [[0 , 0 , 0 ], [0 , 0 , 0 ], [0 , 0 , 0 ]],
343- [[0 , 0 , 0 ], [0 , 0 , 0 ], [0 , 0 , 0.1 ]],
344- ]
345- epsilon_static = [
346- [5.25 , 0 , 0 ],
347- [0 , 5.25 , 0 ],
348- [0 , 0 , 5.25 ],
349- ]
315+ born = np .zeros ((3 , 3 ))
316+ born [- 1 , - 1 ] = 0.1
317+ epsilon_static = 5.25 * np .eye (3 )
350318 total_dft_energy_per_formula_unit = - 5
351319
352320 job = PhononMaker (
@@ -368,7 +336,7 @@ def test_phonon_wf_vasp_only_displacements_add_inputs_raises(
368336 run_locally (job , create_folders = True , ensure_success = True )
369337
370338
371- # test supply of born charges, epsilon, DFT energy, supercell
339+ # test supply of Born charges, epsilon, DFT energy, supercell
372340def test_phonon_wf_vasp_only_displacements_add_inputs (
373341 mock_vasp , clean_dir , si_structure : Structure
374342):
0 commit comments