mirror of https://github.com/phonopy/phono3py.git
Merge branch 'develop' into publish-gh-pages
This commit is contained in:
commit
84451d493e
|
@ -11,7 +11,7 @@ repos:
|
|||
- id: check-added-large-files
|
||||
|
||||
- repo: https://github.com/pycqa/flake8
|
||||
rev: 6.1.0
|
||||
rev: 7.0.0
|
||||
hooks:
|
||||
- id: flake8
|
||||
args:
|
||||
|
@ -19,7 +19,7 @@ repos:
|
|||
- "--ignore=E203,W503"
|
||||
|
||||
- repo: https://github.com/psf/black
|
||||
rev: 23.12.0
|
||||
rev: 24.1.1
|
||||
hooks:
|
||||
- id: black
|
||||
args:
|
||||
|
|
|
@ -2,6 +2,10 @@
|
|||
|
||||
# Change Log
|
||||
|
||||
## Feb-2-2024: Version 2.9.2
|
||||
|
||||
- `boundary_mfp` value is stored in `kappa-*.hdf5` file when it is specified.
|
||||
|
||||
## Dec-26-2023: Version 2.9.1
|
||||
|
||||
- Release to build conda-forge package.
|
||||
|
|
|
@ -571,6 +571,8 @@ Then running with isotope calculation:
|
|||
In the result hdf5 file, currently isotope scattering strength is not written
|
||||
out, i.e., `gamma` is still imaginary part of self energy of ph-ph scattering.
|
||||
|
||||
(boundary_mfp_option)=
|
||||
|
||||
### `--boundary-mfp`, `--bmfp` (`BOUNDARY_MFP`)
|
||||
|
||||
A most simple phonon boundary scattering treatment is included. $v_g/L$ is just
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Sphinx phono3py configuration file."""
|
||||
|
||||
#
|
||||
# phono3py documentation build configuration file, created by
|
||||
# sphinx-quickstart on Wed Jun 26 13:13:14 2013.
|
||||
|
@ -59,7 +60,7 @@ copyright = "2015, Atsushi Togo"
|
|||
# The short X.Y version.
|
||||
version = "2.9"
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = "2.9.1"
|
||||
release = "2.9.2"
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
|
|
@ -123,8 +123,9 @@ The array shape is (irreducible q-point, phonon band).
|
|||
(kappa_hdf5_file_gamma)=
|
||||
### gamma
|
||||
|
||||
Imaginary part of self energy. The physical unit is THz, where THz
|
||||
is in the ordinal frequency not the angular frequency.
|
||||
Imaginary part of self energy of phonon bubble diagram (phonon-phonon
|
||||
scattering). The physical unit is THz, where THz is in the ordinal frequency not
|
||||
the angular frequency.
|
||||
|
||||
The array shape for all grid-points (irreducible q-points) is
|
||||
(temperature, irreducible q-point, phonon band).
|
||||
|
@ -262,9 +263,16 @@ P_{\mathbf{q}j} = \frac{1}{(3n_\mathrm{a})^2} \sum_{\lambda'\lambda''}
|
|||
$$
|
||||
|
||||
This is not going to be calculated in the RTA thermal coductivity
|
||||
calculation mode by default. To calculate this, `--full_pp` option
|
||||
calculation mode by default. To calculate this, `--full-pp` option
|
||||
has to be specified (see {ref}`full_pp_option`).
|
||||
|
||||
### boundary_mfp
|
||||
|
||||
A value specified by {ref}`boundary_mfp_option`. The physical unit is
|
||||
micrometre.
|
||||
|
||||
When `--boundary-mfp` option is explicitly specified, its value is stored here.
|
||||
|
||||
### kappa_unit_conversion
|
||||
|
||||
This is used to convert the physical unit of lattice thermal
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Example to run thermal conductivity of Si."""
|
||||
|
||||
import numpy as np
|
||||
from phonopy.interface.vasp import read_vasp
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Launch script of ZnTe AiiDA calculation using aiida-phononpy."""
|
||||
|
||||
from aiida.engine import submit
|
||||
from aiida.manage.configuration import load_profile
|
||||
from aiida.orm import Bool, Float, Str
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Shortcuts to important classes, methods, and variables."""
|
||||
|
||||
# Copyright (C) 2019 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""API for isotope scattering."""
|
||||
|
||||
# Copyright (C) 2019 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""API for joint-density-of-states calculation."""
|
||||
|
||||
# Copyright (C) 2019 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Phono3py main class."""
|
||||
|
||||
# Copyright (C) 2016 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Thermal conductivity base class."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
@ -375,6 +376,8 @@ class ConductivityBase(ABC):
|
|||
volume = self._pp.primitive.volume
|
||||
self._conversion_factor = unit_to_WmK / volume
|
||||
|
||||
self._averaged_pp_interaction = None
|
||||
|
||||
# `self._velocity_obj` is the instance of an inherited class of
|
||||
# `GroupVelocity`. `self._init_velocity()` is the method setup the instance,
|
||||
# which must be implmented in the inherited class of `ConductivityBase`.
|
||||
|
@ -632,6 +635,11 @@ class ConductivityBase(ABC):
|
|||
)
|
||||
return self.averaged_pp_interaction
|
||||
|
||||
@property
|
||||
def boundary_mfp(self) -> float:
|
||||
"""Return boundary MFP."""
|
||||
return self._boundary_mfp
|
||||
|
||||
def get_number_of_sampling_grid_points(self):
|
||||
"""Return number of grid points.
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Calculate lattice thermal conductivity by direct solution."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
@ -108,7 +109,6 @@ class ConductivityLBTEBase(ConductivityBase):
|
|||
self._init_velocity(gv_delta_q)
|
||||
|
||||
self._lang = lang
|
||||
self._averaged_pp_interaction = None
|
||||
self._collision_eigenvalues = None
|
||||
self._is_reducible_collision_matrix = is_reducible_collision_matrix
|
||||
self._solve_collective_phonon = solve_collective_phonon
|
||||
|
@ -517,9 +517,9 @@ class ConductivityLBTEBase(ConductivityBase):
|
|||
else:
|
||||
i_data = 0
|
||||
self._gamma[j, k, i_data] = self._collision.imag_self_energy
|
||||
self._collision_matrix[
|
||||
j, k, i_data
|
||||
] = self._collision.get_collision_matrix()
|
||||
self._collision_matrix[j, k, i_data] = (
|
||||
self._collision.get_collision_matrix()
|
||||
)
|
||||
|
||||
def _prepare_collision_matrix(self):
|
||||
"""Collect pieces and construct collision matrix."""
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Kubo thermal conductivity base class."""
|
||||
|
||||
# Copyright (C) 2022 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Lattice thermal conductivity calculation with RTA."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
@ -97,7 +98,6 @@ class ConductivityRTABase(ConductivityBase):
|
|||
self._gamma_detail_at_q = None
|
||||
self._use_ave_pp = use_ave_pp
|
||||
self._use_const_ave_pp = None
|
||||
self._averaged_pp_interaction = None
|
||||
self._num_ignored_phonon_modes = None
|
||||
|
||||
super().__init__(
|
||||
|
@ -298,9 +298,9 @@ class ConductivityRTABase(ConductivityBase):
|
|||
self._gamma_N[j, k, i] = g_N
|
||||
self._gamma_U[j, k, i] = g_U
|
||||
if self._is_gamma_detail:
|
||||
self._gamma_detail_at_q[
|
||||
k
|
||||
] = self._collision.get_detailed_imag_self_energy()
|
||||
self._gamma_detail_at_q[k] = (
|
||||
self._collision.get_detailed_imag_self_energy()
|
||||
)
|
||||
|
||||
def _set_gamma_at_sigmas_lowmem(self, i):
|
||||
"""Calculate gamma without storing ph-ph interaction strength.
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Utilities for lattice thermal conductivity calculation."""
|
||||
|
||||
# Copyright (C) 2022 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
@ -268,6 +269,7 @@ class ConductivityRTAWriter:
|
|||
qpoints = br.qpoints
|
||||
grid_points = br.grid_points
|
||||
weights = br.grid_weights
|
||||
boundary_mfp = br.boundary_mfp
|
||||
|
||||
for i, sigma in enumerate(sigmas):
|
||||
if kappa is None:
|
||||
|
@ -314,6 +316,7 @@ class ConductivityRTAWriter:
|
|||
write_kappa_to_hdf5(
|
||||
temperatures,
|
||||
mesh,
|
||||
boundary_mfp=boundary_mfp,
|
||||
bz_grid=bz_grid,
|
||||
frequency=frequencies,
|
||||
group_velocity=gv,
|
||||
|
@ -487,13 +490,13 @@ class ConductivityLBTEWriter:
|
|||
@staticmethod
|
||||
def write_kappa(
|
||||
lbte: "cond_LBTE_type",
|
||||
volume,
|
||||
is_reducible_collision_matrix=False,
|
||||
write_LBTE_solution=False,
|
||||
pinv_solver=None,
|
||||
compression="gzip",
|
||||
filename=None,
|
||||
log_level=0,
|
||||
volume: float,
|
||||
is_reducible_collision_matrix: bool = False,
|
||||
write_LBTE_solution: bool = False,
|
||||
pinv_solver: Optional[int] = None,
|
||||
compression: str = "gzip",
|
||||
filename: Optional[str] = None,
|
||||
log_level: int = 0,
|
||||
):
|
||||
"""Write kappa related properties into a hdf5 file."""
|
||||
from phono3py.conductivity.direct_solution import (
|
||||
|
@ -546,6 +549,7 @@ class ConductivityLBTEWriter:
|
|||
f_vector = lbte.get_f_vectors()
|
||||
mode_cv = lbte.mode_heat_capacities
|
||||
mfp = lbte.get_mean_free_path()
|
||||
boundary_mfp = lbte.boundary_mfp
|
||||
|
||||
coleigs = lbte.get_collision_eigenvalues()
|
||||
# After kappa calculation, the variable is overwritten by unitary matrix
|
||||
|
@ -612,6 +616,7 @@ class ConductivityLBTEWriter:
|
|||
write_kappa_to_hdf5(
|
||||
temperatures,
|
||||
mesh,
|
||||
boundary_mfp=boundary_mfp,
|
||||
bz_grid=bz_grid,
|
||||
frequency=frequencies,
|
||||
group_velocity=gv,
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Wigner thermal conductivity base class."""
|
||||
|
||||
# Copyright (C) 2022 Michele Simoncelli
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Force constants calculation utilities for command line user interface."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Utilities of main CUI script."""
|
||||
|
||||
# Copyright (C) 2015 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Phono3py kaccum command line script."""
|
||||
|
||||
import argparse
|
||||
import sys
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Phono3py loader."""
|
||||
|
||||
# Copyright (C) 2019 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Phono3py command option argument parser."""
|
||||
|
||||
# Copyright (C) 2015 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Phono3py main command line script."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Phono3py command option and conf file parser."""
|
||||
|
||||
# Copyright (C) 2015 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Utilities to show various logs for main CUI script."""
|
||||
|
||||
# Copyright (C) 2015 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Show and write triplets information."""
|
||||
|
||||
# Copyright (C) 2015 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""File I/O methods."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
@ -32,9 +33,12 @@
|
|||
# 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 __future__ import annotations
|
||||
|
||||
import os
|
||||
import warnings
|
||||
from collections.abc import Sequence
|
||||
from typing import Optional, Union
|
||||
|
||||
import h5py
|
||||
import numpy as np
|
||||
|
@ -918,6 +922,7 @@ def write_collision_eigenvalues_to_hdf5(
|
|||
def write_kappa_to_hdf5(
|
||||
temperature,
|
||||
mesh,
|
||||
boundary_mfp: float = None,
|
||||
bz_grid=None,
|
||||
frequency=None,
|
||||
group_velocity=None,
|
||||
|
@ -1058,6 +1063,8 @@ def write_kappa_to_hdf5(
|
|||
w.create_dataset("sigma_cutoff_width", data=sigma_cutoff)
|
||||
if kappa_unit_conversion is not None:
|
||||
w.create_dataset("kappa_unit_conversion", data=kappa_unit_conversion)
|
||||
if boundary_mfp is not None:
|
||||
w.create_dataset("boundary_mfp", data=boundary_mfp)
|
||||
|
||||
if verbose:
|
||||
text = "Thermal conductivity related properties "
|
||||
|
@ -1720,12 +1727,12 @@ def get_length_of_first_line(f):
|
|||
|
||||
def _get_filename_suffix(
|
||||
mesh,
|
||||
grid_point=None,
|
||||
band_indices=None,
|
||||
sigma=None,
|
||||
sigma_cutoff=None,
|
||||
temperature=None,
|
||||
filename=None,
|
||||
grid_point: Optional[int] = None,
|
||||
band_indices: Optional[Union[np.ndarray, Sequence]] = None,
|
||||
sigma: Optional[float] = None,
|
||||
sigma_cutoff: Optional[float] = None,
|
||||
temperature: Optional[float] = None,
|
||||
filename: Optional[str] = None,
|
||||
):
|
||||
"""Return filename suffix corresponding to parameters."""
|
||||
suffix = "-m%d%d%d" % tuple(mesh)
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""ALM interface for force constants calculation."""
|
||||
|
||||
# Copyright (C) 2016 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Utilities of calculator interfaces."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Interfaces for force constants calculators."""
|
||||
|
||||
# Copyright (C) 2019 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""phono3py_yaml reader and writer."""
|
||||
|
||||
# Copyright (C) 2016 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Isotope scattering calculation."""
|
||||
|
||||
# Copyright (C) 2015 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Calculated accumulated property with respect to other property."""
|
||||
|
||||
from typing import Optional
|
||||
|
||||
import numpy as np
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Tetrahedron method python wrapper."""
|
||||
|
||||
# Copyright (C) 2021 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Mathematical functions."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Regular grid tools."""
|
||||
|
||||
# Copyright (C) 2021 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Calculate group velocity matrix."""
|
||||
|
||||
# Copyright (C) 2021 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Calculate group velocity matrix."""
|
||||
|
||||
# Copyright (C) 2021 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Create dynamical matrix and solve harmonic phonons on grid."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Velocity operator of Simoncelli, Marzari, and Mauri."""
|
||||
|
||||
# Copyright (C) 2013 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Calculate collision matrix of direct solution of LBTE."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Parse displacement dataset."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Procedures to handle atomic displacements for fc3."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Calculate fc3."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Calculation of mode Grueneisen parameters from fc3."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Calculation of imaginary-part of self-energy of bubble diagram."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Calculate ph-ph interaction and phonons on grid."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Joint-density of states calculation."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Calculate real-part of self-energy of bubble diagram."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Transform fc3 in real space to reciprocal space."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Transform fc3 in reciprocal space to phonon space."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Calculate spectral function due to bubble diagram."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Utilities to handle q-point triplets."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Define phono3py version."""
|
||||
|
||||
# Copyright (C) 2020 Atsushi Togo
|
||||
# All rights reserved.
|
||||
#
|
||||
|
@ -33,4 +34,4 @@
|
|||
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
__version__ = "2.9.1"
|
||||
__version__ = "2.9.2"
|
||||
|
|
1
setup.py
1
setup.py
|
@ -7,6 +7,7 @@ To fully customize using site.cfg,
|
|||
set PHONO3PY_USE_CMAKE=false to avoid running cmake.
|
||||
|
||||
"""
|
||||
|
||||
import os
|
||||
import pathlib
|
||||
import shutil
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Tests of Phono3py API."""
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
from phono3py import Phono3py
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Tests for direct solution of LBTE."""
|
||||
|
||||
import numpy as np
|
||||
|
||||
from phono3py.api_phono3py import Phono3py
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Tests for direct solution of LBTE."""
|
||||
|
||||
import numpy as np
|
||||
import pytest
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Test for Conductivity_RTA.py."""
|
||||
|
||||
import itertools
|
||||
|
||||
import numpy as np
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Test for Conductivity_RTA.py."""
|
||||
|
||||
import itertools
|
||||
|
||||
import numpy as np
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Pytest conftest.py."""
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
import numpy as np
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Tests of Phono3py API."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
|
|
|
@ -0,0 +1,95 @@
|
|||
"""Tests of Phono3py API."""
|
||||
|
||||
import pathlib
|
||||
from collections.abc import Sequence
|
||||
from typing import Optional
|
||||
|
||||
import h5py
|
||||
import numpy as np
|
||||
|
||||
from phono3py import Phono3py
|
||||
from phono3py.file_IO import _get_filename_suffix
|
||||
|
||||
cwd = pathlib.Path(__file__).parent
|
||||
cwd_called = pathlib.Path.cwd()
|
||||
|
||||
|
||||
def test_kappa_filename():
|
||||
"""Test _get_filename_suffix."""
|
||||
mesh = [4, 4, 4]
|
||||
grid_point = None
|
||||
band_indices = None
|
||||
sigma = None
|
||||
sigma_cutoff = None
|
||||
filename = None
|
||||
suffix = _get_filename_suffix(
|
||||
mesh,
|
||||
grid_point=grid_point,
|
||||
band_indices=band_indices,
|
||||
sigma=sigma,
|
||||
sigma_cutoff=sigma_cutoff,
|
||||
filename=filename,
|
||||
)
|
||||
full_filename = "kappa" + suffix + ".hdf5"
|
||||
assert full_filename == "kappa-m444.hdf5"
|
||||
|
||||
|
||||
def test_kappa_hdf5_with_boundary_mpf(si_pbesol: Phono3py):
|
||||
"""Test boundary_mfp in kappa-*.hdf5.
|
||||
|
||||
Remember to clean files created by
|
||||
Phono3py.run_thermal_conductivity(write_kappa=True).
|
||||
|
||||
"""
|
||||
key_ref = [
|
||||
"boundary_mfp",
|
||||
"frequency",
|
||||
"gamma",
|
||||
"grid_point",
|
||||
"group_velocity",
|
||||
"gv_by_gv",
|
||||
"heat_capacity",
|
||||
"kappa",
|
||||
"kappa_unit_conversion",
|
||||
"mesh",
|
||||
"mode_kappa",
|
||||
"qpoint",
|
||||
"temperature",
|
||||
"version",
|
||||
"weight",
|
||||
]
|
||||
|
||||
boundary_mfp = 10000.0
|
||||
kappa_filename = _set_kappa(
|
||||
si_pbesol, [4, 4, 4], write_kappa=True, boundary_mfp=boundary_mfp
|
||||
)
|
||||
file_path = pathlib.Path(cwd_called / kappa_filename)
|
||||
with h5py.File(file_path, "r") as f:
|
||||
np.testing.assert_almost_equal(f["boundary_mfp"][()], boundary_mfp)
|
||||
assert set(list(f)) == set(key_ref)
|
||||
|
||||
if file_path.exists():
|
||||
file_path.unlink()
|
||||
|
||||
|
||||
def _set_kappa(
|
||||
ph3: Phono3py,
|
||||
mesh: Sequence,
|
||||
is_isotope: bool = False,
|
||||
is_full_pp: bool = False,
|
||||
write_kappa: bool = False,
|
||||
boundary_mfp: Optional[float] = None,
|
||||
) -> str:
|
||||
ph3.mesh_numbers = mesh
|
||||
ph3.init_phph_interaction()
|
||||
ph3.run_thermal_conductivity(
|
||||
temperatures=[
|
||||
300,
|
||||
],
|
||||
is_isotope=is_isotope,
|
||||
is_full_pp=is_full_pp,
|
||||
write_kappa=write_kappa,
|
||||
boundary_mfp=boundary_mfp,
|
||||
)
|
||||
suffix = _get_filename_suffix(mesh)
|
||||
return "kappa" + suffix + ".hdf5"
|
|
@ -1,4 +1,5 @@
|
|||
"""Tests of PhonopyYaml."""
|
||||
|
||||
from io import StringIO
|
||||
from pathlib import Path
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Tests for isotope scatterings."""
|
||||
|
||||
import numpy as np
|
||||
import pytest
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Test for kaccum.py."""
|
||||
|
||||
import numpy as np
|
||||
|
||||
from phono3py import Phono3py
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Tests for grids."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import numpy as np
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Tests for velocity operator calculation."""
|
||||
|
||||
import numpy as np
|
||||
from phonopy import Phonopy
|
||||
from phonopy.units import THzToCm, VaspToTHz
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Tests of displacements.py."""
|
||||
|
||||
import numpy as np
|
||||
|
||||
import phono3py
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Tests for fc3."""
|
||||
|
||||
import numpy as np
|
||||
import pytest
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Test for imag_free_energy.py."""
|
||||
|
||||
import numpy as np
|
||||
import pytest
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Test Interaction class."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from collections.abc import Sequence
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Tests for joint-density-of-states."""
|
||||
|
||||
import numpy as np
|
||||
import pytest
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Test for real_self_energy.py."""
|
||||
|
||||
import numpy as np
|
||||
|
||||
from phono3py import Phono3py
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Test spectral_function.py."""
|
||||
|
||||
import numpy as np
|
||||
import pytest
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Test for triplets.py."""
|
||||
|
||||
import numpy as np
|
||||
import pytest
|
||||
from phonopy import Phonopy
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
"""Tests for SSCHA routines."""
|
||||
|
||||
import numpy as np
|
||||
import pytest
|
||||
from phonopy.phonon.qpoints import QpointsPhonon
|
||||
|
|
Loading…
Reference in New Issue