def __init__(self, phonon, phonon_plus, phonon_minus, mesh, shift=None, is_time_reversal=True, is_gamma_center=False, is_mesh_symmetry=True): self._mesh = mesh self._factor = phonon.get_unit_conversion_factor(), primitive = phonon.get_primitive() primitive_symmetry = phonon.get_primitive_symmetry() gruneisen = Gruneisen(phonon.get_dynamical_matrix(), phonon_plus.get_dynamical_matrix(), phonon_minus.get_dynamical_matrix(), primitive.get_volume(), phonon_plus.get_primitive().get_volume(), phonon_minus.get_primitive().get_volume()) self._qpoints, self._weights = get_qpoints( self._mesh, np.linalg.inv(primitive.get_cell()), q_mesh_shift=shift, is_time_reversal=is_time_reversal, is_gamma_center=is_gamma_center, rotations=primitive_symmetry.get_pointgroup_operations(), is_mesh_symmetry=is_mesh_symmetry) gruneisen.set_qpoints(self._qpoints) self._gamma = gruneisen.get_gruneisen() self._eigenvalues = gruneisen.get_eigenvalues() self._frequencies = np.sqrt( abs(self._eigenvalues)) * np.sign(self._eigenvalues) * self._factor
def set_mesh(self, mesh): rec_lat = np.linalg.inv(self._primitive.get_cell()) self._qpoints, self._weights = get_qpoints( mesh, rec_lat, is_gamma_center=True, rotations=self._point_group_opts)
def __init__( self, dynmat, dynmat_plus, dynmat_minus, mesh, delta_strain=None, shift=None, is_time_reversal=True, is_gamma_center=False, is_mesh_symmetry=True, rotations=None, # Point group operations in real space factor=VaspToTHz, ): """Init method.""" super().__init__(dynmat, dynmat_plus, dynmat_minus, delta_strain=delta_strain) self._mesh = np.array(mesh, dtype="intc") self._factor = factor self._cell = dynmat.primitive self._qpoints, self._weights = get_qpoints( self._mesh, np.linalg.inv(self._cell.cell), q_mesh_shift=shift, is_time_reversal=is_time_reversal, is_gamma_center=is_gamma_center, rotations=rotations, is_mesh_symmetry=is_mesh_symmetry, ) self.set_qpoints(self._qpoints) self._gamma = self._gruneisen self._frequencies = (np.sqrt(abs(self._eigenvalues)) * np.sign(self._eigenvalues) * self._factor)
def __init__(self, phonon, phonon_plus, phonon_minus, mesh, shift=None, is_time_reversal=True, is_gamma_center=False, is_mesh_symmetry=True): self._phonon = phonon self._mesh = np.array(mesh, dtype='intc') self._factor = phonon.get_unit_conversion_factor(), primitive = phonon.get_primitive() primitive_symmetry = phonon.get_primitive_symmetry() gruneisen = Gruneisen(phonon.get_dynamical_matrix(), phonon_plus.get_dynamical_matrix(), phonon_minus.get_dynamical_matrix()) self._qpoints, self._weights = get_qpoints( self._mesh, np.linalg.inv(primitive.get_cell()), q_mesh_shift=shift, is_time_reversal=is_time_reversal, is_gamma_center=is_gamma_center, rotations=primitive_symmetry.get_pointgroup_operations(), is_mesh_symmetry=is_mesh_symmetry) gruneisen.set_qpoints(self._qpoints) self._gamma = gruneisen.get_gruneisen() self._gamma_prime = gruneisen.get_gamma_prime() self._eigenvalues = gruneisen.get_eigenvalues() self._frequencies = np.sqrt( abs(self._eigenvalues)) * np.sign(self._eigenvalues) * self._factor
def __init__(self, dynmat, dynmat_plus, dynmat_minus, mesh, delta_strain=None, shift=None, is_time_reversal=True, is_gamma_center=False, is_mesh_symmetry=True, rotations=None, # Point group operations in real space factor=VaspToTHz): GruneisenBase.__init__(self, dynmat, dynmat_plus, dynmat_minus, delta_strain=delta_strain) self._mesh = np.array(mesh, dtype='intc') self._factor = factor primitive = dynmat.get_primitive() self._qpoints, self._weights = get_qpoints( self._mesh, np.linalg.inv(primitive.get_cell()), q_mesh_shift=shift, is_time_reversal=is_time_reversal, is_gamma_center=is_gamma_center, rotations=rotations, is_mesh_symmetry=is_mesh_symmetry) self.set_qpoints(self._qpoints) self._gamma = self._gruneisen self._frequencies = np.sqrt( abs(self._eigenvalues)) * np.sign(self._eigenvalues) * self._factor
def set_sampling_mesh(self, mesh, shift=None, is_gamma_center=False): self._run_mode = 'mesh' self._mesh = mesh self._qpoints, self._weights = get_qpoints( self._mesh, np.linalg.inv(self._pcell.get_cell()), q_mesh_shift=shift, is_gamma_center=is_gamma_center)
def set_sampling_mesh(self, mesh, rotations=None, shift=None, is_gamma_center=False): self._run_mode = 'mesh' self._mesh = np.array(mesh, dtype='intc') self._qpoints, self._weights = get_qpoints( self._mesh, np.linalg.inv(self._pcell.get_cell()), q_mesh_shift=shift, is_gamma_center=is_gamma_center, rotations=rotations)
def set_sampling_mesh( self, mesh, rotations=None, shift=None, is_gamma_center=False ): """Set sampling mesh.""" self._run_mode = "mesh" self._mesh = np.array(mesh, dtype="intc") self._qpoints, self._weights = get_qpoints( self._mesh, np.linalg.inv(self._pcell.cell), q_mesh_shift=shift, is_gamma_center=is_gamma_center, rotations=rotations, )
def set_mesh(self, mesh): rec_lat = np.linalg.inv(self._primitive.get_cell()) self._qpoints, self._weights = get_qpoints( mesh, rec_lat, is_gamma_center=True, rotations=self._point_group_opts )