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
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())
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()))
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)
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)