diff --git a/.github/workflows/phono3py-pytest-conda-nolapacke.yml b/.github/workflows/phono3py-pytest-conda-nolapacke.yml index 52d42829..a114f4e4 100644 --- a/.github/workflows/phono3py-pytest-conda-nolapacke.yml +++ b/.github/workflows/phono3py-pytest-conda-nolapacke.yml @@ -25,6 +25,13 @@ jobs: conda activate test conda install --yes python=${{ matrix.python-version }} conda install --yes matplotlib-base pyyaml h5py scipy pytest spglib cmake c-compiler cxx-compiler + - name: Install symfc develop branch + run: | + conda activate test + git clone --depth 1 https://github.com/symfc/symfc.git + cd symfc + pip install -e . -vvv + cd .. - name: Install phonopy develop branch run: | conda activate test diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a2a8794d..1e0a12eb 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -11,7 +11,7 @@ repos: exclude: ^example/AlN-LDA/ - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.8.1 + rev: v0.8.2 hooks: - id: ruff args: [ "--fix", "--show-fixes" ] diff --git a/doc/changelog.md b/doc/changelog.md index 8f68a567..404499f6 100644 --- a/doc/changelog.md +++ b/doc/changelog.md @@ -2,6 +2,10 @@ # Change Log +## Dec-6-2024: Version 3.10.0 + +- Update to follow the change of phonopy's internal functions + ## Dec-6-2024: Version 3.9.0 - Update to follow the change of phonopy's internal functions diff --git a/doc/conf.py b/doc/conf.py index 5d421078..4f382595 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -58,9 +58,9 @@ # built documents. # # The short X.Y version. -version = "3.9" +version = "3.10" # The full version, including alpha/beta/rc tags. -release = "3.9.0" +release = "3.10.0" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/phono3py/api_phono3py.py b/phono3py/api_phono3py.py index a1dc63d4..f6b37d2f 100644 --- a/phono3py/api_phono3py.py +++ b/phono3py/api_phono3py.py @@ -1531,20 +1531,14 @@ def produce_fc2( if not forces_in_dataset(disp_dataset): raise RuntimeError("Forces are not set in the dataset.") - if is_compact_fc: - p2s_map = self._phonon_primitive.p2s_map - else: - p2s_map = None - self._fc2 = get_fc2( self._phonon_supercell, - self._phonon_primitive, disp_dataset, + primitive=self._phonon_primitive, fc_calculator=fc_calculator, fc_calculator_options=fc_calculator_options, - atom_list=p2s_map, + is_compact_fc=is_compact_fc, symmetry=self._phonon_supercell_symmetry, - symprec=self._symprec, log_level=self._log_level, ) diff --git a/phono3py/conductivity/__init__.py b/phono3py/conductivity/__init__.py deleted file mode 100644 index 587beeca..00000000 --- a/phono3py/conductivity/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Thermal conductivity related modules.""" diff --git a/phono3py/cui/__init__.py b/phono3py/cui/__init__.py deleted file mode 100644 index ef701ecd..00000000 --- a/phono3py/cui/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Command user interface related routines.""" diff --git a/phono3py/interface/__init__.py b/phono3py/interface/__init__.py deleted file mode 100644 index 857b8148..00000000 --- a/phono3py/interface/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Interfaces to routines and data structures.""" diff --git a/phono3py/interface/alm.py b/phono3py/interface/alm.py deleted file mode 100644 index 91292761..00000000 --- a/phono3py/interface/alm.py +++ /dev/null @@ -1,59 +0,0 @@ -"""ALM interface for force constants calculation.""" - -# Copyright (C) 2016 Atsushi Togo -# All rights reserved. -# -# This file is part of phono3py. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# -# * Neither the name of the phonopy project nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. - -from phonopy.interface.alm import run_alm - - -def get_fc3( - supercell, - primitive, - displacements, - forces, - options=None, - is_compact_fc=False, - log_level=0, -): - """Calculate fc3 using ALM.""" - return run_alm( - supercell, - primitive, - displacements, - forces, - 2, - is_compact_fc=is_compact_fc, - options=options, - log_level=log_level, - ) diff --git a/phono3py/interface/fc_calculator.py b/phono3py/interface/fc_calculator.py index ecdbc2b7..5fbddd29 100644 --- a/phono3py/interface/fc_calculator.py +++ b/phono3py/interface/fc_calculator.py @@ -55,13 +55,7 @@ def get_fc3( symmetry: Optional[Symmetry] = None, log_level: int = 0, ): - """Supercell 2nd order force constants (fc2) are calculated. - - The expected shape of supercell fc3 to be returned is - (len(atom_list), num_atoms, num_atom, 3, 3, 3), - where atom_list is either all atoms in primitive cell or supercell, - which is chosen by is_compact_fc=True for primitive cell and False for - supercell. + """Calculate 2upercell 2nd and 3rd order force constants. Parameters ---------- @@ -86,31 +80,28 @@ def get_fc3( Returns ------- - fc3 : ndarray - 3rd order force constants. - shape=(len(atom_list), num_atoms, num_atoms, 3, 3, 3) - dtype='double', order='C'. - Here atom_list is either all atoms in primitive cell or supercell, - which is chosen by is_compact_fc=True for primitive cell and False - for supercell. + (fc2, fc3) : tuple[ndarray] + 2nd and 3rd order force constants. """ if fc_calculator == "alm": - from phono3py.interface.alm import get_fc3 as get_fc3_alm + from phonopy.interface.alm import run_alm - return get_fc3_alm( + fc = run_alm( supercell, primitive, displacements, forces, + 2, options=fc_calculator_options, is_compact_fc=is_compact_fc, log_level=log_level, ) + return fc[2], fc[3] elif fc_calculator == "symfc": from phonopy.interface.symfc import run_symfc - return run_symfc( + fc = run_symfc( supercell, primitive, displacements, @@ -121,6 +112,7 @@ def get_fc3( options=fc_calculator_options, log_level=log_level, ) + return fc[2], fc[3] else: msg = "Force constants calculator of %s was not found ." % fc_calculator raise RuntimeError(msg) diff --git a/phono3py/other/__init__.py b/phono3py/other/__init__.py deleted file mode 100644 index 2cea0f50..00000000 --- a/phono3py/other/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Routines for various scatterings.""" diff --git a/phono3py/phonon/__init__.py b/phono3py/phonon/__init__.py deleted file mode 100644 index f2e13216..00000000 --- a/phono3py/phonon/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Routines for harmonic phonon related properties.""" diff --git a/phono3py/phonon3/__init__.py b/phono3py/phonon3/__init__.py deleted file mode 100644 index 9f1a03af..00000000 --- a/phono3py/phonon3/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Ph-ph interaction related routines.""" diff --git a/phono3py/sscha/__init__.py b/phono3py/sscha/__init__.py deleted file mode 100644 index b3fbc75c..00000000 --- a/phono3py/sscha/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Routines for SSCHA.""" diff --git a/phono3py/version.py b/phono3py/version.py index d2f316b5..96450c2b 100644 --- a/phono3py/version.py +++ b/phono3py/version.py @@ -34,4 +34,4 @@ # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -__version__ = "3.9.0" +__version__ = "3.10.0" diff --git a/pyproject.toml b/pyproject.toml index 910ddb95..c178490f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,7 @@ dependencies = [ "matplotlib", "h5py", "spglib", - "phonopy>=2.32,<2.33", + "phonopy>=2.33,<2.34", ] license = { file = "LICENSE" } diff --git a/test/conductivity/__init__.py b/test/conductivity/__init__.py deleted file mode 100644 index d9c1a66e..00000000 --- a/test/conductivity/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests for conductivity routines.""" diff --git a/test/other/__init__.py b/test/other/__init__.py deleted file mode 100644 index 4c09bb81..00000000 --- a/test/other/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests for various scatterings.""" diff --git a/test/phonon/__init__.py b/test/phonon/__init__.py deleted file mode 100644 index 1f598a8a..00000000 --- a/test/phonon/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests for harmonic phonon level properties.""" diff --git a/test/phonon3/__init__.py b/test/phonon3/__init__.py deleted file mode 100644 index 8349aa86..00000000 --- a/test/phonon3/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests for ph-ph interaction routines.""" diff --git a/test/sscha/__init__.py b/test/sscha/__init__.py deleted file mode 100644 index 90db4b31..00000000 --- a/test/sscha/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Tests for SSCHA."""