示例#1
0
 def _set_vectors_and_supercell(self):
     phonon_modes = [[self._qpoint, i, 1, 0] for i in self._band_indices]
     self._phonon.set_modulations(self._modulation_dimension, phonon_modes)
     modulations, supercell = self._phonon.get_delta_modulations()
     self._vectors = [delta.T for delta in modulations]
     self._supercell = atoms2cell(supercell)
     self._lattice = self._supercell.get_lattice()
     self._lattice_inv = np.linalg.inv(self._lattice)
     self._positions = np.dot(self._lattice, self._supercell.get_points())
示例#2
0
 def _set_vectors_and_supercell(self):
     phonon_modes = [[self._qpoint, i, 1, 0]
                     for i in self._band_indices]
     self._phonon.set_modulations(self._modulation_dimension,
                                  phonon_modes)
     modulations, supercell = self._phonon.get_delta_modulations()
     self._vectors = [delta.T for delta in modulations]
     self._supercell = atoms2cell(supercell)
     self._lattice = self._supercell.get_lattice()
     self._lattice_inv = np.linalg.inv(self._lattice)
     self._positions = np.dot(self._lattice, self._supercell.get_points())
示例#3
0
    def _set_best_arguments_of_vectors_and_supercell(self):
        phonon_modes = [[self._qpoint, i, 1, 0] for i in self._band_indices]
        self._phonon.set_modulations(self._modulation_dimension, phonon_modes)
        modulations, supercell = self._phonon.get_delta_modulations()

        self._supercell = atoms2cell(supercell)

        vectors = []
        arguments = []
        for i, deltas in enumerate(modulations):
            argument, indices = self._best_argument(deltas.T)
            arguments.append([argument, indices])
            vectors.append((deltas.T * np.exp(-1j * argument)).real)

        self._vectors = vectors
        self._arguments = arguments
示例#4
0
    def _set_best_arguments_of_vectors_and_supercell(self):
        phonon_modes = [[self._qpoint, i, 1, 0]
                        for i in self._band_indices]
        self._phonon.set_modulations(self._modulation_dimension, phonon_modes)
        modulations, supercell = self._phonon.get_delta_modulations()
            
        self._supercell = atoms2cell(supercell)

        vectors = []
        arguments = []
        for i, deltas in enumerate(modulations):
            argument, indices = self._best_argument(deltas.T)
            arguments.append([argument, indices])
            vectors.append((deltas.T * np.exp(-1j * argument)).real)

        self._vectors = vectors
        self._arguments = arguments