Add fc_calculator_options to phonopy.load and some minor updates

This commit is contained in:
Atsushi Togo 2020-05-13 16:34:09 +09:00
parent 411c7ac148
commit f1e9a10bb7
3 changed files with 22 additions and 16 deletions

View File

@ -53,6 +53,7 @@ def load(phonopy_yaml=None, # phonopy.yaml-like must be the first argument.
force_sets_filename=None,
force_constants_filename=None,
fc_calculator=None,
fc_calculator_options=None,
factor=None,
frequency_scale_factor=None,
produce_fc=True,
@ -161,6 +162,11 @@ def load(phonopy_yaml=None, # phonopy.yaml-like must be the first argument.
None.
fc_calculator : str, optional
Force constants calculator. Currently only 'alm'. Default is None.
fc_calculator_options : str, optional
Optional parameters that are passed to the external fc-calculator.
This is given as one text string. How to parse this depends on the
fc-calculator. For alm, each parameter is splitted by comma ',',
and each set of key and value pair is written in 'key = value'.
factor : float, optional
Phonon frequency unit conversion factor. Unless specified, default
unit conversion factor for each calculator is used.
@ -274,6 +280,7 @@ def load(phonopy_yaml=None, # phonopy.yaml-like must be the first argument.
force_constants_filename=force_constants_filename,
force_sets_filename=force_sets_filename,
fc_calculator=fc_calculator,
fc_calculator_options=fc_calculator_options,
produce_fc=produce_fc,
symmetrize_fc=symmetrize_fc,
is_compact_fc=is_compact_fc,

View File

@ -301,14 +301,14 @@ def get_parser(fc_symmetry=False,
parser.add_argument(
"--nac-method", dest="nac_method", default=None,
help="Non-analytical term correction method: Gonze (default) or Wang")
parser.add_argument(
"--nodiag", dest="is_nodiag", action="store_true", default=False,
help="Set displacements parallel to axes")
if fc_symmetry:
parser.add_argument(
"--no-fc-symmetry", "--no-sym-fc",
dest="fc_symmetry", action="store_false",
default=True, help="Do not symmetrize force constants")
parser.add_argument(
"--nodiag", dest="is_nodiag", action="store_true", default=False,
help="Set displacements parallel to axes")
parser.add_argument(
"--nomeshsym", dest="is_nomeshsym", action="store_true", default=False,
help="Symmetry is not imposed for mesh sampling.")

View File

@ -72,11 +72,11 @@ def print_phonopy():
|_| |_| |___/""")
def print_version(version):
def print_version(version, package_name="phonopy"):
try:
version_text = ('%s' % version).rjust(44)
import pkg_resources
dist = pkg_resources.get_distribution("phonopy")
dist = pkg_resources.get_distribution(package_name)
if dist.has_version():
ver = dist.version.split('.')
if len(ver) > 3:
@ -1244,6 +1244,8 @@ def start_phonopy(**argparse_control):
if log_level:
print_phonopy()
print_version(__version__)
if argparse_control.get('load_phonopy_yaml', False):
print("Running in phonopy.load mode.")
print("Python version %d.%d.%d" % sys.version_info[:3])
import phonopy.structure.spglib as spglib
print("Spglib version %d.%d.%d" % spglib.get_version())
@ -1285,24 +1287,21 @@ def read_phonopy_settings(args, argparse_control, log_level):
if len(args.filename) > 0:
file_exists(args.filename[0], log_level)
if load_phonopy_yaml:
if log_level:
print("Entring phonopy-load mode. "
"Phonopy works similar to phonopy.load.")
print("")
load_phonopy_yaml = (load_phonopy_yaml or
is_file_phonopy_yaml(args.filename[0]))
if load_phonopy_yaml:
phonopy_conf_parser = PhonopyConfParser(
args=args, default_settings=argparse_control)
cell_filename = args.filename[0]
else:
phonopy_conf_parser = PhonopyConfParser(filename=args.filename[0],
args=args)
cell_filename = phonopy_conf_parser.settings.get_cell_filename()
if is_file_phonopy_yaml(args.filename[0]):
phonopy_conf_parser = PhonopyConfParser(args=args)
cell_filename = args.filename[0]
else:
phonopy_conf_parser = PhonopyConfParser(
filename=args.filename[0], args=args)
cell_filename = phonopy_conf_parser.settings.cell_filename
else:
phonopy_conf_parser = PhonopyConfParser(args=args)
cell_filename = phonopy_conf_parser.settings.get_cell_filename()
cell_filename = phonopy_conf_parser.settings.cell_filename
confs = phonopy_conf_parser.confs.copy()
settings = phonopy_conf_parser.settings