Merge pull request #418 from phonopy/release

Release v3.18.0
This commit is contained in:
Atsushi Togo 2025-07-22 16:06:34 +09:00 committed by GitHub
commit a12bb6becd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 23 additions and 18 deletions

View File

@ -2,7 +2,7 @@
# Change Log
## Jul-xx-2025: Version 3.17.2
## Jul-22-2025: Version 3.18.0
- Changed `Phono3py.run_imag_self_energy()` to return `ImagSelfEnergyValues`.
- Traditional force constants symmetrizer now applies translational and

View File

@ -58,9 +58,9 @@ copyright = "2015, Atsushi Togo"
# built documents.
#
# The short X.Y version.
version = "3.17"
version = "3.18"
# The full version, including alpha/beta/rc tags.
release = "3.17.1"
release = "3.18.0"
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

View File

@ -81,7 +81,10 @@ from phonopy.structure.symmetry import Symmetry
from phono3py.conductivity.init_direct_solution import get_thermal_conductivity_LBTE
from phono3py.conductivity.init_rta import get_thermal_conductivity_RTA
from phono3py.interface.fc_calculator import FC3Solver
from phono3py.interface.fc_calculator import (
FC3Solver,
extract_fc2_fc3_calculators_options,
)
from phono3py.interface.phono3py_yaml import Phono3pyYaml
from phono3py.phonon.grid import BZGrid
from phono3py.phonon3.dataset import forces_in_dataset
@ -1556,12 +1559,13 @@ class Phono3py:
if fc_calculator == "traditional" or fc_calculator is None:
if symmetrize_fc3r:
fc3_calc_opts = extract_fc2_fc3_calculators_options(
fc_calculator_options, 3
)
if use_symfc_projector and fc_calculator is None:
self.symmetrize_fc3(
use_symfc_projector=True, options=fc_calculator_options
)
self.symmetrize_fc3(use_symfc_projector=True, options=fc3_calc_opts)
else:
self.symmetrize_fc3(options=fc_calculator_options)
self.symmetrize_fc3(options=fc3_calc_opts)
elif fc_calculator == "symfc":
symfc_solver = cast(SymfcFCSolver, fc_solver.fc_solver)
fc3_nonzero_elems = symfc_solver.get_nonzero_atomic_indices_fc3()
@ -1584,13 +1588,15 @@ class Phono3py:
self._fc2 = fc2
if fc_calculator == "traditional" or fc_calculator is None:
if symmetrize_fc3r:
fc2_calc_opts = extract_fc2_fc3_calculators_options(
fc_calculator_options, 2
)
if use_symfc_projector and fc_calculator is None:
self.symmetrize_fc2(
use_symfc_projector=True,
options=fc_calculator_options,
use_symfc_projector=True, options=fc2_calc_opts
)
else:
self.symmetrize_fc2(options=fc_calculator_options)
self.symmetrize_fc2(options=fc2_calc_opts)
def symmetrize_fc3(
self,
@ -2457,7 +2463,7 @@ class Phono3py:
self._mlp.save(filename=filename)
def load_mlp(self, filename: str | None = None):
def load_mlp(self, filename: str | os.PathLike | None = None):
"""Load machine learning potential."""
self._mlp = PhonopyMLP(log_level=self._log_level)
self._mlp.load(filename=filename)

View File

@ -212,12 +212,12 @@ def develop_pypolymlp(
".xz",
".gz",
".bz2",
"lzma",
".lzma",
]:
continue
if log_level:
print(f'Load MLPs from "{mlp_filename}".')
ph3py.load_mlp(mlp_filename)
print(f'Load MLPs from "{_mlp_filename}".')
ph3py.load_mlp(_mlp_filename)
mlp_loaded = True
if log_level and mlp_filename == "phono3py.pmlp":
print(f'Loading MLPs from "{_mlp_filename}" is obsolete.')

View File

@ -438,7 +438,6 @@ def compute_force_constants_from_datasets(
fc3_calc_opts, cutoff_pair_distance
)
fc2_calc_opts = extract_fc2_fc3_calculators_options(fc_calculator_options, 2)
exist_fc2 = ph3py.fc2 is not None
if ph3py.fc3 is None and forces_in_dataset(ph3py.dataset):
ph3py.produce_fc3(
symmetrize_fc3r=symmetrize_fc,
@ -448,7 +447,7 @@ def compute_force_constants_from_datasets(
use_symfc_projector=load_phono3py_yaml,
)
if not exist_fc2:
if ph3py.fc2 is None or fc3_calculator != fc2_calculator:
if (
ph3py.phonon_supercell_matrix is None and forces_in_dataset(ph3py.dataset)
) or (

View File

@ -34,4 +34,4 @@
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
__version__ = "3.17.1"
__version__ = "3.18.0"