Create options for unit conversion factors of gamma and ph-ph interactin strength

This commit is contained in:
Atsushi Togo 2015-02-19 18:37:28 +09:00
parent e3ee2bf835
commit 9429bb9464
3 changed files with 20 additions and 2 deletions

View File

@ -384,6 +384,7 @@ class Phono3py:
grid_points=None,
boundary_mfp=None, # in micrometre
average_pp_interaction=False,
gamma_unit_conversion=None,
mesh_divisors=None,
coarse_mesh_shifts=None,
is_reducible_collision_matrix=False,
@ -429,6 +430,7 @@ class Phono3py:
grid_points=grid_points,
boundary_mfp=boundary_mfp,
average_pp_interaction=average_pp_interaction,
gamma_unit_conversion=gamma_unit_conversion,
mesh_divisors=mesh_divisors,
coarse_mesh_shifts=coarse_mesh_shifts,
no_kappa_stars=no_kappa_stars,

View File

@ -17,6 +17,7 @@ def get_thermal_conductivity_RTA(
is_isotope=False,
boundary_mfp=None, # in micrometre
average_pp_interaction=False,
gamma_unit_conversion=None,
mesh_divisors=None,
coarse_mesh_shifts=None,
no_kappa_stars=False,
@ -38,6 +39,7 @@ def get_thermal_conductivity_RTA(
mass_variances=mass_variances,
boundary_mfp=boundary_mfp,
average_pp_interaction=average_pp_interaction,
gamma_unit_conversion=gamma_unit_conversion,
mesh_divisors=mesh_divisors,
coarse_mesh_shifts=coarse_mesh_shifts,
no_kappa_stars=no_kappa_stars,
@ -236,6 +238,7 @@ class Conductivity_RTA(Conductivity):
mass_variances=None,
boundary_mfp=None, # in micrometre
average_pp_interaction=False,
gamma_unit_conversion=None,
mesh_divisors=None,
coarse_mesh_shifts=None,
no_kappa_stars=False,
@ -269,6 +272,7 @@ class Conductivity_RTA(Conductivity):
self._gv = None
self._gamma = None
self._gamma_iso = None
self._gamma_unit_conversion = gamma_unit_conversion
self._use_mspp = average_pp_interaction
self._mean_square_pp_strength = None
self._num_ignored_phonon_modes = None
@ -411,7 +415,9 @@ class Conductivity_RTA(Conductivity):
self._num_ignored_phonon_modes = np.zeros((len(self._sigmas),
len(self._temperatures)),
dtype='intc')
self._collision = ImagSelfEnergy(self._pp)
self._collision = ImagSelfEnergy(
self._pp,
unit_conversion=self._gamma_unit_conversion)
def _set_gamma_at_sigmas(self, i):
for j, sigma in enumerate(self._sigmas):

View File

@ -123,6 +123,7 @@ parser.set_defaults(band_indices=None,
frequency_pitch=None,
frequency_points=None,
freq_scale=None,
gamma_unit_conversion=None,
grid_addresses=None,
grid_points=None,
gv_delta_q=None,
@ -165,6 +166,7 @@ parser.set_defaults(band_indices=None,
read_fc3=False,
read_gamma=False,
output_filename=None,
pp_unit_conversion=None,
qpoints=None,
quiet=False,
scattering_event_class=None,
@ -248,6 +250,9 @@ parser.add_option("--freq_pitch", dest="frequency_pitch", type="float",
help="Pitch in frequency for spectrum")
parser.add_option("--freq_points", dest="frequency_points", type="int",
help="Number of sampling points for spectrum")
parser.add_option("--gamma_unit_conversion", dest="gamma_unit_conversion",
type="float",
help="Conversion factor for gamma")
parser.add_option("--gp", "--grid_points", dest="grid_points", type="string",
help="Fixed grid points where anharmonic properties are calculated")
parser.add_option("--ga", "--grid_addresses", dest="grid_addresses", type="string",
@ -302,6 +307,9 @@ parser.add_option("--pinv_cutoff", dest="pinv_cutoff", type="float",
help="Cutoff frequency (THz) for pseudo inversion of collision matrix")
parser.add_option("--pm", dest="is_plusminus_displacements", action="store_true",
help="Set plus minus displacements")
parser.add_option("--pp_unit_conversion", dest="pp_unit_conversion",
type="float",
help="Conversion factor for ph-ph interaction")
parser.add_option("--qpoints", dest="qpoints", type="string",
help="Calculate at specified q-points")
parser.add_option("--q_direction", dest="q_direction", type="string",
@ -1083,7 +1091,8 @@ phono3py.set_phph_interaction(
nac_params=nac_params,
nac_q_direction=nac_q_direction,
constant_strength=settings.get_constant_pp_strength(),
frequency_scale_factor=frequency_scale_factor)
frequency_scale_factor=frequency_scale_factor,
unit_conversion=options.pp_unit_conversion)
if settings.get_is_linewidth():
phono3py.run_linewidth(
@ -1106,6 +1115,7 @@ elif settings.get_is_bterta() or settings.get_is_lbte():
grid_points=grid_points,
boundary_mfp=settings.get_boundary_mfp(),
average_pp_interaction=settings.get_average_pp_interaction(),
gamma_unit_conversion=options.gamma_unit_conversion,
mesh_divisors=mesh_divs,
coarse_mesh_shifts=settings.get_coarse_mesh_shifts(),
is_reducible_collision_matrix=options.is_reducible_collision_matrix,