diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ed3354de..935d4531 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,45 +1,55 @@ -# See https://pre-commit.com for more informatio +# See https://pre-commit.com for more information # See https://pre-commit.com/hooks.html for more hooks repos: -- repo: https://github.com/pre-commit/pre-commit-hooks - rev: v5.0.0 - hooks: - - id: trailing-whitespace - - id: end-of-file-fixer - - id: check-yaml - - id: check-added-large-files - exclude: ^example/AlN-LDA/ + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v5.0.0 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-yaml + - id: check-added-large-files + exclude: ^example/AlN-LDA/ -- repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.9.4 - hooks: - - id: ruff - args: [ "--fix", "--show-fixes" ] - - id: ruff-format + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.9.4 + hooks: + - id: ruff + args: [ "--fix", "--show-fixes" ] + - id: ruff-format -- repo: https://github.com/Takishima/cmake-pre-commit-hooks - rev: v1.9.6 - hooks: - - id: clang-format - args: - - '-B_build-pre-commit' - - '-DWITH_Fortran=ON' - - '-DWITH_TESTS=ON' - - '-i' - stages: [manual] - - id: clang-tidy - args: - - '-B_build-pre-commit' - - '-DWITH_Fortran=ON' - - '-DWITH_TESTS=ON' - # - '--' - # - '-I/Users/togo/.miniforge/envs/dev/include' - # - '-I/Users/togo/.miniforge/envs/dev/include/python3.10' - # - '-I/Users/togo/.miniforge/envs/dev/lib/python3.10/site-packages/numpy/core/include' - stages: [manual] + - repo: https://github.com/Takishima/cmake-pre-commit-hooks + rev: v1.9.6 + hooks: + - id: clang-format + args: + - "-B_build-pre-commit" + - "-DWITH_Fortran=ON" + - "-DWITH_TESTS=ON" + - "-i" + stages: [manual] + - id: clang-tidy + args: + - "-B_build-pre-commit" + - "-DWITH_Fortran=ON" + - "-DWITH_TESTS=ON" + # "- --" + # "- -I/Users/togo/.miniforge/envs/dev/include" + # "- -I/Users/togo/.miniforge/envs/dev/include/python3.10" + # "- -I/Users/togo/.miniforge/envs/dev/lib/python3.10/site-packages/numpy/core/include" + stages: [manual] -- repo: https://github.com/cheshirekow/cmake-format-precommit - rev: v0.6.13 - hooks: - - id: cmake-format - - id: cmake-lint + - repo: https://github.com/cheshirekow/cmake-format-precommit + rev: v0.6.13 + hooks: + - id: cmake-format + - id: cmake-lint + + - repo: https://github.com/codespell-project/codespell + rev: v2.4.1 + hooks: + - id: codespell + stages: [pre-commit, commit-msg] + args: + - --ignore-words-list + - "te,groth,skelton,inout,mater" + - --check-filenames diff --git a/c/grgrid.c b/c/grgrid.c index 20ce201a..429b734e 100644 --- a/c/grgrid.c +++ b/c/grgrid.c @@ -162,7 +162,7 @@ void grg_get_double_grid_address(int64_t address_double[3], /* -------------------------------------------------------*/ /* Get address in single grid from address in double grid */ /* -------------------------------------------------------*/ -/* This function shifts double-grid adress by PS and divides it by 2. */ +/* This function shifts double-grid address by PS and divides it by 2. */ /* No modulo operation is applied to returned single-grid address. */ /* address : Single grid address. */ /* address_double : Double grid address. */ diff --git a/c/gridsys.c b/c/gridsys.c index 0421fb94..067ebf66 100644 --- a/c/gridsys.c +++ b/c/gridsys.c @@ -266,7 +266,7 @@ int64_t gridsys_get_thm_relative_grid_address( return thm_get_relative_grid_address(relative_grid_addresses, rec_lattice); } -/* relative_grid_addresses are given as P multipled with those from */ +/* relative_grid_addresses are given as P multiplied with those from */ /* dataset, i.e., */ /* np.dot(relative_grid_addresses, P.T) */ int64_t gridsys_get_integration_weight( diff --git a/c/gridsys.h b/c/gridsys.h index fb98bdff..6c427688 100644 --- a/c/gridsys.h +++ b/c/gridsys.h @@ -140,7 +140,7 @@ int64_t gridsys_get_reciprocal_point_group(int64_t rec_rotations[48][3][3], /** * @brief Return D, P, Q of Smith normal form of A. * - * @param D_diag Diagonal elements of diagnoal matrix D + * @param D_diag Diagonal elements of diagonal matrix D * @param P Unimodular matrix P * @param Q Unimodular matrix Q * @param A Integer matrix @@ -157,7 +157,7 @@ int64_t gridsys_get_snf3x3(int64_t D_diag[3], int64_t P[3][3], int64_t Q[3][3], * {tilde-R^T} * @param rotations Original rotations matrices in reciprocal space {R^T} * @param num_rot Number of rotation matrices - * @param D_diag Diagonal elements of diagnoal matrix D of Smith normal form + * @param D_diag Diagonal elements of diagonal matrix D of Smith normal form * @param Q Unimodular matrix Q of Smith normal form * @return int64_t */ @@ -174,7 +174,7 @@ int64_t gridsys_transform_rotations(int64_t (*transformed_rots)[3][3], * array size of prod(D_diag) * @param rotations Transformed rotation matrices in reciprocal space * @param num_rot Number of rotation matrices - * @param D_diag Diagonal elements of diagnoal matrix D of Smith normal form + * @param D_diag Diagonal elements of diagonal matrix D of Smith normal form * @param PS Shift in GR-grid */ void gridsys_get_ir_grid_map(int64_t *ir_grid_map, @@ -193,7 +193,7 @@ void gridsys_get_ir_grid_map(int64_t *ir_grid_map, * @param bzg2grg Mapping table of bz_grid_addresses to gr_grid_addresses. In * type-II, len(bzg2grg) == len(bz_grid_addresses) <= (D_diag[0] + 1) * * (D_diag[1] + 1) * (D_diag[2] + 1). - * @param D_diag Diagonal elements of diagnoal matrix D of Smith normal form + * @param D_diag Diagonal elements of diagonal matrix D of Smith normal form * @param Q Unimodular matrix Q of Smith normal form * @param PS Shift in GR-grid * @param rec_lattice Reduced reciprocal basis vectors in column vectors @@ -211,7 +211,7 @@ int64_t gridsys_get_bz_grid_addresses( * * @param bz_grid_index BZ grid point index * @param rotation Transformed rotation in reciprocal space tilde-R^T - * @param bz_grid_addresses BZ grid point adddresses + * @param bz_grid_addresses BZ grid point addresses * @param bz_map List of accumulated numbers of BZ grid points from the * first GR grid point to the last grid point. In type-II, [0, 1, 3, 4, ...] * means multiplicities of [1, 2, 1, ...], with len(bz_map)=product(D_diag) + 1. @@ -234,7 +234,7 @@ int64_t gridsys_rotate_bz_grid_index( * @param map_q Mapping table from all grid points to grid point indices of * irreducible q-points under the stabilizer subgroup of q * @param grid_index Grid point index of q in GR-grid - * @param D_diag Diagonal elements of diagnoal matrix D of Smith normal form + * @param D_diag Diagonal elements of diagonal matrix D of Smith normal form * @param is_time_reversal With (1) or without (0) time reversal symmetry * @param num_rot Number of rotation matrices * @param rec_rotations Transformed rotation matrices in reciprocal space @@ -262,7 +262,7 @@ int64_t gridsys_get_triplets_at_q(int64_t *map_triplets, int64_t *map_q, * @param map_triplets Mapping table from all grid points to grid points of * independent q' * @param num_map_triplets First dimension of map_triplets - * @param D_diag Diagonal elements of diagnoal matrix D of Smith normal form + * @param D_diag Diagonal elements of diagonal matrix D of Smith normal form * @param Q Unimodular matrix Q of Smith normal form * @param bz_grid_type Data structure type I (old and sparse) or II (new and * dense, recommended) of bz_map diff --git a/c/imag_self_energy_with_g.c b/c/imag_self_energy_with_g.c index a1954245..f268416a 100644 --- a/c/imag_self_energy_with_g.c +++ b/c/imag_self_energy_with_g.c @@ -115,7 +115,7 @@ void ise_get_imag_self_energy_with_g( /** * g_pos contains the indices of g that are known non-zeros in series. * - * ise_set_g_pos works for frquency points as bands. + * ise_set_g_pos works for frequency points as bands. * set_g_pos_frequency_point works for frequency sampling mode. */ g_pos = (int64_t(*)[4])malloc(sizeof(int64_t[4]) * num_band_prod); diff --git a/c/phono3py.c b/c/phono3py.c index cc0a5d33..25d6e1fd 100644 --- a/c/phono3py.c +++ b/c/phono3py.c @@ -435,7 +435,7 @@ int64_t ph3py_get_BZ_triplets_at_q( return num_ir; } -/* relative_grid_addresses are given as P multipled with those from dataset, +/* relative_grid_addresses are given as P multiplied with those from dataset, * i.e., * np.dot(relative_grid_addresses, P.T) */ int64_t ph3py_get_integration_weight( @@ -601,7 +601,7 @@ void ph3py_get_relative_grid_address(int64_t relative_grid_address[24][4][3], /* tpi_get_neighboring_grid_points around multiple grid points for using * openmp * - * relative_grid_addresses are given as P multipled with those from dataset, + * relative_grid_addresses are given as P multiplied with those from dataset, * i.e., * np.dot(relative_grid_addresses, P.T) */ int64_t ph3py_get_neighboring_gird_points( @@ -644,7 +644,7 @@ int64_t ph3py_get_neighboring_gird_points( /* thm_get_integration_weight at multiple grid points for using openmp * - * relative_grid_addresses are given as P multipled with those from dataset, + * relative_grid_addresses are given as P multiplied with those from dataset, * i.e., * np.dot(relative_grid_addresses, P.T) */ int64_t ph3py_get_thm_integration_weights_at_grid_points( diff --git a/c/recgrid.h b/c/recgrid.h index b8792839..7f3b4776 100644 --- a/c/recgrid.h +++ b/c/recgrid.h @@ -198,7 +198,7 @@ int64_t recgrid_get_reciprocal_point_group(int64_t rec_rotations[48][3][3], /** * @brief Return D, P, Q of Smith normal form of A. * - * @param D_diag Diagonal elements of diagnoal matrix D + * @param D_diag Diagonal elements of diagonal matrix D * @param P Unimodular matrix P * @param Q Unimodular matrix Q * @param A Integer matrix @@ -215,7 +215,7 @@ int64_t recgrid_get_snf3x3(int64_t D_diag[3], int64_t P[3][3], int64_t Q[3][3], * {tilde-R^T} * @param rotations Original rotations matrices in reciprocal space {R^T} * @param num_rot Number of rotation matrices - * @param D_diag Diagonal elements of diagnoal matrix D of Smith normal form + * @param D_diag Diagonal elements of diagonal matrix D of Smith normal form * @param Q Unimodular matrix Q of Smith normal form * @return int64_t */ @@ -232,7 +232,7 @@ int64_t recgrid_transform_rotations(int64_t (*transformed_rots)[3][3], * array size of prod(D_diag) * @param rotations Transformed rotation matrices in reciprocal space * @param num_rot Number of rotation matrices - * @param D_diag Diagonal elements of diagnoal matrix D of Smith normal form + * @param D_diag Diagonal elements of diagonal matrix D of Smith normal form * @param PS Shift in GR-grid * @return int64_t Number of ir_grid_points. */ @@ -252,7 +252,7 @@ int64_t recgrid_get_ir_grid_map(int64_t *ir_grid_map, * @param bzg2grg Mapping table of bz_grid_addresses to gr_grid_addresses. In * type-II, len(bzg2grg) == len(bz_grid_addresses) <= (D_diag[0] + 1) * * (D_diag[1] + 1) * (D_diag[2] + 1). - * @param D_diag Diagonal elements of diagnoal matrix D of Smith normal form + * @param D_diag Diagonal elements of diagonal matrix D of Smith normal form * @param Q Unimodular matrix Q of Smith normal form * @param PS Shift in GR-grid * @param rec_lattice Reduced reciprocal basis vectors in column vectors @@ -270,7 +270,7 @@ int64_t recgrid_get_bz_grid_addresses( * * @param bz_grid_index BZ grid point index * @param rotation Transformed rotation in reciprocal space tilde-R^T - * @param bz_grid_addresses BZ grid point adddresses + * @param bz_grid_addresses BZ grid point addresses * @param bz_map List of accumulated numbers of BZ grid points from the * first GR grid point to the last grid point. In type-II, [0, 1, 3, 4, ...] * means multiplicities of [1, 2, 1, ...], with len(bz_map)=product(D_diag) + 1. diff --git a/c/reciprocal_to_normal.c b/c/reciprocal_to_normal.c index 176dc33e..cd31f0c2 100644 --- a/c/reciprocal_to_normal.c +++ b/c/reciprocal_to_normal.c @@ -84,7 +84,7 @@ void reciprocal_to_normal_squared( double *inv_sqrt_masses; lapack_complex_double *e0, *e1, *e2; - /* Inverse sqrt mass is multipled with eigenvectors to reduce number + /* Inverse sqrt mass is multiplied with eigenvectors to reduce number * of */ /* operations in get_fc3_sum. Three eigenvector matrices are looped * by */ diff --git a/c/triplet.c b/c/triplet.c index e1acc155..0876fe93 100644 --- a/c/triplet.c +++ b/c/triplet.c @@ -1,7 +1,7 @@ /* Copyright (C) 2015 Atsushi Togo */ /* All rights reserved. */ -/* These codes were originally parts of spglib, but only develped */ +/* These codes were originally parts of spglib, but only developed */ /* and used for phono3py. Therefore these were moved from spglib to */ /* phono3py. This file is part of phonopy. */ diff --git a/c/triplet.h b/c/triplet.h index 616be49b..ee01d8df 100644 --- a/c/triplet.h +++ b/c/triplet.h @@ -1,7 +1,7 @@ /* Copyright (C) 2015 Atsushi Togo */ /* All rights reserved. */ -/* Some of these codes were originally parts of spglib, but only develped */ +/* Some of these codes were originally parts of spglib, but only developed */ /* and used for phono3py. Therefore these were moved from spglib to */ /* phono3py. This file is part of phonopy. */ diff --git a/c/triplet_grid.c b/c/triplet_grid.c index 0043021b..c562e8d6 100644 --- a/c/triplet_grid.c +++ b/c/triplet_grid.c @@ -1,7 +1,7 @@ /* Copyright (C) 2015 Atsushi Togo */ /* All rights reserved. */ -/* These codes were originally parts of spglib, but only develped */ +/* These codes were originally parts of spglib, but only developed */ /* and used for phono3py. Therefore these were moved from spglib to */ /* phono3py. This file is part of phonopy. */ diff --git a/c/triplet_grid.h b/c/triplet_grid.h index 53f791ec..4048a511 100644 --- a/c/triplet_grid.h +++ b/c/triplet_grid.h @@ -1,7 +1,7 @@ /* Copyright (C) 2015 Atsushi Togo */ /* All rights reserved. */ -/* These codes were originally parts of spglib, but only develped */ +/* These codes were originally parts of spglib, but only developed */ /* and used for phono3py. Therefore these were moved from spglib to */ /* phono3py. This file is part of phonopy. */ diff --git a/c/triplet_iw.c b/c/triplet_iw.c index 5fe2b4ff..9bdc6c52 100644 --- a/c/triplet_iw.c +++ b/c/triplet_iw.c @@ -195,7 +195,7 @@ void tpi_get_integration_weight_with_sigma( } /** - * @brief Return grid points of relative grid adddresses in BZ-grid + * @brief Return grid points of relative grid addresses in BZ-grid * * @param neighboring_grid_points Grid points of relative grid addresses in * BZ-grid. diff --git a/doc/README.md b/doc/README.md index 4eebb80c..38860142 100644 --- a/doc/README.md +++ b/doc/README.md @@ -4,30 +4,33 @@ This directory contains python-sphinx documentation source. ## How to compile -``` +```bash make html ``` ## Source files -* `conf.py` contains the sphinx setting confiuration. +* `conf.py` contains the sphinx setting configuration. * `*.rst` are the usual sphinx documentation source and the filenames without `.rst` are the keys to link from toctree mainly in `index.rst`. ## How to publish Web page files are copied to `gh-pages` branch. At the phono3py github top directory, -``` + +```bash git checkout gh-pages rm -r .buildinfo .doctrees * ``` From the directory the sphinx doc is complied, -``` + +```bash rsync -avh _build/ / ``` Again, at the phono3py github top directory, -``` + +```bash git add . git commit -a -m "Update documentation ..." git push diff --git a/doc/auxiliary-tools.md b/doc/auxiliary-tools.md index 52a44915..dda9d3d4 100644 --- a/doc/auxiliary-tools.md +++ b/doc/auxiliary-tools.md @@ -102,7 +102,7 @@ Number of points to be sampled in the x-axis. ### Options for tensor properties -For cummulative thermal conductivity, the last value is given as the thermal +For cumulative thermal conductivity, the last value is given as the thermal conductivity in W/mK. For the other properties, the last value is effectively the sum of values on all mesh grids divided by number of mesh grids. This is understood as normalized for one primitive cell. Before version 1.11.13.1, the diff --git a/doc/changelog.md b/doc/changelog.md index d7f53bbf..40b18195 100644 --- a/doc/changelog.md +++ b/doc/changelog.md @@ -2,6 +2,10 @@ # Change Log +## Feb-7-2025: Version 3.14.0 + +- Release to follow the change of phonopy + ## Feb-5-2025: Version 3.13.0 - Release to follow the change of phonopy @@ -151,7 +155,7 @@ This is a major version release. There are backward-incompatible changes. - Calculation method to transform supercell third-order force constants fc3 in real to reciprocal space was changed as described at {ref}`changelog_v290`. This results in the change of results with respect to those obtained by - phono3py version 2. To emulate v2 behaviour, use `--v2` option in phono3py + phono3py version 2. To emulate v2 behavior, use `--v2` option in phono3py command line script. For `Phono3py` class , `make_r0_average=True` (default) when instantiating it, and similarly for `phono3py.load` function. - Completely dropped support of `disp_fc3.yaml` and `disp_fc2.yaml`. @@ -179,7 +183,7 @@ This is a major version release. There are backward-incompatible changes. ## Dec-25-2023: Version 2.9.0 - Pre-release of version 3.0. -- `--v3` option enables phono3py version 3 behaviour. In phono3py-v3, it is +- `--v3` option enables phono3py version 3 behavior. In phono3py-v3, it is planned to replace $\sum_{l'l''}\Phi_{\alpha\beta\gamma}(0\kappa, l'\kappa', l''\kappa'') \cdots$ in Eq.(41) of by @@ -239,7 +243,7 @@ This is a major version release. There are backward-incompatible changes. - Installation using `setup.py` now requires creating `site.cfg` file. See and [PR #59](https://github.com/phonopy/phono3py/pull/59). -- Dorp python 3.6 support, and dependencies of numpy and matplotlib versions are +- Drop python 3.6 support, and dependencies of numpy and matplotlib versions are updated: - Python >= 3.7 @@ -269,9 +273,9 @@ This is a major version release. There are some backward-incompatible changes. from `dtype='intc'`. 3. Python 3.5 or later is required. -To emulate the version 1.x behaviour in `phono3py` command, try `--v1` option. -To emurate the version 1.x behaviour in API, specify `store_dense_gp_map=False` -and `store_dense_svecs=False` in instatiation of `Phono3py` class or phon3py +To emulate the version 1.x behavior in `phono3py` command, try `--v1` option. +To emurate the version 1.x behavior in API, specify `store_dense_gp_map=False` +and `store_dense_svecs=False` in instantiation of `Phono3py` class or phono3py loader. ## Mar-17-2021: Version 1.22.3 @@ -285,7 +289,7 @@ loader. ## Feb-21-2021: Version 1.22.1 - `phono3py` command didn't work. This was fixed. -- Fix behaviour when specifying `--thm` and `--sigma` simultaneously. +- Fix behavior when specifying `--thm` and `--sigma` simultaneously. ## Jan-29-2021: Version 1.22.0 @@ -370,7 +374,7 @@ loader. - Update to work with phonopy v1.14.2. - Ph-ph interaction can be read (`--read-pp`) and write (`--write-pp`) in RTA thermal conductivity calculation, too. Mind that the data stored are different - with and without `--full-pp`. Wihtout `--full-pp` the data are stored in + with and without `--full-pp`. Without `--full-pp` the data are stored in complicated way to save data side, so it is not considered readable by usual users. @@ -399,7 +403,7 @@ loader. - `--sym-fc` option is added. This is just an alias to specify both `--sym-fc3r` and `--sym-fc2` together. - Documentation on `--write-phonon` and `--read-phonon` options is written. - These options are used to save harmonic phonon infromation on strage. + These options are used to save harmonic phonon information on storage. ## Nov-22-2017: version 1.12.5 @@ -414,7 +418,7 @@ loader. (3) happens when the primitive cell is relatively large. Number of triplets can be shown using `--stp` option. A race condition of OpenMP multithreading is the source of the bug. Therefore, if it occurs, the same calculation comes - up with the different thermal conductivity value in every run time, for whcih + up with the different thermal conductivity value in every run time, for which it behaves like randomly. - RTA thermal conductivity with smearing method (`--sigma`) is made to run with @@ -470,7 +474,7 @@ loader. ## Apr-16-2016: version 1.10.7 -- API example is prepared and it is found in `Si` example. No doucment yet. +- API example is prepared and it is found in `Si` example. No documentation yet. - Si pwscf example was placed in `example-phono3py` directory. - User interface bug fix. @@ -482,10 +486,10 @@ loader. to phonopy-1.10.4. - Python3 support - For the RTA thermal conductivity calculation mode with using the linear - tetrahedron method, only necessary part of phonon-phonon interaction strengh - among phonons. This improves lifetime calculation performance, but as the - drawback, averaged ph-ph interaction strength can not be given. See - {ref}`full_pp_option`. + tetrahedron method, only necessary part of phonon-phonon interaction strength + among phonons is calculated. This improves lifetime calculation performance, + but as the drawback, averaged ph-ph interaction strength can not be given. + See {ref}`full_pp_option`. - Pwscf interface ({ref}`calculator_interfaces`) ## Oct-10-2015: version 0.9.14 @@ -582,7 +586,7 @@ loader. ## Changes in version 0.8.0 - `--q_direction` didn't work. Fix it. -- Implementation of tetrahedron method whcih is activated by `--thm`. +- Implementation of tetrahedron method which is activated by `--thm`. - Grid addresses are written out by `--wgp` option. ## Changes in version 0.7.6 @@ -596,8 +600,9 @@ loader. that needed for creating fc3 if index permutation symmetry is considered. Therefore using index permutation symmetry, some elements of fc3 can be recovered even if some of supercell force calculations are missing. In - paticular, all pair distances among triplet atoms are larger than cutoff pair - distance, any fc3 elements are not recovered, i.e., the element will be zero. + particular, all pair distances among triplet atoms are larger than cutoff + pair distance, any fc3 elements are not recovered, i.e., the element will be + zero. ## Changes in version 0.7.2 diff --git a/doc/command-options.md b/doc/command-options.md index ab845058..75406356 100644 --- a/doc/command-options.md +++ b/doc/command-options.md @@ -377,7 +377,7 @@ To use different force constants calculators for fc2 and fc3 % phono3py-load --fc-calc "symfc|" ... ``` -Those for fc2 and fc3 are seprated by `|` such as `symfc|` . Blank means to +Those for fc2 and fc3 are separated by `|` such as `symfc|` . Blank means to employ the finite difference method for systematic displacements generated by the option `-d`. @@ -721,7 +721,7 @@ out, i.e., `gamma` is still imaginary part of self energy of ph-ph scattering. A most simple phonon boundary scattering treatment is included. $v_g/L$ is just used as the scattering rate, where $v_g$ is the group velocity and $L$ is the -boundary mean free path. The value is given in micrometre. The default value, 1 +boundary mean free path. The value is given in micrometer. The default value, 1 metre, is just used to avoid divergence of phonon lifetime and the contribution to the thermal conductivity is considered negligible. @@ -804,7 +804,7 @@ $\Gamma^\text{U}_\lambda(\omega_\lambda)$ processes. The sum of them is usual $\Gamma_\lambda(\omega_\lambda) = \Gamma^\text{N}_\lambda(\omega_\lambda) + \Gamma^\text{U}_\lambda(\omega_\lambda)$ -and this is used to calcualte thermal conductivity in single-mode RTA. The +and this is used to calculate thermal conductivity in single-mode RTA. The separation, i.e., the choice of G-vector, is made based on the first Brillouin zone. @@ -1051,7 +1051,7 @@ See also {ref}`reference papers `. Spectral function of self energy $A_\lambda(\omega)$ is calculated with respect to frequency $\omega$, where $\omega$ is sampled following {ref}`freq_sampling_option`. First, imaginary part of self-energy is calculated -and then the real part is calculatd using the Kramers–Kronig relation. The +and then the real part is calculated using the Kramers–Kronig relation. The output of $A_\lambda(\omega)$ is written to `spectral-mxxx-gx(-sx)-tx-bx.dat` in THz (without $2\pi$) with respect to samplied frequency points of $\omega$ in THz (without $2\pi$), and `spectral-mxxx-gx.hdf5`. @@ -1210,7 +1210,7 @@ information. ```{table} | dataset | Array shape | -|-----------------------------|----------------------------------------------------------------------------------------------------------------------------------------| +| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | | gamma_detail for `--ise` | (temperature, sampling frequency point, symmetry reduced set of triplets at a grid point, band1, band2, band3) in THz (without $2\pi$) | | gamma_detail for `--br` | (temperature, symmetry reduced set of triplets at a grid point, band1, band2, band3) in THz (without $2\pi$) | | mesh | Numbers of sampling mesh along reciprocal axes. | @@ -1259,7 +1259,7 @@ grid_address = ph['grid_address'][:] q_triplets = grid_address[triplets] / mesh.astype('double') # Phonons of triplets[2] phonon_tp = [(ph['frequency'][i], ph['eigenvector'][i]) for i in triplets[2]] -# Fractions of contributions of tripltes at this grid point and temperture index 30 +# Fractions of contributions of triplets at this grid point and temperature index 30 gamma_sum_over_bands = np.dot(weight, gd['gamma_detail'][30].sum(axis=-1).sum(axis=-1).sum(axis=-1)) contrib_tp = [gd['gamma_detail'][30, i].sum() / gamma_sum_over_bands for i in range(len(weight))] np.dot(weight, contrib_tp) # is one diff --git a/doc/conf.py b/doc/conf.py index 79907976..70b79c7d 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -58,9 +58,9 @@ copyright = "2015, Atsushi Togo" # built documents. # # The short X.Y version. -version = "3.13" +version = "3.14" # The full version, including alpha/beta/rc tags. -release = "3.13.0" +release = "3.14.0" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -142,7 +142,7 @@ pygments_style = "sphinx" # # Allow a separate homepage from the master_doc # "homepage": "index", -# # Allow the project link to be overriden to a custom URL. +# # Allow the project link to be overridden to a custom URL. # "projectlink": "http://myproject.url", # # Visible levels of the global TOC; -1 means unlimited diff --git a/doc/cutoff-pair.md b/doc/cutoff-pair.md index 0f193f33..565970c5 100644 --- a/doc/cutoff-pair.md +++ b/doc/cutoff-pair.md @@ -25,7 +25,7 @@ In phono3py, to obtain supercell-fc3, $\Phi_{\alpha\beta\gamma}(jl, j'l', j''l'')$, forces in many supercells having different pairs of displaced atoms are computed using some force-calculator such as ab-initio code. In the phono3py -default behaviour, full elements of supercell-fc3 are computed. In +default behavior, full elements of supercell-fc3 are computed. In this case, though depending on the number of atoms in the supercell and the crystal symmetry, the number of atomic-pair configuration can be huge and beyond our computational resource. diff --git a/doc/direct-solution.md b/doc/direct-solution.md index 54c8edf7..954f04a6 100644 --- a/doc/direct-solution.md +++ b/doc/direct-solution.md @@ -253,10 +253,10 @@ contained. :width: 50% :name: coleigplot -Eigenvalues are plotted in log scale (Si-PBEsol exmaple with +Eigenvalues are plotted in log scale (Si-PBEsol example with 15x15x15 mesh). The number in x-axis is just the index where each eigenvalue is stored. Normally the eigenvalues are stored ascending -order. The bule points show the positive values, and +order. The blue points show the positive values, and the red points show the negative values as positive values (absolute values) to be able to plot in log scale. In this plot, we can see the gap between $10^{-4}$ and $10^{-16}$, which diff --git a/doc/hdf5_howto.md b/doc/hdf5_howto.md index 8569eac9..547ebf17 100644 --- a/doc/hdf5_howto.md +++ b/doc/hdf5_howto.md @@ -269,7 +269,7 @@ has to be specified (see {ref}`full_pp_option`). ### boundary_mfp A value specified by {ref}`boundary_mfp_option`. The physical unit is -micrometre. +micrometer. When `--boundary-mfp` option is explicitly specified, its value is stored here. @@ -316,7 +316,7 @@ array([ 1.02050201e+03, 1.02050201e+03, 1.02050201e+03, ## How to know grid point index number corresponding to grid address -Runngin with `--write-gamma`, hdf5 files are written out with file names +Running with `--write-gamma`, hdf5 files are written out with file names such as `kappa-m202020-g4448.hdf5`. You may want to know the grid point index number with given grid address. This is done as follows: diff --git a/doc/index.md b/doc/index.md index 8b3bf4d3..89d50a71 100644 --- a/doc/index.md +++ b/doc/index.md @@ -6,7 +6,7 @@ the supercell approach. For example, the following physical values are obtained: - {ref}`Lattice thermal conductivity by relaxation time approximation and direct-solution of phonon Boltzmann equation and the Wigner transport equation ` -- {ref}`Cummulative lattice thermal conductivity and related properties ` +- {ref}`Cumulative lattice thermal conductivity and related properties ` - {ref}`self_energy_options` (Phonon lifetime/linewidth) - {ref}`jdos_option` - {ref}`spectral_function_option` diff --git a/doc/phono3py-load.md b/doc/phono3py-load.md index c7f16221..27b0b1f2 100644 --- a/doc/phono3py-load.md +++ b/doc/phono3py-load.md @@ -9,7 +9,7 @@ over many different force calculators. Once `phono3py_disp.yaml` is created, the following operations will be the same using this command. This is used almost in the same way as `phono3py` command, e.g., but there are -some differences. The following default behaviours are different from that of +some differences. The following default behaviors are different from that of those of `phono3py` command: 1. `phono3py_xxx.yaml` type file is always necessary in either of two ways: diff --git a/doc/random-displacements.md b/doc/random-displacements.md index 17217d88..270b7d45 100644 --- a/doc/random-displacements.md +++ b/doc/random-displacements.md @@ -22,7 +22,7 @@ The option `--rd NUM` is used instead of `-d` in generating displacements as fol `NUM` means the number of supercells with random directional displacements. This must be specified, and the initial guess may be from around the number of -supecells generated for the systematic displacements by `-d`. In the case of the +supercells generated for the systematic displacements by `-d`. In the case of the `NaCl-rd` example, 146 supercells are generated with `-d`, so similar number `--rd 100` was chosen here. diff --git a/doc/tips.md b/doc/tips.md index 39760005..e71bebbb 100644 --- a/doc/tips.md +++ b/doc/tips.md @@ -1,12 +1,13 @@ (tips)= + # Tips ```{contents} :depth: 2 :local: ``` - (brillouinzone_sum)= + ## Brillouin zone summation Brillouin zone (BZ) summations appear at different two points in @@ -97,6 +98,7 @@ the displacement distance by the {ref}`amplitude option ` redu higher order anharmonicity is involved (renormalized) into fc3 and fc2. (file_format_compatibility)= + ## File format compatibility with phonopy - `FORCES_FC3` and `FORCES_FC2` are not @@ -108,4 +110,4 @@ higher order anharmonicity is involved (renormalized) into fc3 and fc2. - `fc2.hdf5` can be used in phonopy in the `hdf5` mode when it is renamed to `force_constants.hdf5`. In the previous combinations of phonopy and phono3py, depending on the physical unit of force - constants of calculators, the direct compatibility is not guranteed. + constants of calculators, the direct compatibility is not guaranteed. diff --git a/example/NaCl-alm/README.md b/example/NaCl-alm/README.md index 1a75f98e..b3ad9a3c 100644 --- a/example/NaCl-alm/README.md +++ b/example/NaCl-alm/README.md @@ -1,6 +1,6 @@ This is the example of NaCl calculation. Since all atoms are displaced, to obtain force constants, an external force constants calculator is necessary, -i.e., build-in force constants calculator has no ability to compute force +i.e., built-in force constants calculator has no ability to compute force constants for such dataset. In this example, ALM is used. See https://phonopy.github.io/phonopy/setting-tags.html#alm. The easiest way to install ALM is to use conda. diff --git a/phono3py/api_jointdos.py b/phono3py/api_jointdos.py index a69146a9..33b08da1 100644 --- a/phono3py/api_jointdos.py +++ b/phono3py/api_jointdos.py @@ -267,7 +267,7 @@ class Phono3pyJointDos: print("Smearing method with sigma=%s is used." % sigma) print( f"Calculations at {len(self._frequency_points)} " - f"frequency points are devided into {len(batches)} batches." + f"frequency points are divided into {len(batches)} batches." ) for i_t, temperature in enumerate(temperatures): self._jdos.temperature = temperature diff --git a/phono3py/api_phono3py.py b/phono3py/api_phono3py.py index 53460339..fb18fe6c 100644 --- a/phono3py/api_phono3py.py +++ b/phono3py/api_phono3py.py @@ -335,8 +335,8 @@ class Phono3py: """Setter and getter of third order force constants (fc3). ndarray - fc3 shape is either (supercell, supecell, supercell, 3, 3, 3) or - (primitive, supercell, supecell, 3, 3, 3), + fc3 shape is either (supercell, supercell, supercell, 3, 3, 3) or + (primitive, supercell, supercell, 3, 3, 3), where 'supercell' and 'primitive' indicate number of atoms in these cells. @@ -352,8 +352,8 @@ class Phono3py: """Setter and getter of second order force constants (fc2). ndarray - fc2 shape is either (supercell, supecell, 3, 3) or - (primitive, supecell, 3, 3), + fc2 shape is either (supercell, supercell, 3, 3) or + (primitive, supercell, 3, 3), where 'supercell' and 'primitive' indicate number of atoms in these cells. @@ -1105,7 +1105,7 @@ class Phono3py: Ph-ph interaction strength array is replaced by a scalar value. Default is None, which means this feature is not used. frequency_scale_factor : float, optional - All phonon frequences are scaled by this value. Default is None, + All phonon frequencies are scaled by this value. Default is None, which means phonon frequencies are not scaled. symmetrize_fc3q : bool, optional fc3 in phonon space is symmetrized by permutation symmetry. @@ -1378,7 +1378,7 @@ class Phono3py: Note ---- is_diagonal=False is chosen as the default setting intentionally to be - consistent to the first displacements of the fc3 pair displacemets in + consistent to the first displacements of the fc3 pair displacements in supercell. Parameters @@ -1390,7 +1390,7 @@ class Phono3py: replace generated random distances smaller than this value by this value. is_plusminus : True, False, or 'auto', optional - With True, atomis are displaced in both positive and negative + With True, atoms are displaced in both positive and negative directions. With False, only one direction. With 'auto', mostly equivalent to is_plusminus=True, but only one direction is chosen when the displacements in both directions are symmetrically @@ -1475,8 +1475,8 @@ class Phono3py: False. is_compact_fc : bool, optional fc3 shape is - False: (supercell, supercell, supecell, 3, 3, 3) True: - (primitive, supercell, supecell, 3, 3, 3) + False: (supercell, supercell, supercell, 3, 3, 3) True: + (primitive, supercell, supercell, 3, 3, 3) where 'supercell' and 'primitive' indicate number of atoms in these cells. Default is False. fc_calculator : str, optional @@ -1500,11 +1500,10 @@ class Phono3py: ) else: if "displacements" in self._dataset: - msg = ( - "fc_calculator has to be set to produce force " - "constans from this dataset." + raise ForceCalculatorRequiredError( + "fc_calculator has to be set to produce force constants from this " + "dataset." ) - raise ForceCalculatorRequiredError(msg) fc2, fc3 = get_phono3py_fc3( self._supercell, self._primitive, @@ -1561,8 +1560,8 @@ class Phono3py: calculator such as ALM. Default is False. is_compact_fc : bool fc2 shape is - False: (supercell, supecell, 3, 3) - True: (primitive, supecell, 3, 3) + False: (supercell, supercell, 3, 3) + True: (primitive, supercell, 3, 3) where 'supercell' and 'primitive' indicate number of atoms in these cells. Default is False. fc_calculator : str or None @@ -1792,7 +1791,7 @@ class Phono3py: Temperatures where real part of self-energies are calculated. dtype=float, shape=(temperatures,) frequency_points_at_bands : bool, optional - With False, frequency shifts are calculated at frquency sampling + With False, frequency shifts are calculated at frequency sampling points. When True, they are done at the phonon frequencies. Default is False. frequency_points : array_like, optional @@ -1948,7 +1947,7 @@ class Phono3py: is_isotope: bool = False, mass_variances: Optional[Sequence] = None, grid_points: Optional[Sequence[int]] = None, - boundary_mfp: Optional[float] = None, # in micrometre + boundary_mfp: Optional[float] = None, # in micrometer solve_collective_phonon: bool = False, use_ave_pp: bool = False, is_reducible_collision_matrix: bool = False, @@ -1997,8 +1996,8 @@ class Phono3py: calculated. With None, all the grid points that are necessary for thermal conductivity are set internally. shape(num_grid_points, ), dtype='int64'. - boundary_mfp : float, optiona, default is None - Mean free path in micrometre to calculate simple boundary + boundary_mfp : float, optional, default is None + Mean free path in micrometer to calculate simple boundary scattering contribution to thermal conductivity. None ignores this contribution. solve_collective_phonon : bool, optional, default is False @@ -2237,7 +2236,7 @@ class Phono3py: Parameters for developing MLP. Default is None. When dict is given, PypolymlpParams instance is created from the dict. test_size : float, optional - Training and test data are splitted by this ratio. test_size=0.1 + Training and test data are split by this ratio. test_size=0.1 means the first 90% of the data is used for training and the rest is used for test. Default is 0.1. @@ -2301,7 +2300,7 @@ class Phono3py: Parameters for developing MLP. Default is None. When dict is given, PypolymlpParams instance is created from the dict. test_size : float, optional - Training and test data are splitted by this ratio. test_size=0.1 + Training and test data are split by this ratio. test_size=0.1 means the first 90% of the data is used for training and the rest is used for test. Default is 0.1. diff --git a/phono3py/conductivity/base.py b/phono3py/conductivity/base.py index 0e13367d..c2b31246 100644 --- a/phono3py/conductivity/base.py +++ b/phono3py/conductivity/base.py @@ -211,7 +211,7 @@ class ConductivityMixIn(HeatCapacityMixIn): unique_gps = np.unique(gps_rotated) gvs = {} - for bz_gp in unique_gps.tolist(): # To conver to int type. + for bz_gp in unique_gps.tolist(): # To convert to int type. self._velocity_obj.run([self._get_qpoint_from_gp_index(bz_gp)]) gvs[bz_gp] = self._velocity_obj.group_velocities[ 0, self._pp.band_indices, : @@ -298,13 +298,13 @@ class ConductivityBase(ABC): Mass variances for isotope scattering calculation. When None, the values stored in phono3py are used with `is_isotope=True`. shape(atoms_in_primitive, ), dtype='double'. - boundary_mfp : float, optiona, default is None - Mean free path in micrometre to calculate simple boundary + boundary_mfp : float, optional, default is None + Mean free path in micrometer to calculate simple boundary scattering contribution to thermal conductivity. None ignores this contribution. is_kappa_star : bool, optional When True, reciprocal space symmetry is used to calculate - lattice thermal conductivity. This calculation is peformed + lattice thermal conductivity. This calculation is performed iterating over specific grid points. With `is_kappa_star=True` and `grid_points=None`, ir-grid points are used for the iteration. Default is True. @@ -385,7 +385,7 @@ class ConductivityBase(ABC): # `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`. + # which must be implemented in the inherited class of `ConductivityBase`. self._velocity_obj: GroupVelocity self._init_velocity(gv_delta_q) @@ -626,11 +626,11 @@ class ConductivityBase(ABC): @property def grid_point_count(self): - """Return interator count of self.""" + """Return iterator count of self.""" return self._grid_point_count def get_grid_point_count(self): - """Return interator count of self.""" + """Return iterator count of self.""" warnings.warn( "Use attribute, Conductivity.grid_point_count " "instead of Conductivity.get_grid_point_count().", @@ -729,7 +729,7 @@ class ConductivityBase(ABC): def _run_at_grid_point(self): """Run at conductivity calculation at specified grid point. - Should be implementated in Conductivity* class. + Should be implemented in Conductivity* class. """ raise NotImplementedError() @@ -738,7 +738,7 @@ class ConductivityBase(ABC): def _allocate_values(self): """Allocate necessary data arrays. - Should be implementated in Conductivity* class. + Should be implemented in Conductivity* class. """ raise NotImplementedError() @@ -747,16 +747,16 @@ class ConductivityBase(ABC): def _set_velocities(self, i_gp, i_data): """Set velocities at grid point and at data location. - Should be implementated in Conductivity*MixIn. + Should be implemented in Conductivity*MixIn. """ raise NotImplementedError() @abstractmethod def _init_velocity(self, gv_delta_q): - """Initialize velocitiy class instance. + """Initialize velocity class instance. - Should be implementated in Conductivity*MixIn. + Should be implemented in Conductivity*MixIn. """ raise NotImplementedError() @@ -765,7 +765,7 @@ class ConductivityBase(ABC): def _set_cv(self, i_gp, i_data): """Set heat capacity at grid point and at data location. - Should be implementated in Conductivity*MixIn. + Should be implemented in Conductivity*MixIn. """ raise NotImplementedError() @@ -921,12 +921,12 @@ class ConductivityBase(ABC): if self._boundary_mfp is not None: if self._boundary_mfp > 1000: print( - "Boundary mean free path (millimetre): %.3f" + "Boundary mean free path (millimeter): %.3f" % (self._boundary_mfp / 1000.0) ) else: print( - "Boundary mean free path (micrometre): %.5f" + "Boundary mean free path (micrometer): %.5f" % self._boundary_mfp ) if self._is_isotope: diff --git a/phono3py/conductivity/direct_solution.py b/phono3py/conductivity/direct_solution.py index 7339b407..4e689c54 100644 --- a/phono3py/conductivity/direct_solution.py +++ b/phono3py/conductivity/direct_solution.py @@ -77,11 +77,11 @@ class ConductivityLBTEBase(ConductivityBase): sigma_cutoff=None, is_isotope=False, mass_variances=None, - boundary_mfp=None, # in micrometre + boundary_mfp=None, # in micrometer solve_collective_phonon=False, is_reducible_collision_matrix=False, is_kappa_star=True, - gv_delta_q=None, # finite difference for group veolocity + gv_delta_q=None, # finite difference for group velocity is_full_pp=False, read_pp=False, pp_filename=None, @@ -728,7 +728,7 @@ class ConductivityLBTEBase(ConductivityBase): sys.stdout.flush() def _average_collision_matrix_by_degeneracy(self): - """Average symmetrically equivalent elemetns of collision matrix.""" + """Average symmetrically equivalent elements of collision matrix.""" start = time.time() # Average matrix elements belonging to degenerate bands @@ -939,8 +939,8 @@ class ConductivityLBTEBase(ConductivityBase): if (np.abs(r_sum) < 1e-10).all(): return None - # Same as np.kron(np.eye(size), r_sum), but writen as below - # to be sure the values in memory C-congiguous with 'double'. + # Same as np.kron(np.eye(size), r_sum), but written as below + # to be sure the values in memory C-contiguous with 'double'. I_mat = np.zeros((3 * size, 3 * size), dtype="double", order="C") for i in range(size): I_mat[(i * 3) : ((i + 1) * 3), (i * 3) : ((i + 1) * 3)] = r_sum @@ -1700,7 +1700,7 @@ def get_thermal_conductivity_LBTE( is_isotope=False, mass_variances=None, grid_points=None, - boundary_mfp=None, # in micrometre + boundary_mfp=None, # in micrometer solve_collective_phonon=False, is_reducible_collision_matrix=False, is_kappa_star=True, @@ -1731,7 +1731,7 @@ def get_thermal_conductivity_LBTE( if sigmas is None: sigmas = [] if log_level: - print("-" * 19 + " Lattice thermal conducitivity (LBTE) " + "-" * 19) + print("-" * 19 + " Lattice thermal conductivity (LBTE) " + "-" * 19) print( "Cutoff frequency of pseudo inversion of collision matrix: %s" % pinv_cutoff ) diff --git a/phono3py/conductivity/rta.py b/phono3py/conductivity/rta.py index 55d3646b..1771f5ea 100644 --- a/phono3py/conductivity/rta.py +++ b/phono3py/conductivity/rta.py @@ -76,7 +76,7 @@ class ConductivityRTABase(ConductivityBase): sigma_cutoff=None, is_isotope=False, mass_variances=None, - boundary_mfp=None, # in micrometre + boundary_mfp=None, # in micrometer use_ave_pp=False, is_kappa_star=True, gv_delta_q=None, @@ -161,7 +161,7 @@ class ConductivityRTABase(ConductivityBase): @abstractmethod def set_kappa_at_sigmas(self): - """Must be implementated in the inherited class.""" + """Must be implemented in the inherited class.""" raise NotImplementedError() def _allocate_values(self): @@ -539,7 +539,7 @@ class ConductivityRTA(ConductivityMixIn, ConductivityRTABase): sigma_cutoff=None, is_isotope=False, mass_variances=None, - boundary_mfp=None, # in micrometre + boundary_mfp=None, # in micrometer use_ave_pp=False, is_kappa_star=True, gv_delta_q=None, @@ -669,7 +669,7 @@ class ConductivityWignerRTA(ConductivityWignerMixIn, ConductivityRTABase): sigma_cutoff=None, is_isotope=False, mass_variances=None, - boundary_mfp=None, # in micrometre + boundary_mfp=None, # in micrometer use_ave_pp=False, is_kappa_star=True, gv_delta_q=None, @@ -867,7 +867,7 @@ class ConductivityKuboRTA(ConductivityKuboMixIn, ConductivityRTABase): sigma_cutoff=None, is_isotope=False, mass_variances=None, - boundary_mfp=None, # in micrometre + boundary_mfp=None, # in micrometer use_ave_pp=False, is_kappa_star=True, gv_delta_q=None, @@ -1010,7 +1010,7 @@ def get_thermal_conductivity_RTA( mass_variances=None, grid_points=None, is_isotope=False, - boundary_mfp=None, # in micrometre + boundary_mfp=None, # in micrometer use_ave_pp=False, is_kappa_star=True, gv_delta_q=None, @@ -1046,7 +1046,7 @@ def get_thermal_conductivity_RTA( if log_level: print( - "-------------------- Lattice thermal conducitivity (RTA) " + "-------------------- Lattice thermal conductivity (RTA) " "--------------------" ) diff --git a/phono3py/conductivity/utils.py b/phono3py/conductivity/utils.py index fe49127e..f7a66dc6 100644 --- a/phono3py/conductivity/utils.py +++ b/phono3py/conductivity/utils.py @@ -846,7 +846,7 @@ class ShowCalcProgress: @staticmethod def kappa_RTA(br: "ConductivityRTA", log_level): - """Show RTA calculation progess.""" + """Show RTA calculation progress.""" temperatures = br.temperatures sigmas = br.sigmas kappa = br.kappa @@ -885,7 +885,7 @@ class ShowCalcProgress: @staticmethod def kappa_Wigner_RTA(br: "ConductivityWignerRTA", log_level): - """Show Wigner-RTA calculation progess.""" + """Show Wigner-RTA calculation progress.""" temperatures = br.temperatures sigmas = br.sigmas kappa_TOT_RTA = br.kappa_TOT_RTA diff --git a/phono3py/cui/create_force_constants.py b/phono3py/cui/create_force_constants.py index f7571e32..ceca6f0e 100644 --- a/phono3py/cui/create_force_constants.py +++ b/phono3py/cui/create_force_constants.py @@ -109,7 +109,7 @@ def create_phono3py_force_constants( 'phonopy-load' command. """ - # Only for build-in fc calculator. + # Only for built-in fc calculator. # These are not applied to external fc calculators. symmetrize_fc3r = settings.is_symmetrize_fc3_r or settings.fc_symmetry symmetrize_fc2 = settings.is_symmetrize_fc2 or settings.fc_symmetry @@ -267,14 +267,15 @@ def parse_forces( filename_read_from = force_filename # Units of displacements and forces are converted. If forces don't - # exist, the convesion will not be performed for forces. + # exist, the conversion will not be performed for forces. if calculator is not None: _convert_unit_in_dataset( dataset, distance_to_A=physical_units["distance_to_A"], force_to_eVperA=physical_units["force_to_eVperA"], ) - assert dataset is not None + if dataset is None: + raise RuntimeError("Dataset is not found.") if "natom" in dataset and dataset["natom"] != natom: raise RuntimeError( diff --git a/phono3py/cui/load.py b/phono3py/cui/load.py index bca0f140..3ca030ed 100644 --- a/phono3py/cui/load.py +++ b/phono3py/cui/load.py @@ -115,7 +115,7 @@ def load( When force_sets_filename and force_constants_filename are not given, 'FORCES_FC3' and 'FORCES_FC2' are looked for in the current directory as the - default behaviour. When 'FORCES_FC3' ('FORCES_FC2') is given in the type-1 + default behavior. When 'FORCES_FC3' ('FORCES_FC2') is given in the type-1 format, 'phono3py_disp.yaml' is also necessary and read. Crystal structure @@ -140,7 +140,7 @@ def load( also searched in current directory. When 'FORCES_FC2' is not found, 'FORCES_FC3' is used to create fc2. - Parameters for non-analytical term correctiion (NAC) + Parameters for non-analytical term correction (NAC) ---------------------------------------------------- Optional. Means to provide NAC parameters and their priority: 1. born_filename @@ -166,10 +166,10 @@ def load( given, the centring type ('F', 'I', 'A', 'C', 'R', or primitive 'P') is automatically chosen. Default is 'auto'. phonon_supercell_matrix : array_like, optional - Supercell matrix used for fc2. In phono3py, supercell matrix for fc3 and - fc2 can be different to support longer range interaction of fc2 than + Supercell matrix used for fc2. In phono3py, supercell matrix for fc3 + and fc2 can be different to support longer range interaction of fc2 than that of fc3. Unless setting this, supercell_matrix is used. This is only - valide when unitcell or unitcell_filename is given. Default is None. + valid when unitcell or unitcell_filename is given. Default is None. is_nac : bool, optional If True, look for 'BORN' file. If False, NAS is turned off. Default is True. @@ -181,7 +181,7 @@ def load( Input unit cell. Default is None. supercell : PhonopyAtoms, optional Input supercell. With given, default value of primitive_matrix is set to - 'auto' (can be overwitten). supercell_matrix is ignored. Default is + 'auto' (can be overwritten). supercell_matrix is ignored. Default is None. nac_params : dict, optional Parameters required for non-analytical term correction. Default is None. @@ -189,7 +189,7 @@ def load( (array_like, shape=(primitive cell atoms, 3, 3), dtype=float), 'dielectric': Dielectric constant matrix (array_like, shape=(3, 3), dtype=float), - 'factor': unit conversion facotr (float)} + 'factor': unit conversion factor (float)} unitcell_filename : os.PathLike, optional Input unit cell filename. Default is None. supercell_filename : os.PathLike, optional @@ -217,7 +217,7 @@ def load( 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 + fc-calculator. For alm, each parameter is split 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 @@ -236,10 +236,10 @@ def load( True. is_compact_fc : bool, optional fc3 are created in the array whose shape is - True: (primitive, supercell, supecell, 3, 3, 3) False: (supercell, - supercell, supecell, 3, 3, 3) + True: (primitive, supercell, supercell, 3, 3, 3) False: (supercell, + supercell, supercell, 3, 3, 3) and for fc2 - True: (primitive, supecell, 3, 3) False: (supercell, supecell, 3, 3) + True: (primitive, supercell, 3, 3) False: (supercell, supercell, 3, 3) where 'supercell' and 'primitive' indicate number of atoms in these cells. Default is False. use_pypolymlp : bool, optional diff --git a/phono3py/cui/phono3py_argparse.py b/phono3py/cui/phono3py_argparse.py index 597f3074..369bfc02 100644 --- a/phono3py/cui/phono3py_argparse.py +++ b/phono3py/cui/phono3py_argparse.py @@ -105,7 +105,7 @@ def get_parser(fc_symmetry=False, is_nac=False, load_phono3py_yaml=False): type=float, default=None, help=( - "Boundary mean free path in micrometre for thermal conductivity calculation" + "Boundary mean free path in micrometer for thermal conductivity calculation" ), ) parser.add_argument( @@ -264,7 +264,7 @@ def get_parser(fc_symmetry=False, is_nac=False, load_phono3py_yaml=False): # dest="emulate_v2", # action="store_true", # default=False, - # help="Emulate v2.x behaviour.", + # help="Emulate v2.x behavior.", # ) parser.add_argument( "--factor", @@ -770,6 +770,14 @@ def get_parser(fc_symmetry=False, is_nac=False, load_phono3py_yaml=False): default=None, help="Use symfc for generating force constants", ) + if load_phono3py_yaml: + parser.add_argument( + "--symfc-memshow", + dest="show_symfc_memory_usage", + action="store_true", + default=None, + help="Show symfc memory usage with respect to cutoff distance", + ) parser.add_argument( "--spf", dest="is_spectral_function", diff --git a/phono3py/cui/phono3py_script.py b/phono3py/cui/phono3py_script.py index 8776b082..7d3a9711 100644 --- a/phono3py/cui/phono3py_script.py +++ b/phono3py/cui/phono3py_script.py @@ -95,6 +95,7 @@ from phono3py.file_IO import ( write_fc3_to_hdf5, write_phonon_to_hdf5, ) +from phono3py.interface.fc_calculator import estimate_symfc_memory_usage from phono3py.interface.phono3py_yaml import Phono3pyYaml from phono3py.phonon.grid import get_grid_point_from_address, get_ir_grid_points from phono3py.phonon3.dataset import forces_in_dataset @@ -680,7 +681,7 @@ def _show_fc_calculator_not_found(log_level): print("") print( "Built-in force constants calculator doesn't support the " - "dispalcements-forces dataset. " + "displacements-forces dataset. " "An external force calculator, e.g., symfc (--symfc_ or ALM (--alm), " "has to be used to compute force constants." ) @@ -1042,6 +1043,30 @@ def main(**argparse_control): "and supercell structures." ) + ############################### + # Memory estimation for symfc # + ############################### + if settings.show_symfc_memory_usage and load_phono3py_yaml: + print("Quick estimation of memory size required for solving fc3 by symfc") + vecs, _ = ph3py.primitive.get_smallest_vectors() + dists = np.unique( + np.round(np.linalg.norm(vecs @ ph3py.primitive.cell, axis=-1), decimals=1) + ) + print("cutoff memsize") + print("------ -------") + for cutoff in dists[1:] + 0.1: + memsize, memsize2 = estimate_symfc_memory_usage( + ph3py.supercell, ph3py.symmetry, cutoff + ) + print( + f"{cutoff:5.1f} {memsize + memsize2:6.2f} GB " + f"({memsize:.2f}+{memsize2:.2f})" + ) + + if log_level: + print_end_phono3py() + sys.exit(0) + ################## # Check settings # ################## diff --git a/phono3py/cui/settings.py b/phono3py/cui/settings.py index ffb29124..a70bc77b 100644 --- a/phono3py/cui/settings.py +++ b/phono3py/cui/settings.py @@ -42,7 +42,7 @@ class Phono3pySettings(Settings): """Setting parameter container.""" _default = { - # In micrometre. The default value is just set to avoid divergence. + # In micrometer. The default value is just set to avoid divergence. "boundary_mfp": 1.0e6, "conductivity_type": None, "constant_averaged_pp_interaction": None, @@ -95,6 +95,7 @@ class Phono3pySettings(Settings): "sigma_cutoff_width": None, "solve_collective_phonon": False, "emulate_v2": False, + "show_symfc_memory_usage": False, "subtract_forces": None, "subtract_forces_fc2": None, "temperatures": None, @@ -323,6 +324,10 @@ class Phono3pySettings(Settings): """Set solve_collective_phonon.""" self._v["solve_collective_phonon"] = val + def set_show_symfc_memory_usage(self, val): + """Set show_symfc_memory_usage.""" + self._v["show_symfc_memory_usage"] = val + def set_subtract_forces(self, val): """Set subtract_forces.""" self._v["subtract_forces"] = val @@ -615,6 +620,10 @@ class Phono3pyConfParser(ConfParser): if self._args.solve_collective_phonon: self._confs["collective_phonon"] = ".true." + if "show_symfc_memory_usage" in self._args: + if self._args.show_symfc_memory_usage: + self._confs["show_symfc_memory_usage"] = ".true." + if "subtract_forces" in self._args: if self._args.subtract_forces: self._confs["subtract_forces"] = self._args.subtract_forces @@ -695,6 +704,7 @@ class Phono3pyConfParser(ConfParser): "N_U", "spectral_function", "reducible_collision_matrix", + "show_symfc_memory_usage", "symmetrize_fc2", "symmetrize_fc3_q", "symmetrize_fc3_r", @@ -879,7 +889,7 @@ class Phono3pyConfParser(ConfParser): if "cutoff_pair_distance" in params: self._settings.set_cutoff_pair_distance(params["cutoff_pair_distance"]) - # Emulate v2.x behaviour + # Emulate v2.x behavior if "emulate_v2" in params: self._settings.set_emulate_v2(params["emulate_v2"]) @@ -1035,6 +1045,12 @@ class Phono3pyConfParser(ConfParser): if "scattering_event_class" in params: self._settings.set_scattering_event_class(params["scattering_event_class"]) + # Show symfc memory usage + if "show_symfc_memory_usage" in params: + self._settings.set_show_symfc_memory_usage( + params["show_symfc_memory_usage"] + ) + # Cutoff width of smearing function (ratio to sigma value) if "sigma_cutoff_width" in params: self._settings.set_sigma_cutoff_width(params["sigma_cutoff_width"]) diff --git a/phono3py/file_IO.py b/phono3py/file_IO.py index a5b6f2f9..62d43c4c 100644 --- a/phono3py/file_IO.py +++ b/phono3py/file_IO.py @@ -613,7 +613,7 @@ def write_real_self_energy_to_hdf5( frequencies=None, filename=None, ): - """Wirte real part of self energy (currently only bubble) in hdf5. + """Write real part of self energy (currently only bubble) in hdf5. deltas : ndarray Real part of self energy. @@ -702,7 +702,7 @@ def write_spectral_function_to_hdf5( all_band_exist=False, filename=None, ): - """Wirte spectral functions (currently only bubble) in hdf5. + """Write spectral functions (currently only bubble) in hdf5. spectral_functions : ndarray Spectral functions. @@ -792,7 +792,7 @@ def write_collision_to_hdf5( text = "Collisions " if grid_point is not None: - text += "at grid adress %d " % grid_point + text += "at grid address %d " % grid_point if sigma is not None: if grid_point is not None: text += "and " @@ -827,7 +827,7 @@ def write_unitary_matrix_to_hdf5( ): """Write eigenvectors of collision matrices at temperatures. - Depending on the choice of the solver, eigenvectors are sotred in + Depending on the choice of the solver, eigenvectors are stored in either column-wise or row-wise. """ @@ -1697,7 +1697,7 @@ def get_length_of_first_line(f): f.seek(0) return len(line.split()) - raise RuntimeError("File doesn't contain relevant infomration.") + raise RuntimeError("File doesn't contain relevant information.") def _get_filename_suffix( diff --git a/phono3py/interface/fc_calculator.py b/phono3py/interface/fc_calculator.py index d2932e41..ac2ec11b 100644 --- a/phono3py/interface/fc_calculator.py +++ b/phono3py/interface/fc_calculator.py @@ -39,6 +39,7 @@ from __future__ import annotations from typing import Optional, Union import numpy as np +from phonopy.interface.symfc import SymfcFCSolver from phonopy.structure.atoms import PhonopyAtoms from phonopy.structure.cells import Primitive from phonopy.structure.symmetry import Symmetry @@ -173,3 +174,21 @@ def update_cutoff_fc_calculator_options( fc_calc_opts = f"cutoff = {cutoff_pair_distance}" return fc_calc_opts + + +def estimate_symfc_memory_usage( + supercell: PhonopyAtoms, symmetry: Symmetry, cutoff: float, batch_size: int = 100 +): + """Estimate memory usage to run symfc for fc3 with cutoff. + + Total memory usage is memsize + memsize2. These are separated because + they behave differently with respect to cutoff distance. + + batch_size is hardcoded to 100 because it is so in symfc. + + """ + symfc_solver = SymfcFCSolver(supercell, symmetry, options={"cutoff": {3: cutoff}}) + basis_size = symfc_solver.estimate_basis_size(orders=[3])[3] + memsize = basis_size**2 * 3 * 8 / 10**9 + memsize2 = len(supercell) * 3 * batch_size * basis_size * 8 / 10**9 + return memsize, memsize2 diff --git a/phono3py/phonon/grid.py b/phono3py/phonon/grid.py index 9331d13f..6f44d72b 100644 --- a/phono3py/phonon/grid.py +++ b/phono3py/phonon/grid.py @@ -84,7 +84,7 @@ class BZGrid: The grid systems with (BZ-grid, BZG) and without (GR-grid, GRG) BZ surface are mutually related up to modulo D_diag. More precisely the conversion - of grid adresses are performed as follows: + of grid addresses are performed as follows: From BZG to GRG gr_gp = get_grid_point_from_address(bz_grid.addresses[bz_gp], D_diag) @@ -103,12 +103,12 @@ class BZGrid: Recovering reduced coordinates ------------------------------ - q-points with respect to the original recirpocal + q-points with respect to the original reciprocal basis vectors are given by q = np.dot(Q, addresses[gp] / D_diag.astype('double')) - for the Gamma cetnred grid. With shifted, where only half grid shifts + for the Gamma centred grid. With shifted, where only half grid shifts that satisfy the symmetry are considered, q = np.dot(Q, (addresses[gp] + np.dot(P, s)) / D_diag.astype('double')) @@ -806,7 +806,7 @@ class GridMatrix: ): """Return grid matrix. - Grid is generated by the distance `length`. `coordinates` is used eighter + Grid is generated by the distance `length`. `coordinates` is used either the grid is defined by supercell in real space or mesh grid in reciprocal space. @@ -1125,7 +1125,7 @@ def _relocate_BZ_grid_address( The translationally equivalent grid points corresponding to one grid point on BZ surface are stored in continuously. If the multiplicity (number of equivalent grid points) is 1, 2, 1, 4, ... for the grid points, - ``bz_map`` stores the multiplicites and the index positions of the first + ``bz_map`` stores the multiplicities and the index positions of the first grid point of the equivalent grid points, i.e., bz_map[:] = [0, 1, 3, 4, 8...] diff --git a/phono3py/phonon/group_velocity_matrix.py b/phono3py/phonon/group_velocity_matrix.py index b877875d..1f07a4d2 100644 --- a/phono3py/phonon/group_velocity_matrix.py +++ b/phono3py/phonon/group_velocity_matrix.py @@ -42,7 +42,7 @@ from phonopy.utils import similarity_transformation class GroupVelocityMatrix(GroupVelocity): - """Class to calculate group velocities matricies of phonons. + """Class to calculate group velocities matrices of phonons. v_qjj' = 1/(2*sqrt(omega_qj*omega_qj')) * diff --git a/phono3py/phonon/solver.py b/phono3py/phonon/solver.py index 3bf437b1..42b61b10 100644 --- a/phono3py/phonon/solver.py +++ b/phono3py/phonon/solver.py @@ -51,11 +51,11 @@ def run_phonon_solver_c( nac_q_direction=None, # in reduced coordinates lapack_zheev_uplo="L", ): - """Bulid and solve dynamical matrices on grid in C-API. + """Build and solve dynamical matrices on grid in C-API. Note ---- - When LAPACKE is linked in C, `phononcalc.phonons_at_gridpoints` constucts + When LAPACKE is linked in C, `phononcalc.phonons_at_gridpoints` constructs and solves dynamical matrices on grid points. Otherwise, it only constructs dynamical matrices and solves them in python. @@ -73,7 +73,7 @@ def run_phonon_solver_c( QDinv : ndarray See BZGrid.QDinv. frequency_conversion_factor : float, optional - Frequency convertion factor that is multiplied with sqrt or eigenvalue + Frequency conversion factor that is multiplied with sqrt or eigenvalue of dynamical matrix. Default is VaspToTHz. nac_q_direction : array_like, optional See Interaction.nac_q_direction. Default is None. @@ -194,7 +194,7 @@ def run_phonon_solver_py( frequency_conversion_factor, lapack_zheev_uplo, ): - """Bulid and solve dynamical matrices on grid in python.""" + """Build and solve dynamical matrices on grid in python.""" gp = grid_point if phonon_done[gp] == 0: phonon_done[gp] = 1 diff --git a/phono3py/phonon/velocity_operator.py b/phono3py/phonon/velocity_operator.py index bc7ca02c..3ca06aa8 100644 --- a/phono3py/phonon/velocity_operator.py +++ b/phono3py/phonon/velocity_operator.py @@ -143,7 +143,7 @@ class VelocityOperator(GroupVelocity): # computed along several directions ddms = self._get_dsqrtD_FD(np.array(q)) # - # ddms[0] cointains the FD derivative in the direction in which the velocity + # ddms[0] contains the FD derivative in the direction in which the velocity # operator is diagonalized for id_dir in range(0, 3): gv_operator[:, :, id_dir] = ( diff --git a/phono3py/phonon3/collision_matrix.py b/phono3py/phonon3/collision_matrix.py index 3142ccd5..21b569f7 100644 --- a/phono3py/phonon3/collision_matrix.py +++ b/phono3py/phonon3/collision_matrix.py @@ -251,7 +251,7 @@ class CollisionMatrix(ImagSelfEnergy): """Return mapping table from grid point index to triplet index. triplets_map_at_q contains index mapping of q1 in (q0, q1, q2) to - independet q1 under q0+q1+q2=G with a fixed q0. + independent q1 under q0+q1+q2=G with a fixed q0. Note ---- diff --git a/phono3py/phonon3/displacement_fc3.py b/phono3py/phonon3/displacement_fc3.py index 9afd6eac..d4a15eda 100644 --- a/phono3py/phonon3/displacement_fc3.py +++ b/phono3py/phonon3/displacement_fc3.py @@ -133,7 +133,7 @@ def direction_to_displacement( def get_third_order_displacements( cell: PhonopyAtoms, symmetry: Symmetry, is_plusminus="auto", is_diagonal=False ): - """Create dispalcement dataset. + """Create displacement dataset. Note ---- @@ -143,7 +143,7 @@ def get_third_order_displacements( between Atoms 1, 2, and 3 is calculated. Atom 2: The second displaced atom. Second order force constant between Atoms 2 and 3 is calculated. - Atom 3: Force is mesuared on this atom. + Atom 3: Force is measured on this atom. Parameters ---------- diff --git a/phono3py/phonon3/gruneisen.py b/phono3py/phonon3/gruneisen.py index e001f998..9f6a7b43 100644 --- a/phono3py/phonon3/gruneisen.py +++ b/phono3py/phonon3/gruneisen.py @@ -122,7 +122,7 @@ def run_gruneisen_parameters( class Gruneisen: - """Calculat mode Grueneisen parameters from fc3.""" + """Calculate mode Grueneisen parameters from fc3.""" def __init__( self, diff --git a/phono3py/phonon3/imag_self_energy.py b/phono3py/phonon3/imag_self_energy.py index ba9c4018..5df9a1c8 100644 --- a/phono3py/phonon3/imag_self_energy.py +++ b/phono3py/phonon3/imag_self_energy.py @@ -288,7 +288,7 @@ class ImagSelfEnergy: self._temperature = float(temperature) def set_temperature(self, temperature): - """Set temperatures where calculation will be peformed.""" + """Set temperatures where calculation will be performed.""" warnings.warn( "Use attribute, ImagSelfEnergy.temperature " "instead of ImagSelfEnergy.set_temperature().", @@ -1052,7 +1052,7 @@ def run_ise_at_frequency_points_batch( if log_level: print( - "Calculations at %d frequency points are devided into " + "Calculations at %d frequency points are divided into " "%d batches." % (len(_frequency_points), len(batches)) ) diff --git a/phono3py/phonon3/interaction.py b/phono3py/phonon3/interaction.py index 40066612..700c4e33 100644 --- a/phono3py/phonon3/interaction.py +++ b/phono3py/phonon3/interaction.py @@ -157,7 +157,7 @@ class Interaction: self._g_zero = None self._phonon_done = None - self._done_nac_at_gamma = False # Phonon at Gamma is calculatd with NAC. + self._done_nac_at_gamma = False # Phonon at Gamma is calculated with NAC. self._frequencies = None self._eigenvectors = None self._frequencies_at_gamma = None @@ -428,7 +428,7 @@ class Interaction: shape=(num_bz_grid, num_band, num_band), dtype="c%d" % (np.dtype('double').itemsize * 2), order='C' phonon_done : ndarray - 1 if phonon at a grid point is calcualted, otherwise 0. + 1 if phonon at a grid point is calculated, otherwise 0. shape=(num_bz_grid, ), dtype='byte' """ @@ -626,7 +626,7 @@ class Interaction: self.run_phonon_solver_at_gamma() else: msg = ( - "Phonons at Gamma has been calcualted with NAC, " + "Phonons at Gamma has been calculated with NAC, " "but ph-ph interaction is expected to calculate at " "non-Gamma point. Setting Interaction.nac_q_direction = " "None, can avoid raising this exception to re-run phonon " @@ -693,12 +693,12 @@ class Interaction: """Set phonons on grid.""" if bz_grid_addresses.shape != self._bz_grid.addresses.shape: raise RuntimeError( - "Input grid address size is inconsistent. Setting phonons faild." + "Input grid address size is inconsistent. Setting phonons failed." ) if (self._bz_grid.addresses - bz_grid_addresses).all(): raise RuntimeError( - "Input grid addresses are inconsistent. Setting phonons faild." + "Input grid addresses are inconsistent. Setting phonons failed." ) else: self._phonon_done[:] = 1 diff --git a/phono3py/phonon3/joint_dos.py b/phono3py/phonon3/joint_dos.py index b61c3c1f..37c32a29 100644 --- a/phono3py/phonon3/joint_dos.py +++ b/phono3py/phonon3/joint_dos.py @@ -103,7 +103,7 @@ class JointDos: self._tetrahedron_method = None self._phonon_done = None - self._done_nac_at_gamma = False # Phonon at Gamma is calculatd with NAC. + self._done_nac_at_gamma = False # Phonon at Gamma is calculated with NAC. self._frequencies = None self._eigenvectors = None @@ -255,7 +255,7 @@ class JointDos: self._phonon_done[gamma_gp] = 0 else: msg = ( - "Phonons at Gamma has been calcualted with NAC, " + "Phonons at Gamma has been calculated with NAC, " "but ph-ph interaction is expected to calculate at " "non-Gamma point. Setting Interaction.nac_q_direction = " "None, can avoid raising this exception to re-run phonon " diff --git a/phono3py/phonon3/real_self_energy.py b/phono3py/phonon3/real_self_energy.py index c2c8d95b..595c9859 100644 --- a/phono3py/phonon3/real_self_energy.py +++ b/phono3py/phonon3/real_self_energy.py @@ -63,9 +63,9 @@ class RealSelfEnergy: How to test epsilon ------------------- - At a sampling mesh, choose one band and calcualte frequency shifts at - various epsilon values and plot over the epsilons. Decreasing epsinon, - at some point, discontinous change may be found. + At a sampling mesh, choose one band and calculate frequency shifts at + various epsilon values and plot over the epsilons. Decreasing epsilon, + at some point, discontinuous change may be found. """ diff --git a/phono3py/phonon3/reciprocal_to_normal.py b/phono3py/phonon3/reciprocal_to_normal.py index 4db52090..de3ee9df 100644 --- a/phono3py/phonon3/reciprocal_to_normal.py +++ b/phono3py/phonon3/reciprocal_to_normal.py @@ -41,7 +41,7 @@ class ReciprocalToNormal: """Class to transform fc3 in reciprocal space to phonon space. This is an implementation in python for prototyping and the test. - Equivalent routine is implementated in C, and this is what usually + Equivalent routine is implemented in C, and this is what usually we use. """ diff --git a/phono3py/phonon3/triplets.py b/phono3py/phonon3/triplets.py index aa7d0be2..b1c36216 100644 --- a/phono3py/phonon3/triplets.py +++ b/phono3py/phonon3/triplets.py @@ -71,7 +71,7 @@ def get_triplets_at_q( is_time_reversal : bool, optional Inversion symemtry is added if it doesn't exist. Default is True. swappable : bool, optional - q1 and q2 among (q0, q1, q2) can be swapped. Deafult is True. + q1 and q2 among (q0, q1, q2) can be swapped. Default is True. Returns ------- diff --git a/phono3py/scripts/phono3py_coleigplot.py b/phono3py/scripts/phono3py_coleigplot.py index 6f829860..6b0af8a3 100755 --- a/phono3py/scripts/phono3py_coleigplot.py +++ b/phono3py/scripts/phono3py_coleigplot.py @@ -64,7 +64,7 @@ def plot_one_file(ax, args): temperatures = f["temperature"][:] plot_one(ax, coleigs, temperatures, args) else: - print("File %s doens't exist." % filename) + print("File %s doesn't exist." % filename) sys.exit(1) @@ -86,7 +86,7 @@ def plot_more_files(ax, args): coleigs.append(f["collision_eigenvalues"][:]) temperatures.append(f["temperature"][:]) else: - print("File %s doens't exist." % filename) + print("File %s doesn't exist." % filename) sys.exit(1) plot_more(ax, coleigs, temperatures, args) diff --git a/phono3py/scripts/phono3py_kdeplot.py b/phono3py/scripts/phono3py_kdeplot.py index d1913272..8c5e263a 100755 --- a/phono3py/scripts/phono3py_kdeplot.py +++ b/phono3py/scripts/phono3py_kdeplot.py @@ -260,7 +260,7 @@ def main(args): if os.path.isfile(args.filenames[0]): f = h5py.File(args.filenames[0], "r") else: - print("File %s doens't exist." % args.filenames[0]) + print("File %s doesn't exist." % args.filenames[0]) sys.exit(1) if args.title: diff --git a/phono3py/version.py b/phono3py/version.py index 3c483621..6076aa7f 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.13.0" +__version__ = "3.14.0" diff --git a/pyproject.toml b/pyproject.toml index d6a3177f..e8f7b0d4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,7 +16,7 @@ dependencies = [ "matplotlib", "h5py", "spglib", - "phonopy>=2.36,<2.37", + "phonopy>=2.37,<2.38", ] license = { file = "LICENSE" } diff --git a/test/conductivity/test_kappa_LBTE.py b/test/conductivity/test_kappa_LBTE.py index 9c913f7a..228dd86a 100644 --- a/test/conductivity/test_kappa_LBTE.py +++ b/test/conductivity/test_kappa_LBTE.py @@ -8,7 +8,7 @@ from phono3py.api_phono3py import Phono3py @pytest.mark.skipif( - not phono3c.include_lapacke(), reason="test for phono3py compliled with lapacke" + not phono3c.include_lapacke(), reason="test for phono3py compiled with lapacke" ) @pytest.mark.parametrize("pinv_solver", [1, 2, 6]) def test_kappa_LBTE_126(si_pbesol: Phono3py, pinv_solver: int): @@ -41,7 +41,7 @@ def _test_kappa_LBTE(si_pbesol: Phono3py, pinv_solver: int): @pytest.mark.skipif( - phono3c.include_lapacke(), reason="test for phono3py compliled without lapacke" + phono3c.include_lapacke(), reason="test for phono3py compiled without lapacke" ) @pytest.mark.parametrize("pinv_solver", [1, 2]) def test_kappa_LBTE_witout_lapacke(si_pbesol: Phono3py, pinv_solver: int): diff --git a/test/phonon3/test_fc3.py b/test/phonon3/test_fc3.py index bfe9e675..697981d9 100644 --- a/test/phonon3/test_fc3.py +++ b/test/phonon3/test_fc3.py @@ -36,7 +36,7 @@ def test_cutoff_fc3_all_forces( By definition, displacement datasets are kept unchanged when cutoff-pair-distance is specified. - This test checkes only supercell forces that satisfy specified cutoff pairs + This test checks only supercell forces that satisfy specified cutoff pairs are chosen properly. """ @@ -259,7 +259,7 @@ def test_phonon_smat_alm_cutoff_fc3(si_pbesol_111_222_alm_cutoff_fc3: Phono3py): @pytest.mark.skipif( - not phono3c.include_lapacke(), reason="requires to complile with lapacke" + not phono3c.include_lapacke(), reason="requires to compile with lapacke" ) def test_fc3_lapacke_solver(si_pbesol_111: Phono3py): """Test fc3 with Si PBEsol 1x1x1 using lapacke solver.""" @@ -298,7 +298,7 @@ def test_fc3_lapacke_solver(si_pbesol_111: Phono3py): def test_fc3_symfc(si_pbesol_111_symfc: Phono3py): - """Test fc3 with Si PBEsol 1x1x1 calcualted using symfc.""" + """Test fc3 with Si PBEsol 1x1x1 calculated using symfc.""" ph = si_pbesol_111_symfc fc3_ref = [ [ diff --git a/test/phonon3/test_imag_self_energy.py b/test/phonon3/test_imag_self_energy.py index 9dfca8f6..cd3c5969 100644 --- a/test/phonon3/test_imag_self_energy.py +++ b/test/phonon3/test_imag_self_energy.py @@ -840,7 +840,7 @@ def test_imag_self_energy_npoints_with_sigma(si_pbesol: Phono3py): def test_imag_self_energy_detailed(si_pbesol: Phono3py): """Imaginary part of self energy spectrum of Si. - * specified frquency points + * specified frequency points * contribution from each triplet is returned. """ @@ -914,7 +914,7 @@ def test_imag_self_energy_detailed(si_pbesol: Phono3py): def test_imag_self_energy_scat_classes(si_pbesol: Phono3py, scattering_class: int): """Imaginary part of self energy spectrum of Si. - * specified frquency points + * specified frequency points * scattering event class 1 """ diff --git a/test/phonon3/test_interaction.py b/test/phonon3/test_interaction.py index 29696fa2..8af0226b 100644 --- a/test/phonon3/test_interaction.py +++ b/test/phonon3/test_interaction.py @@ -248,10 +248,10 @@ def test_interaction_nac_direction_phonon_NaCl_second_no_error(nacl_pbe: Phono3p def test_interaction_run_phonon_solver_at_gamma_NaCl(nacl_pbe: Phono3py): """Test run_phonon_solver_at_gamma with nac_q_direction on NaCl. - Phonon calculation at Gamma without NAC is peformed at itr.init_dynamical_matrix(). + Phonon calculation at Gamma without NAC is performed at itr.init_dynamical_matrix(). The phonons at Gamma without NAC are saved in dedicated variables. - Phonon calculation at Gamma with NAC is peformed at itr.set_grid_point(0) and + Phonon calculation at Gamma with NAC is performed at itr.set_grid_point(0) and stored in phonon variables on grid. itr.run_phonon_solver_at_gamma() stored phonons at Gamma without NAC are copied diff --git a/test/phonon3/test_real_self_energy.py b/test/phonon3/test_real_self_energy.py index 7eadc599..a37447aa 100644 --- a/test/phonon3/test_real_self_energy.py +++ b/test/phonon3/test_real_self_energy.py @@ -67,7 +67,7 @@ def test_real_self_energy_with_band_indices(si_pbesol: Phono3py): def test_real_self_energy_with_frequency_points(si_pbesol: Phono3py): """Real part of self energy spectrum of Si. - * specified frquency points + * specified frequency points """ if si_pbesol._make_r0_average: