Beispiel #1
0
 def _run_thm_c_with_band_indices(self):
     import anharmonic._phono3py as phono3c
     phono3c.thm_imag_self_energy(self._imag_self_energy, self._pp_strength,
                                  self._triplets_at_q, self._weights_at_q,
                                  self._frequencies, self._temperature,
                                  self._g, self._unit_conversion,
                                  self._cutoff_frequency)
Beispiel #2
0
 def _run_thm_c_with_band_indices(self):
     import anharmonic._phono3py as phono3c
     phono3c.thm_imag_self_energy(
         self._imag_self_energy,
         self._interaction.get_interaction_strength(),
         self._grid_point_triplets, self._triplet_weights,
         self._frequencies, self._temperature, self._g,
         np.array(self._band_indices).flatten().astype('intc'),
         self._unit_conversion, self._cutoff_frequency)
Beispiel #3
0
 def _run_thm_c_with_band_indices(self):
     import anharmonic._phono3py as phono3c
     phono3c.thm_imag_self_energy(self._imag_self_energy,
                                  self._fc3_normal_squared,
                                  self._triplets_at_q,
                                  self._weights_at_q,
                                  self._frequencies,
                                  self._temperature,
                                  self._g,
                                  self._unit_conversion,
                                  self._cutoff_frequency)
Beispiel #4
0
 def _run_thm_c_with_frequency_points(self):
     import anharmonic._phono3py as phono3c
     g = np.zeros((2, ) + self._fc3_normal_squared.shape, dtype='double')
     for i in range(len(self._frequency_points)):
         for j in range(g.shape[2]):
             g[:, :, j, :, :] = self._g[:, :, i, :, :]
         phono3c.thm_imag_self_energy(
             self._imag_self_energy[i], self._fc3_normal_squared,
             self._triplets_at_q, self._weights_at_q, self._frequencies,
             self._temperature, g, self._unit_conversion,
             self._cutoff_frequency)
 def _run_thm_c_with_band_indices(self):
     import anharmonic._phono3py as phono3c
     phono3c.thm_imag_self_energy(self._imag_self_energy,
                                  self._interaction.get_interaction_strength(),
                                  self._grid_point_triplets,
                                  self._triplet_weights,
                                  self._frequencies,
                                  self._temperature,
                                  self._g,
                                  np.array(self._band_indices).flatten().astype('intc'),
                                  self._unit_conversion,
                                  self._cutoff_frequency)
Beispiel #6
0
 def _run_thm_c_with_frequency_points(self):
     import anharmonic._phono3py as phono3c
     g = np.zeros((2, ) + self._interaction.shape, dtype='double')
     ise_at_f = np.zeros(self._imag_self_energy.shape[1], dtype='double')
     for i in range(len(self._fpoints)):
         for j in range(g.shape[2]):
             g[:, :, j, :, :] = self._g[:, :, i, :, :]
         phono3c.thm_imag_self_energy(ise_at_f, self._interaction,
                                      self._grid_point_triplets,
                                      self._triplet_weights,
                                      self._frequencies, self._temperature,
                                      g, self._unit_conversion,
                                      self._cutoff_frequency)
         self._imag_self_energy[i] = ise_at_f
Beispiel #7
0
 def _run_thm_c_with_frequency_points(self):
     import anharmonic._phono3py as phono3c
     g = np.zeros((2,) + self._fc3_normal_squared.shape, dtype='double')
     for i in range(len(self._frequency_points)):
         for j in range(g.shape[2]):
             g[:, :, j, :, :] = self._g[:, :, i, :, :]
         phono3c.thm_imag_self_energy(self._imag_self_energy[i],
                                      self._fc3_normal_squared,
                                      self._triplets_at_q,
                                      self._weights_at_q,
                                      self._frequencies,
                                      self._temperature,
                                      g,
                                      self._unit_conversion,
                                      self._cutoff_frequency)
 def _run_thm_c_with_frequency_points(self):
     import anharmonic._phono3py as phono3c
     g = np.zeros((2,) + self._interaction.shape, dtype='double')
     ise_at_f = np.zeros(self._imag_self_energy.shape[1], dtype='double')
     for i in range(len(self._fpoints)):
         for j in range(g.shape[2]):
             g[:, :, j, :, :] = self._g[:, :, i, :, :]
         phono3c.thm_imag_self_energy(ise_at_f,
                                      self._interaction,
                                      self._grid_point_triplets,
                                      self._triplet_weights,
                                      self._frequencies,
                                      self._temperature,
                                      g,
                                      self._unit_conversion,
                                      self._cutoff_frequency)
         self._imag_self_energy[i] = ise_at_f