Mesh mode of mode Gruneisen parameter API is improved. The usage is found in Si-gruneisen.py example.

This commit is contained in:
Atsushi Togo 2017-11-02 18:10:03 +09:00
parent 13b9ca5ac7
commit 8ae550d063
4 changed files with 18 additions and 5 deletions

View File

@ -1,7 +1,7 @@
For band structure type calculation:
% gruneisen orig plus minus --dim="2 2 2" --pa="0 1/2 1/2 1/2 0 1/2 1/2 1/2 0" --band="1/2 1/4 3/4 0 0 0 1/2 1/2 1/2 1/2 0.0 1/2" -p -c POSCAR-unitcell
% phonopy-gruneisen orig plus minus --dim="2 2 2" --pa="0 1/2 1/2 1/2 0 1/2 1/2 1/2 0" --band="1/2 1/4 3/4 0 0 0 1/2 1/2 1/2 1/2 0.0 1/2" -p -c POSCAR-unitcell
For mesh sampling calculation:
% gruneisen orig plus minus --dim="2 2 2" --pa="0 1/2 1/2 1/2 0 1/2 1/2 1/2 0" --mesh="20 20 20" -p -c POSCAR-unitcell
% phonopy-gruneisen orig plus minus --dim="2 2 2" --pa="0 1/2 1/2 1/2 0 1/2 1/2 1/2 0" --mesh="20 20 20" -p -c POSCAR-unitcell

View File

@ -30,8 +30,11 @@ gruneisen = PhonopyGruneisen(phonons["orig"],
phonons["minus"])
gruneisen.set_mesh([2, 2, 2])
gruneisen_params_on_mesh = gruneisen.get_mesh().get_gruneisen()
print(gruneisen_params_on_mesh)
q_points, _, frequencies, _, gammas = gruneisen.get_mesh()
for q, freq, g in zip(q_points, frequencies, gammas):
print(("%5.2f %5.2f %5.2f " + (" %7.3f" * len(freq)))
% ((q[0], q[1], q[2]) + tuple(freq)))
print(((" " * 18) + (" %7.3f" * len(g))) % tuple(g))
bands = []
append_band(bands, [0.5, 0.5, 0.0], [0.0, 0.0, 0.0])

View File

@ -79,7 +79,14 @@ class PhonopyGruneisen(object):
return True
def get_mesh(self):
return self._mesh
if self._mesh is None:
return None
else:
return (self._mesh.get_qpoints(),
self._mesh.get_weights(),
self._mesh.get_frequencies(),
self._mesh.get_eigenvectors(),
self._mesh.get_gruneisen())
def write_yaml_mesh(self):
self._mesh.write_yaml()

View File

@ -88,6 +88,9 @@ class GruneisenMesh(GruneisenBase):
def get_eigenvalues(self):
return self._eigenvalues
def get_eigenvectors(self):
return self._eigenvectors
def get_frequencies(self):
return self._frequencies