Example #1
0
 def test_new_mass(self, n2_data):
     vib_data = VibrationsData(n2_data['atoms'], n2_data['hessian'])
     original_masses = vib_data.get_atoms().get_masses()
     new_masses = original_masses * 3
     new_vib_data = vib_data.with_new_masses(new_masses)
     assert_array_almost_equal(new_vib_data.get_atoms().get_masses(),
                               new_masses)
     assert_array_almost_equal(vib_data.get_energies() / np.sqrt(3),
                               new_vib_data.get_energies())
Example #2
0
    def test_jmol_roundtrip(self, testdir, n2_data):
        ir_intensities = np.random.random(6)

        vib_data = VibrationsData(n2_data['atoms'], n2_data['hessian'])
        vib_data.write_jmol(self.jmol_file, ir_intensities=ir_intensities)

        images = ase.io.read(self.jmol_file, index=':')
        for i, image in enumerate(images):
            assert_array_almost_equal(image.positions,
                                      vib_data.get_atoms().positions)
            assert (image.info['IR_intensity'] == pytest.approx(
                ir_intensities[i]))
            assert_array_almost_equal(image.arrays['mode'],
                                      vib_data.get_modes()[i])