Ejemplo n.º 1
0
    def set_mesh(self,
                 mesh,
                 shift=None,
                 is_time_reversal=True,
                 is_mesh_symmetry=True,
                 is_eigenvectors=False,
                 is_gamma_center=False,
                 run_immediately=True):
        if self._dynamical_matrix is None:
            print("Warning: Dynamical matrix has not yet built.")
            self._mesh = None
            return False

        self._mesh = Mesh(
            self._dynamical_matrix,
            mesh,
            shift=shift,
            is_time_reversal=is_time_reversal,
            is_mesh_symmetry=is_mesh_symmetry,
            is_eigenvectors=is_eigenvectors,
            is_gamma_center=is_gamma_center,
            group_velocity=self._group_velocity,
            rotations=self._primitive_symmetry.get_pointgroup_operations(),
            factor=self._factor,
            use_lapack_solver=self._use_lapack_solver)
        if run_immediately:
            self._mesh.run()
        return True
Ejemplo n.º 2
0
def _test_Mesh(ph_nacl):
    mesh_obj = Mesh(ph_nacl.dynamical_matrix, [10, 10, 10],
                    with_eigenvectors=True)
    mesh_obj.run()
    for i, x in enumerate(mesh_obj):
        pass
    for j, x in enumerate(mesh_obj):
        pass
    assert i == j
    assert id(mesh_obj.dynamical_matrix) == id(mesh_obj.get_dynamical_matrix())
Ejemplo n.º 3
0
 def testMesh(self):
     phonon = self._get_phonon()
     mesh_obj = Mesh(phonon.dynamical_matrix, [10, 10, 10],
                     is_eigenvectors=True)
     mesh_obj.run()
     for i, x in enumerate(mesh_obj):
         pass
     for j, x in enumerate(mesh_obj):
         pass
     assert i == j
     self.assertTrue(
         id(mesh_obj.dynamical_matrix) == id(
             mesh_obj.get_dynamical_matrix()))
Ejemplo n.º 4
0
 def set_mesh(self,
              mesh,
              shift=None,
              is_time_reversal=True,
              is_mesh_symmetry=True,
              is_eigenvectors=False,
              is_gamma_center=False):
     self._set_dynamical_matrix()
     self._mesh = Mesh(
         self._dynamical_matrix,
         mesh,
         shift=shift,
         is_time_reversal=is_time_reversal,
         is_mesh_symmetry=is_mesh_symmetry,
         is_eigenvectors=is_eigenvectors,
         is_gamma_center=is_gamma_center,
         group_velocity=self._group_velocity,
         rotations=self._primitive_symmetry.get_pointgroup_operations(),
         factor=self._factor)
Ejemplo n.º 5
0
    def set_mesh(self,
                 mesh,
                 shift=None,
                 is_time_reversal=True,
                 is_symmetry=True,
                 is_band_connection=False,
                 is_eigenvectors=False,
                 is_gamma_center=False):

        self._mesh = Mesh(self._dynamical_matrix,
                          self._primitive,
                          mesh,
                          shift=shift,
                          is_time_reversal=is_time_reversal,
                          is_mesh_symmetry=is_symmetry,
                          is_eigenvectors=is_eigenvectors,
                          is_band_connection=is_band_connection,
                          is_gamma_center=is_gamma_center,
                          group_velocity=self._group_velocity,
                          factor=self._factor,
                          symprec=self._symprec)