Differentiation of phonopy/phono3py/shengBTE IO functions
Description
At the moment there are a few different ways to read and write force constants from ShengBTE, phonopy, and phono3py:
hiphive.force_constants.ForceConstants.read_phonopy(sposcar_fname, fc2_fname=None, fc3_fname=None, fc2_format=None)
hiphive.force_constants.ForceConstants.write_to_phonopy(fname, format=None)
hiphive.force_constants.ForceConstants.write_to_phono3py(fname)
hiphive.io.read_phonopy_fc2(filename, format=None)
hiphive.io.read_phonopy_fc3(filename)
hiphive.io.write_phonopy_fc2(filename, fc2, format=None)
hiphive.io.write_phonopy_fc3(filename, fc3)
hiphive.io.read_shengBTE_fc3(filename)
hiphive.io.write_shengBTE_fc3(filename, fcs, prim)
Implementation plan
(based on scrum consensus 2019/02/14)
- Add
hiphive.force_constants.ForceConstants.write_to_shengBTE
along withread
method. - Move actual code to
io
and internalize functions. - Do not expose
io
viahiphive/__init__.py
. - A user guide page on IO functions would be useful that also demonstrates conversion.
Edited by Paul Erhart