はじめに
Atomic Simulation Environment (ASE)のバージョンを更新したら,
'''
srun.py:190: UserWarning: You are using an old syntax to set 'parameters'.
Please use LAMMPSRUN.set().
warnings.warn(self.legacy_warn_string.format("parameters"))
'''
という警告が出たので,調査しました.
原因
ASEのlammpsrunのソースコードを読むと,legacy_parametersという変数が見つかる.
legacy...と思いながら対応する箇所を探すと,
if "parameters" in kwargs:
old_parameters = kwargs["parameters"]
if isinstance(old_parameters, dict):
warnings.warn(self.legacy_warn_string.format("parameters"))
del kwargs["parameters"]
else:
old_parameters = None
Calculator.__init__(self, label=label, **kwargs)
if old_parameters and isinstance(old_parameters, dict):
self.set(**old_parameters)
というコードが見つかる.
つまり,LAMMPSを呼び出す際に
LAMMPS(parameters=params)
等としていたのが問題で,
calculators = LAMMPS(parameters=params)
calculators.set(**params)
等としてあげれば,警告が表示されなくなります.