Update doc

This commit is contained in:
Atsushi Togo 2024-08-08 11:19:11 +09:00
parent 9f6c850403
commit 648aceac10
14 changed files with 185 additions and 134 deletions

View File

@ -39,7 +39,7 @@ Let's compute lattice thermal conductivity of Si using the `Si-PBEsol` example
found in the example directory. found in the example directory.
```bash ```bash
% phono3py --mesh="11 11 11" --sym-fc --br % phono3py --mesh="11 11 11" --fc-symmetry --br
``` ```
Then using the output file, `kappa-m111111.hdf5`, run `phono3py-kaccum` as Then using the output file, `kappa-m111111.hdf5`, run `phono3py-kaccum` as

View File

@ -2,6 +2,10 @@
# Command options / Setting tags # Command options / Setting tags
(use_config_with_option)=
## Use of configuration file
Phono3py is operated with command options or with a configuration file that Phono3py is operated with command options or with a configuration file that
contains setting tags. In this page, the command options are explained. Most of contains setting tags. In this page, the command options are explained. Most of
command options have their respective setting tags. command options have their respective setting tags.
@ -27,13 +31,19 @@ CELL_FILENAME = POSCAR-unitcell
where the setting tag names are case insensitive. This is run by where the setting tag names are case insensitive. This is run by
```bash ```bash
% phono3py setting.conf [command options] % phono3py setting.conf [OPTIONS]
``` ```
or or
```bash ```bash
% phono3py [command options] -- setting.conf % phono3py [OPTIONS] -- setting.conf
```
When using `phono3py-load` (see also {ref}`phono3py_load_command`)
```bash
% phono3py-load --config setting.conf [OPTIONS]
``` ```
```{contents} ```{contents}
@ -201,15 +211,32 @@ When using with `--cf2`, `--cf3` has to be specified simultaneously as below,
### `--dim` (`DIM`) ### `--dim` (`DIM`)
**`phono3py-load` doesn't have this option.**
Supercell dimension is specified. See the detail at Supercell dimension is specified. See the detail at
<http://phonopy.github.io/phonopy/setting-tags.html#dim>. When a proper <http://phonopy.github.io/phonopy/setting-tags.html#dim>. When
`phono3py_disp.yaml` exists in the current directory, this is unnecessary to be `phono3py_disp.yaml` is found in the current directory, it is read
specified. automatically. Since supercell dimension is written in this file, `--dim` is
unnecessary to specify. For example, just
```bash
% phono3py --fc-symmetry
```
or
```bash
% phono3py --symfc
```
can be used to calculate force constants.
(dim_fc2_option)= (dim_fc2_option)=
### `--dim-fc2` (`DIM_FC2`) ### `--dim-fc2` (`DIM_FC2`)
**`phono3py-load` doesn't have this option.**
Supercell dimension for 2nd order force constants (for harmonic phonons) is Supercell dimension for 2nd order force constants (for harmonic phonons) is
specified. This is optional. When a proper `phono3py_disp.yaml` exists in the specified. This is optional. When a proper `phono3py_disp.yaml` exists in the
current directory, this is unnecessary to be specified. current directory, this is unnecessary to be specified.
@ -228,7 +255,7 @@ supercell size and these force calculations have to be done in addition to the
usual force calculations for 3rd order force constants. usual force calculations for 3rd order force constants.
```bash ```bash
% phono3py -d --dim="2 2 2" --dim-fc2="4 4 4" -c POSCAR-unitcell % phono3py -d --dim 2 2 2 --dim-fc2 4 4 4 --pa auto -c POSCAR-unitcell
``` ```
After the force calculations, `--cf2` option is used to create `FORCES_FC2`. After the force calculations, `--cf2` option is used to create `FORCES_FC2`.
@ -253,10 +280,11 @@ that created in the usual phono3py run without `--dim-fc2` option.
### `--pa`, `--primitive-axes` (`PRIMITIVE_AXES`) ### `--pa`, `--primitive-axes` (`PRIMITIVE_AXES`)
Transformation matrix from a non-primitive cell to the primitive cell. See Transformation matrix from a non-primitive cell to the primitive cell. See
phonopy `PRIMITIVE_AXES` tag (`--pa` option) at phonopy `PRIMITIVE_AXES` tag (`--pa` option) at [primitive-axis
<http://phonopy.github.io/phonopy/setting-tags.html#primitive-axis>. When a proper (phonopy)](https://phonopy.github.io/phonopy/setting-tags.html#primitive-axes-or-primitive-axis).
`phono3py_disp.yaml` exists in the current directory, this is unnecessary to be When `phono3py_disp.yaml` contains this information and `phono3py_disp.yaml` is
specified. read when running `phono3py` or `phono3py-load` command, this is unnecessary to
be specified.
### `--mass` (`MASS`) ### `--mass` (`MASS`)
@ -273,24 +301,45 @@ web page](https://phonopy.github.io/phonopy/setting-tags.html#magmom).
(create_displacements_option)= (create_displacements_option)=
### `-d` (`CREATE_DISPLACEMENTS = .TRUE.`) ### `-d` (`CREATE_DISPLACEMENTS = .TRUE.`)
Supercell with displacements are created. Using with `--amplitude` option, **`phono3py-load` doesn't have this option.**
atomic displacement distances are controlled. With this option, files for
supercells with displacements and `phono3py_disp.yaml` file are created. `--pa`
should be specified if the input unit cell structure is not a primitive cell,
e.g., `--pa="F"` if the input unit cell has F-centring.
Supercells with displacements and `phono3py_disp.yaml` are created. Using with
`--amplitude` option, atomic displacement distances are controlled. With this
option, files for supercells with displacements and `phono3py_disp.yaml` file
are created.
It is recommended to use this option with `--pa auto` option to store
information about primitive cell (`primitive_matrix` key) in
`phono3py_disp.yaml`, e.g.,
```bash
% phono3py -c POSCAR-unitcell -d --dim 2 2 2 --dim-fc2 4 4 4 --pa auto
```
(random_displacements_option)= (random_displacements_option)=
### `--rd` (`RANDOM_DISPLACEMENTS`), `--rd-fc2` (`RANDOM_DISPLACEMENTS_FC2`) and `--random-seed` (`RANDOM_SEED`) ### `--rd` (`RANDOM_DISPLACEMENTS`), `--rd-fc2` (`RANDOM_DISPLACEMENTS_FC2`) and `--random-seed` (`RANDOM_SEED`)
**`phono3py-load` doesn't have this option.**
See also {ref}`random-displacements`.
Random directional displacements are generated for fc3 and fc2 supercells by Random directional displacements are generated for fc3 and fc2 supercells by
`--rd` and `--rd-fc2`, respectively. `--amplitude` and `--random-seed` options `--rd` and `--rd-fc2`, respectively. `--amplitude` and `--random-seed` options
may be used together. These are used in the equivalent way to [`--rd` of may be used together. These are used in the equivalent way to [`--rd` of
phonopy](https://phonopy.github.io/phonopy/setting-tags.html#random-displacements). phonopy](https://phonopy.github.io/phonopy/setting-tags.html#random-displacements).
Like `-d` option, it is recommended to specify `--pa auto` together with `--rd`
and/or `--rd-fc2`,
```bash
% phono3py -c POSCAR-unitcell --dim 2 2 2 --dim-fc2 4 4 4 --rd 100 --rd-fc2 2 --pa auto
```
(amplitude_option)= (amplitude_option)=
### `--amplitude` (`DISPLACEMENT_DISTANCE`) ### `--amplitude` (`DISPLACEMENT_DISTANCE`)
**`phono3py-load` doesn't have this option.**
Atomic displacement distance is specified. This value may be increased for the Atomic displacement distance is specified. This value may be increased for the
weak interaction systems and decreased when the force calculator is numerically weak interaction systems and decreased when the force calculator is numerically
very accurate. very accurate.
@ -303,13 +352,13 @@ The default value depends on calculator. See
Choice of force constants calculator. Choice of force constants calculator.
``` ```bash
% phono3py --fc-calc symfc ... % phono3py-load --fc-calc symfc ...
``` ```
To use different force constants calculators for fc2 and fc3 To use different force constants calculators for fc2 and fc3
``` ```bash
% phono3py --fc-calc "symfc|" ... % 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 seprated by `|` such as `symfc|` . Blank means to
employ the finite difference method for systematic displacements generated by employ the finite difference method for systematic displacements generated by
@ -320,8 +369,8 @@ the option `-d`.
Special options for force constants calculators. Special options for force constants calculators.
``` ```bash
% phono3py --fc-calc-opt "cutoff=8" ... % phono3py-load --fc-calc-opt "cutoff=8" ...
``` ```
Similarly to `--fc-calc`, `|` can be used to separated those for fc2 and fc3. Similarly to `--fc-calc`, `|` can be used to separated those for fc2 and fc3.
@ -336,6 +385,9 @@ Similarly to `--fc-calc`, `|` can be used to separated those for fc2 and fc3.
These are shortcuts of `--fc-calc symfc` and `--fc-calc alm`, respectively. These are shortcuts of `--fc-calc symfc` and `--fc-calc alm`, respectively.
Please be careful that `--symfc` and `--sym-fc` (deprecated) are similar, but
different.
## Force constants ## Force constants
(compact_fc_option)= (compact_fc_option)=
@ -352,16 +404,16 @@ data size becomes large. If the input crystal structure has centring
{ref}`--pa <pa_option>` is necessary to have smallest data size. In this case, {ref}`--pa <pa_option>` is necessary to have smallest data size. In this case,
`--pa` option has to be specified on reading. Otherwise phono3py can recognize `--pa` option has to be specified on reading. Otherwise phono3py can recognize
if `fc2.hdf5` and `fc3.hdf5` are compact or full automatically. When using with if `fc2.hdf5` and `fc3.hdf5` are compact or full automatically. When using with
`--sym-fc`, the calculated results will become slightly different due to `--fc-symmetry`, the calculated results will become slightly different due to
imperfect symmetrization scheme that phono3py employs. imperfect symmetrization scheme that phono3py employs.
```bash ```bash
% phono3py --dim="2 2 2" --cfc --pa="F" -c POSCAR-unitcell % phono3py-load --compact-fc
``` ```
(symmetrization_option)= (symmetrization_option)=
### `--sym-fc` (`FC_SYMMETRY = .TRUE.`) ### `--fc-symmetry` (`FC_SYMMETRY = .TRUE.`)
Second- and third-order force constants are symmetrized. The index exchange of Second- and third-order force constants are symmetrized. The index exchange of
real space force constants and translational invariance symmetry are applied in a real space force constants and translational invariance symmetry are applied in a
@ -390,15 +442,16 @@ supercell size and the second choice is using `--cutoff-pair` option.
### `--cutoff-pair` or `--cutoff-pair-distance` (`CUTOFF_PAIR_DISTANCE`) ### `--cutoff-pair` or `--cutoff-pair-distance` (`CUTOFF_PAIR_DISTANCE`)
This option works differently for the `-d` and `--rd` options. This option works in two ways.
For `-d`, A cutoff pair-distance in a supercell is used to reduce the number of When using with `-d` options, a cutoff pair-distance in a supercell is used to
necessary supercells with displacements to obtain third order force constants. reduce the number of necessary supercells with displacements to obtain third
As the drawback, a certain number of third-order-force-constants elements are order force constants. As the drawback, a certain number of
abandoned or computed with less numerical accuracy. More details are found at third-order-force-constants elements are abandoned or computed with less
{ref}`command_cutoff_pair`. numerical accuracy. More details are found at {ref}`command_cutoff_pair`.
For `--rd`, `--cutoff-pair VAL` is equivalent to `--fc-calc-opt "cutoff=VAL"`. When using with an external force constants calculator, `--cutoff-pair VAL` works
equivalent to `--fc-calc-opt "cutoff=VAL"`.
### `--alm` ### `--alm`
@ -436,10 +489,10 @@ The mapping table between grid points to its indices is obtained by running with
`--loglevel=2` option. `--loglevel=2` option.
```bash ```bash
% phono3py --dim="2 2 2" --pa="F" -c POSCAR-unitcell --mesh="19 19 19" --fc3 --fc2 --br --write-gamma --gp="0 1 2 3 4 5" % phono3py-load --mesh 19 19 19 --br --write-gamma --gp 0 1 2 3 4 5
``` ```
where `--gp="0 1 2 3 4 5"` can be also written `--gp="0,1,2,3,4,5"`. `--ga` where `--gp 0 1 2 3 4 5` can be also written `--gp="0,1,2,3,4,5"`. `--ga`
option below can be used similarly for the same purpose. option below can be used similarly for the same purpose.
(ga_option)= (ga_option)=
@ -447,10 +500,10 @@ option below can be used similarly for the same purpose.
### `--ga` (`GRID_ADDRESSES`) ### `--ga` (`GRID_ADDRESSES`)
This is used to specify grid points like `--gp` option but in their addresses This is used to specify grid points like `--gp` option but in their addresses
represented by integer numbers. For example with `--mesh="16 16 16"`, a q-point represented by integer numbers. For example with `--mesh 16 16 16`, a q-point
of (0.5, 0.5, 0.5) is given by `--ga="8 8 8"`. The values have to be integers. of (0.5, 0.5, 0.5) is given by `--ga 8 8 8`. The values have to be integers.
If you want to specify the point on a path, If you want to specify the point on a path,
`--ga="0 0 0 1 1 1 2 2 2 3 3 3 ..."`, where each three values are recognized as `--ga 0 0 0 1 1 1 2 2 2 3 3 3 ...`, where each three values are recognized as
a grid point. The grid points given by `--ga` option are translated to grid a grid point. The grid points given by `--ga` option are translated to grid
point indices as given by `--gp` option, and the values given by `--ga` option point indices as given by `--gp` option, and the values given by `--ga` option
will not be shown in log files. will not be shown in log files.
@ -466,7 +519,7 @@ band indices where the values are calculated and summed and averaged over those
bands. bands.
```bash ```bash
% phono3py --fc3 --fc2 --dim="2 2 2" --mesh="16 16 16" -c POSCAR-unitcell --nac --gp="34" --bi="4 5, 6" % phono3py-load --mesh 16 16 16 --nac --gp 34 --bi "4 5, 6"
``` ```
This option may be also useful to distribute the computational demand such like This option may be also useful to distribute the computational demand such like
@ -489,7 +542,7 @@ calculated divided these integers by sampling mesh numbers for respective
reciprocal axes. reciprocal axes.
```bash ```bash
% phono3py --dim="2 2 2" --pa="F" -c POSCAR-unitcell --mesh="19 19 19" --wgp % phono3py-load --mesh 19 19 19 --wgp
``` ```
(stp_option)= (stp_option)=
@ -502,7 +555,7 @@ large a calculation is. Only those for specific grid points are shown by using
with `--gp` or `--ga` option. with `--gp` or `--ga` option.
```bash ```bash
% phono3py --dim="2 2 2" --pa="F" -c POSCAR-unitcell --mesh="19 19 19" --stp --gp 20 % phono3py-load --mesh 19 19 19 --stp --gp 20
``` ```
## Brillouin zone integration ## Brillouin zone integration
@ -533,7 +586,7 @@ This is used when we want to test several $\sigma$ values simultaneously.
The tails of the Gaussian functions that are used to replace delta functions in The tails of the Gaussian functions that are used to replace delta functions in
the equation shown at {ref}`--full-pp <full_pp_option>` are cut with this the equation shown at {ref}`--full-pp <full_pp_option>` are cut with this
option. The value is specified in number of standard deviation. option. The value is specified in number of standard deviation.
`--sigma-cutoff=5` gives the Gaussian functions to be cut at $5\sigma$. Using `--sigma-cutoff 5` gives the Gaussian functions to be cut at $5\sigma$. Using
this option scarifies the numerical accuracy. So the number has to be carefully this option scarifies the numerical accuracy. So the number has to be carefully
tested. But computation of phonon-phonon interaction strength becomes much tested. But computation of phonon-phonon interaction strength becomes much
faster in exchange for it. faster in exchange for it.
@ -614,27 +667,27 @@ database of the natural abundance data for elements, which refers Laeter _et
al._, Pure Appl. Chem., **75**, 683 (2003). al._, Pure Appl. Chem., **75**, 683 (2003).
```bash ```bash
% phono3py --dim="3 3 2" -v --mesh="32 32 20" -c POSCAR-unitcell --br --isotope % phono3py-load -v --mesh 32 32 20 --br --isotope
``` ```
### `--mass-variances` or `--mv` (`MASS_VARIANCES`) ### `--mass-variances` or `--mv` (`MASS_VARIANCES`)
Mass variance parameters are specified by this option to include phonon-isotope Mass variance parameters are specified by this option to include phonon-isotope
scattering effect in the same way as `--isotope` option. For example of GaN, scattering effect in the same way as `--isotope` option. For example of GaN,
this may be set like `--mv="1.97e-4 1.97e-4 0 0"`. The number of elements has to this may be set like `--mv 1.97e-4 1.97e-4 0 0`. The number of elements has to
correspond to the number of atoms in the primitive cell. correspond to the number of atoms in the primitive cell.
Isotope effect to thermal conductivity may be checked first running without Isotope effect to thermal conductivity may be checked first running without
isotope calculation: isotope calculation:
```bash ```bash
% phono3py --dim="3 3 2" -v --mesh="32 32 20" -c POSCAR-unitcell --br % phono3py-load -v --mesh 32 32 20 --br
``` ```
Then running with isotope calculation: Then running with isotope calculation:
```bash ```bash
% phono3py --dim="3 3 2" -v --mesh="32 32 20" -c POSCAR-unitcell --br --read-gamma --mv="1.97e-4 1.97e-4 0 0" % phono3py -v --mesh 32 32 20 --br --read-gamma --mv 1.97e-4 1.97e-4 0 0
``` ```
In the result hdf5 file, currently isotope scattering strength is not written In the result hdf5 file, currently isotope scattering strength is not written
@ -648,7 +701,7 @@ 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 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 micrometre. The default value, 1
metre, is just used to avoid divergence of phonon lifetime and the contribution metre, is just used to avoid divergence of phonon lifetime and the contribution
to the thermal conducitivity is considered negligible. to the thermal conductivity is considered negligible.
(ave_pp_option)= (ave_pp_option)=
@ -691,13 +744,13 @@ option is strongly recommended.
First, run full conductivity calculation, First, run full conductivity calculation,
```bash ```bash
% phono3py --dim="3 3 2" -v --mesh="32 32 20" -c POSCAR-unitcell --br % phono3py-load -v --mesh 32 32 20 --br
``` ```
Then Then
```bash ```bash
% phono3py --dim="3 3 2" -v --mesh="32 32 20" -c POSCAR-unitcell --br --read-gamma --ave-pp -o ave_pp % phono3py-load -v --mesh 32 32 20 --br --read-gamma --ave-pp -o ave_pp
``` ```
### `--const-ave-pp` (`CONST_AVE_PP = .TRUE.`) ### `--const-ave-pp` (`CONST_AVE_PP = .TRUE.`)
@ -715,7 +768,7 @@ $\text{eV}^2$.
See also {ref}`reference papers <ave_pp_reference>`. See also {ref}`reference papers <ave_pp_reference>`.
```bash ```bash
% phono3py --dim="3 3 2" -v --mesh="32 32 20" -c POSCAR-unitcell --br --const-ave-pp=1e-10 % phono3py-load -v --mesh 32 32 20 --br --const-ave-pp 1e-10
``` ```
(normal_umklapp_option)= (normal_umklapp_option)=
@ -739,7 +792,7 @@ The data are stored in `kappa-mxxx(-gx-sx-sdx).hdf5` file and accessed by
below: below:
```bash ```bash
% phono3py --dim="2 2 2" --pa="F" -c POSCAR-unitcell --mesh="11 11 11" --fc3 --fc2 --br --nu % phono3py-load --mesh 11 11 11 --fc3 --fc2 --br --nu
... ...
% ipython % ipython
@ -820,7 +873,7 @@ $$
Specific temperatures are specified by `--ts`. Specific temperatures are specified by `--ts`.
```bash ```bash
% phono3py --fc3 --fc2 --dim="2 2 2" -v --mesh="11 11 11" -c POSCAR-unitcell --br --ts="200 300 400" % phono3py-load -v --mesh 11 11 11 -c POSCAR-unitcell --br --ts 200 300 400
``` ```
### `--tmax`, `--tmin`, `--tstep` (`TMAX`, `TMIN`, `TSTEP`) ### `--tmax`, `--tmin`, `--tstep` (`TMAX`, `TMIN`, `TSTEP`)
@ -830,7 +883,7 @@ See phonopy's document for the same tags at
<http://phonopy.github.io/phonopy/setting-tags.html#tprop-tmin-tmax-tstep>. <http://phonopy.github.io/phonopy/setting-tags.html#tprop-tmin-tmax-tstep>.
```bash ```bash
% phono3py --fc3 --fc2 --dim="2 2 2" -v --mesh="11 11 11" -c POSCAR-unitcell --br --tmin=100 --tmax=1000 --tstep=50 % phono3py-load -v --mesh 11 11 11 --br --tmin 100 --tmax 1000 --tstep 50
``` ```
## Non-analytical term correction ## Non-analytical term correction
@ -918,7 +971,7 @@ to `gammas-mxxx-gx(-sx)-tx-bx.dat` in THz (without $2\pi$) with respect to
samplied frequency points of $\omega$ in THz (without $2\pi$). samplied frequency points of $\omega$ in THz (without $2\pi$).
```bash ```bash
% phono3py --fc3 --fc2 --dim="2 2 2" --mesh="16 16 16" -c POSCAR-unitcell --nac --q-direction="1 0 0" --gp=0 --ise --bi="4 5, 6" % phono3py-load --mesh 16 16 16 --nac --q-direction 1 0 0 --gp 0 --ise --bi "4 5, 6"
``` ```
(rse_option)= (rse_option)=
@ -945,7 +998,7 @@ $\Delta_\lambda(\omega)$ is written to `deltas-mxxx-gx-sx-tx-bx.dat` in THz
(without $2\pi$). (without $2\pi$).
```bash ```bash
% phono3py --fc3 --fc2 --dim="2 2 2" --mesh="16 16 16" -c POSCAR-unitcell --nac --q-direction="1 0 0" --gp=0 --rse --sigma="0.1" --bi="4 5, 6" % phono3py-load --mesh 16 16 16 --nac --q-direction 1 0 0 --gp 0 --rse --sigma 0.1 --bi "4 5, 6"
``` ```
(spectral_function_option)= (spectral_function_option)=
@ -982,7 +1035,7 @@ THz (without $2\pi$) with respect to samplied frequency points of $\omega$ in
THz (without $2\pi$), and `spectral-mxxx-gx.hdf5`. THz (without $2\pi$), and `spectral-mxxx-gx.hdf5`.
```bash ```bash
% phono3py --fc3 --fc2 --dim="2 2 2" --mesh="16 16 16" -c POSCAR-unitcell --nac --q-direction="1 0 0" --gp=0 --spf % phono3py-load --mesh 16 16 16 --nac --q-direction 1 0 0 --gp 0 --spf
``` ```
```{note} ```{note}
@ -1026,7 +1079,7 @@ $$
See also {ref}`reference papers <spectral_function_reference>`. See also {ref}`reference papers <spectral_function_reference>`.
```bash ```bash
% phono3py --fc2 --dim="2 2 2" --pa="F" -c POSCAR-unitcell --mesh="16 16 16" --jdos --ga="0 0 0 8 8 8" % phono3py-load --mesh 16 16 16 --jdos --ga 0 0 0 8 8 8
``` ```
When temperatures are specified, two classes of weighted JDOS are calculated. When temperatures are specified, two classes of weighted JDOS are calculated.
@ -1052,7 +1105,7 @@ $$
See also {ref}`reference papers <spectral_function_reference>`. See also {ref}`reference papers <spectral_function_reference>`.
```bash ```bash
% phono3py --fc2 --dim="2 2 2" --pa="F" -c POSCAR-unitcell --mesh="16 16 16" --jdos --ga="0 0 0 8 8 8" --ts=300 % phono3py-load --mesh 16 16 16 --jdos --ga 0 0 0 8 8 8 --ts 300
``` ```
This is an example of `Si-PBEsol`. This is an example of `Si-PBEsol`.
@ -1081,13 +1134,13 @@ Mode-Gruneisen-parameters are calculated from fc3.
Mesh sampling mode: Mesh sampling mode:
```bash ```bash
% phono3py --fc3 --fc2 --dim="2 2 2" -v --mesh="16 16 16" -c POSCAR-unitcell --nac --gruneisen % phono3py-load -v --mesh 16 16 16 --nac --gruneisen
``` ```
Band path mode: Band path mode:
```bash ```bash
% phono3py --fc3 --fc2 --dim="2 2 2" -v -c POSCAR-unitcell --nac --gruneisen --band="0 0 0 0 0 1/2" % phono3py-load -v --nac --gruneisen --band "0 0 0 0 0 1/2"
``` ```
## File I/O ## File I/O
@ -1199,7 +1252,7 @@ Phonon frequencies, eigenvectors, and grid point addresses are stored in
may be required depending on calculation setting. may be required depending on calculation setting.
```bash ```bash
% phono3py --fc2 --dim="2 2 2" --pa="F" --mesh="11 11 11" -c POSCAR-unitcell --nac --write-phoonon % phono3py-load --mesh 11 11 11 --nac --write-phoonon
``` ```
Contents of `phonon-mxxx.hdf5` are watched by: Contents of `phonon-mxxx.hdf5` are watched by:
@ -1248,7 +1301,7 @@ different CPU architectures. {ref}`--pa <pa_option>` and
{ref}`--nac <nac_option>` may be required depending on calculation setting. {ref}`--nac <nac_option>` may be required depending on calculation setting.
```bash ```bash
% phono3py --fc2 --fc3 --dim="2 2 2" --pa="F" --mesh="11 11 11" -c POSCAR-unitcell --nac --read-phoonon --br % phono3py-load --mesh 11 11 11 --nac --read-phoonon --br
``` ```
(write_read_pp_option)= (write_read_pp_option)=
@ -1266,11 +1319,11 @@ calculation, in writing and reading, ph-ph interaction strength has to be stored
in memory, so there is overhead in memory than usual RTA calculation. in memory, so there is overhead in memory than usual RTA calculation.
```bash ```bash
% phono3py --fc2 --fc3 --dim="2 2 2" --pa="F" --mesh="11 11 11" -c POSCAR-unitcell --nac --write-pp --br --gp=1 % phono3py-load --mesh 11 11 11 --nac --write-pp --br --gp 1
``` ```
```bash ```bash
% phono3py --fc2 --dim="2 2 2" --pa="F" --mesh="11 11 11" -c POSCAR-unitcell --nac --read-pp --br --gp=1 % phono3py-load --mesh 11 11 11 --nac --read-pp --br --gp 1
``` ```
(hdf5_compression_option)= (hdf5_compression_option)=

View File

@ -78,10 +78,10 @@ so the -c crystal.o parameter is not needed.
4) Calculate 3rd and 2nd order force constants in files `fc3.hdf5` and `fc2.hdf5`: 4) Calculate 3rd and 2nd order force constants in files `fc3.hdf5` and `fc2.hdf5`:
```bash ```bash
% phono3py --crystal --dim="2 2 2" --dim-fc2="4 4 4" --sym-fc % phono3py --crystal --dim="2 2 2" --dim-fc2="4 4 4" --fc-symmetry
``` ```
`--sym-fc` is used to symmetrize second- and third-order force constants. `--fc-symmetry` is used to symmetrize second- and third-order force constants.
5) Thermal conductivity calculation: 5) Thermal conductivity calculation:

View File

@ -1,17 +1,14 @@
(command_cutoff_pair)= (command_cutoff_pair)=
# Force constants calculation with cutoff pair-distance # Force constants calculation with cutoff pair-distance
```{note}
Since this calculation is a little bit tricky. It may be recommended to try Since usage of this calculation is complicated. It is recommended to try
{ref}`random-displacements` with `--fc-calc-opt "cutoff = VAL"` before trying {ref}`random-displacements` with `--fc-calc-opt "cutoff = VAL"` before trying
this option. this option.
```
Here the detail of the command option {ref}`--cutoff-pair <cutoff_pair_option>` Here the detail of the command option {ref}`--cutoff-pair <cutoff_pair_option>`
is explained. is explained. See also {ref}`a reference paper <cutoff_pair_reference>`.
<!-- See also reference {cite}`Mizokami-PRB-2018`. -->
See also {ref}`a reference paper <cutoff_pair_reference>`.
```{contents} ```{contents}
:depth: 2 :depth: 2
@ -329,7 +326,7 @@ number_of_pairs_in_cutoff: 110
300.0 119.501 119.501 119.501 -0.000 -0.000 0.000 300.0 119.501 119.501 119.501 -0.000 -0.000 0.000
300.0 119.483 119.483 119.483 -0.000 -0.000 0.000 300.0 119.483 119.483 119.483 -0.000 -0.000 0.000
300.0 119.481 119.481 119.481 -0.000 -0.000 0.000 300.0 119.481 119.481 119.481 -0.000 -0.000 0.000
% for i in {2..10};do cp phono3py_disp.$i.yaml phono3py_disp.yaml; phono3py --sym-fc --mesh="11 11 11" --br|tee std.sym-$i.out;done % for i in {2..10};do cp phono3py_disp.$i.yaml phono3py_disp.yaml; phono3py --fc-symmetry --mesh="11 11 11" --br|tee std.sym-$i.out;done
% for i in {2..10};do egrep '^\s+300' std.sym-$i.out;done % for i in {2..10};do egrep '^\s+300' std.sym-$i.out;done
300.0 124.650 124.650 124.650 -0.000 -0.000 0.000 300.0 124.650 124.650 124.650 -0.000 -0.000 0.000
300.0 119.765 119.765 119.765 -0.000 -0.000 0.000 300.0 119.765 119.765 119.765 -0.000 -0.000 0.000

View File

@ -20,28 +20,16 @@ the Wigner transport equation <LTC_options>`
Papers that may introduce phono3py: Papers that may introduce phono3py:
- Theoretical background is summarized in this paper: - Theoretical background is summarized in this paper:
<http://dx.doi.org/10.1103/PhysRevB.91.094306> (arxiv [PRB.91.094306](http://dx.doi.org/10.1103/PhysRevB.91.094306) (arxiv
<http://arxiv.org/abs/1501.00691>). [1501.00691](http://arxiv.org/abs/1501.00691>)).
- Introduction to phono3py application: - Introduction to phono3py application:
<https://journals.jps.jp/doi/10.7566/JPSJ.92.012001> (open access), [JPSJ.92.012001](https://journals.jps.jp/doi/10.7566/JPSJ.92.012001) (open access),
and phono3py inputs for 103 compounds found in Fig.17 and phono3py inputs for 103 compounds found in Fig.17
<https://github.com/atztogo/phonondb/blob/main/mdr/phono3py_103compounds_fd/README.md> <https://github.com/atztogo/phonondb/blob/main/mdr/phono3py_103compounds_fd/README.md>
- Implementation of phono3py: - Implementation of phono3py:
<https://iopscience.iop.org/article/10.1088/1361-648X/acd831> (open access) [JPCM.35.353001](https://iopscience.iop.org/article/10.1088/1361-648X/acd831)
(open access)
A set of pre-calculated data for phono3py in
```{image} Si-kaccum.png
:width: 20%
```
```{image} Si-kaccum-MFP.png
:width: 20%
```
```{image} Si-kdeplot.png
:width: 22%
```
## Documentation ## Documentation

View File

@ -8,31 +8,42 @@ module. The main aim of introducing this command is to provide uniform usage
over many different force calculators. Once `phono3py_disp.yaml` is created, the over many different force calculators. Once `phono3py_disp.yaml` is created, the
following operations will be the same using this command. following operations will be the same using this command.
The following default behaviours are different from that of those of `phono3py` This is used almost in the same way as `phono3py` command, e.g., but there are
command: some differences. The following default behaviours are different from that of
those of `phono3py` command:
1. `phono3py_xxx.yaml` type file is always necessary in either of two ways: 1. `phono3py_xxx.yaml` type file is always necessary in either of two ways:
- `phono3py_xxx.yaml` type file is given as the first argument of the - `phono3py_xxx.yaml` type file is given as the first argument of the
command. command, e.g.,
- `phono3py_xxx.yaml` type file is put in the current directory with one of
the default filenames of `phono3py_params.yaml`, `phono3py_disp.yaml`, ```bash
`phono3py.yaml`. The searching preference order is `phono3py_params.yaml` > % phono3py-load phono3py_xxx.yaml --br --ts 300 --mesh 50
`phono3py_disp.yaml` > `phono3py.yaml`. ```
- With first argument unspecified, `phono3py_disp.yaml` or `phono3py.yaml`
file is read if it is found in the current directory. If both found,
`phono3py_disp.yaml` is read. For example, having `phono3py_disp.yaml`
under the current directory,
```bash
% phono3py-load --br --ts 300 --mesh 50
```
2. `-c` option (read crystal structure) does not exist. 2. `-c` option (read crystal structure) does not exist.
3. `-d` option (create displacements) does not exist. 3. `-d` option (create displacements) does not exist. Please use `phono3py`
command.
4. Use of command options is recommended, but phono3py configuration file can be 4. Phono3py configuration file can be read through `--config` option. See
read through `--config` option. {ref}`use_config_with_option`.
5. If parameters for non-analytical term correction (NAC) are found, NAC is 5. If parameters for non-analytical term correction (NAC) are found, NAC is
automatically enabled. This can be disabled by `--nonac` option. automatically enabled. This can be disabled by `--nonac` option.
6. When force constants are calculated from displacements and forces dataset, 6. When force constants are calculated from displacements and forces dataset,
force constants are automatically symmetrized. To disable this, `--no-sym-fc` force constants are automatically symmetrized. To disable this, `--no-sym-fc`
option is used. option can be used.
7. `-o` option works differently from `phono3py` command. This option requires 7. `-o` option works differently from `phono3py` command. This option requires
one argument of string. The string is used as the output yaml filename that one argument of string. The string is used as the output yaml filename that

View File

@ -67,10 +67,10 @@ only limited number of keywords that are shown in the phonopy web site
`fc3.hdf5` and `fc2.hdf5` files are created by: `fc3.hdf5` and `fc2.hdf5` files are created by:
```bash ```bash
% phono3py --sym-fc % phono3py --fc-symmetry
``` ```
where `--sym-fc` symmetrizes fc3 and fc2. where `--fc-symmetry` symmetrizes fc3 and fc2.
5) Calculate lattice thermal conductivity, e.g., by: 5) Calculate lattice thermal conductivity, e.g., by:

View File

@ -6,7 +6,7 @@ displacement-force dataset for computing force constants. This requires an
external force constants calculator, e.g., symfc or ALM. Here, examples are external force constants calculator, e.g., symfc or ALM. Here, examples are
presented with using symfc that can be installed via pip or conda easily. presented with using symfc that can be installed via pip or conda easily.
## Related setting tags ## Related command options
- {ref}`random_displacements_option` (`--rd`, `--random-seed`) - {ref}`random_displacements_option` (`--rd`, `--random-seed`)
- {ref}`fc_calculator_option` (`--fc-calc`) - {ref}`fc_calculator_option` (`--fc-calc`)
@ -81,6 +81,18 @@ If `phono3py_disp.yaml` is located in current directory, force constants are
calculated from `FORCES_FC3` (and optionally `FORCES_FC2`) and calculated from `FORCES_FC3` (and optionally `FORCES_FC2`) and
`phono3py_disp.yaml` by `phono3py_disp.yaml` by
```bash
% phono3py-load --symfc -v
```
or
```bash
% phono3py-load phono3py_params.yaml --symfc -v
```
Similarly, it is performed by also using `phono3py` command,
```bash ```bash
% phono3py --symfc -v % phono3py --symfc -v
``` ```
@ -91,17 +103,6 @@ or with `phono3py_params.yaml`
% phono3py -c phono3py_params.yaml --symfc -v % phono3py -c phono3py_params.yaml --symfc -v
``` ```
Similarly, it is performed by also using `phono3py-load` command,
```bash
% phono3py-load --symfc -v
```
or
```bash
% phono3py-load phono3py_params.yaml --symfc -v
```
## Cutoff pair-distance for fc3 calculation ## Cutoff pair-distance for fc3 calculation
@ -113,7 +114,7 @@ introducing cutoff distance for pairs of atoms. It is performed by
`--fc-calc-opt` option as `--fc-calc-opt` option as
```bash ```bash
% phono3py --symfc -v --fc-calc-opt "cutoff=8" % phono3py-load --symfc -v --fc-calc-opt "cutoff=8"
``` ```
The shortcut of `--fc-calc-opt "cutoff=8"` is `--cutoff-pair 8`. The shortcut of `--fc-calc-opt "cutoff=8"` is `--cutoff-pair 8`.

View File

@ -69,7 +69,7 @@ so the `-c control` parameter is not needed.
4) Calculate 3rd and 2nd order force constants in files `fc3.hdf5` and `fc2.hdf5`: 4) Calculate 3rd and 2nd order force constants in files `fc3.hdf5` and `fc2.hdf5`:
```bash ```bash
% phono3py --turbomole --dim="2 2 2" --dim-fc2="3 3 3" --sym-fc % phono3py --turbomole --dim="2 2 2" --dim-fc2="3 3 3" --fc-symmetry
``` ```
`--sym-fc` is used to symmetrize second- and third-order force constants. `--sym-fc` is used to symmetrize second- and third-order force constants.

View File

@ -61,10 +61,10 @@
4. Create `fc2.hdf` and `fc3.hdf` 4. Create `fc2.hdf` and `fc3.hdf`
```bash ```bash
% phono3py --sym-fc % phono3py --fc-symmetry
``` ```
`--sym-fc` symmetrizes fc3 and fc2. `fc2.hdf5` and `fc3.hdf5` `--fc-symmetry` symmetrizes fc3 and fc2. `fc2.hdf5` and `fc3.hdf5`
are created from `FORCES_FC3` (and are created from `FORCES_FC3` (and
optionally `FORCES_FC2`) and `phono3py_disp.yaml`. This step is optionally `FORCES_FC2`) and `phono3py_disp.yaml`. This step is
not mandatory, but you can avoid calculating fc2 and fc3 at every not mandatory, but you can avoid calculating fc2 and fc3 at every

View File

@ -38,7 +38,7 @@ As discussed in the references above, the term $\kappa_{\rm P}^{\alpha \beta}$ c
To compute the Wigner conductivity with scattering in the RTA approximation, specify `--br` and `--wigner`. For `example/Wigner_La2Zr2O7`, the command is: To compute the Wigner conductivity with scattering in the RTA approximation, specify `--br` and `--wigner`. For `example/Wigner_La2Zr2O7`, the command is:
```bash ```bash
phono3py --nac --cell POSCAR --fc2 --dim="2 2 2" --dim-fc2="4 4 4" --mesh="19 19 19" --tmin=300 --tmax=1000 --tstep=700 --sym-fc --isotope --br --wigner --read-gamma > tc_La2Zr2O7.out phono3py --nac --cell POSCAR --fc2 --dim="2 2 2" --dim-fc2="4 4 4" --mesh="19 19 19" --tmin=300 --tmax=1000 --tstep=700 --fc-symmetry --isotope --br --wigner --read-gamma > tc_La2Zr2O7.out
``` ```
The example above uses the `--read-gamma` option to read the phonon linewidths stored in the file `kappa-m191919.hdf5`. The calculation of these linewidths is computationally expensive, more details are reported in the {ref}`paper on the Wigner formulation <citation_wigner_formulation>`, and in this example the linewidths are provided. The example above uses the `--read-gamma` option to read the phonon linewidths stored in the file `kappa-m191919.hdf5`. The calculation of these linewidths is computationally expensive, more details are reported in the {ref}`paper on the Wigner formulation <citation_wigner_formulation>`, and in this example the linewidths are provided.
To learn how to compute the linewidths, the reader is referred to the documentation of the `--write-gamma` option. To learn how to compute the linewidths, the reader is referred to the documentation of the `--write-gamma` option.

View File

@ -28,14 +28,14 @@ To avoid re-calculating fc3 and fc2, `fc3.hdf5` and `fc2.hdf5` are
created on a single node: created on a single node:
```bash ```bash
% phono3py --dim="2 2 2" --sym-fc -c POSCAR-unitcell % phono3py-load
``` ```
The indices of the irreducible grid-points neccesarry to specify The indices of the irreducible grid-points neccesarry to specify
`--ga` option are found by {ref}`--wgp option <wgp_option>` `--ga` option are found by {ref}`--wgp option <wgp_option>`
```bash ```bash
% phono3py --dim="2 2 2" --pa="F" -c POSCAR-unitcell --mesh="19 19 19" --fc3 --fc2 --br --wgp % phono3py-load --mesh 19 19 19 --br --wgp
``` ```
and they are stored in `ir_grid_points.yaml`. and they are stored in `ir_grid_points.yaml`.
@ -51,7 +51,7 @@ computational demands into computer nodes, a set of the grid-point
indices are chosen and executed as follows: indices are chosen and executed as follows:
```bash ```bash
% phono3py --dim="2 2 2" --pa="F" -c POSCAR-unitcell --mesh="19 19 19" --fc3 --fc2 --br --gp="0,1,2,3,4,5,6,7,8,9,20,21,22,23,24,25" --write-gamma % phono3py-load --mesh 19 19 19 --br --gp "0,1,2,3,4,5,6,7,8,9,20,21,22,23,24,25" --write-gamma
``` ```
Then many `kappa-m191919-gx.hdf5` files are generated. These file Then many `kappa-m191919-gx.hdf5` files are generated. These file
@ -63,7 +63,7 @@ indices, the RTA thermal conductivity is computed by another run in a
short time from the stored data: short time from the stored data:
```bash ```bash
% phono3py --dim="2 2 2" --pa="F" -c POSCAR-unitcell --mesh="19 19 19" --fc3 --fc2 --br --read-gamma % phono3py-load --mesh 19 19 19 --br --read-gamma
``` ```
## A convenient script ## A convenient script
@ -96,7 +96,7 @@ with open("ir_grid_points.yaml") as f:
Supposed that this script is saved as `divide_gps.py`, Supposed that this script is saved as `divide_gps.py`,
```bash ```bash
% phono3py --dim="2 2 2" --pa="F" -c POSCAR-unitcell --mesh="19 19 19" --wgp % phono3py-load --mesh 19 19 19 --wgp
... ...
% python divide_gps.py 20 % python divide_gps.py 20
0,30,52,82,120,402,434,468,524,844,1206 0,30,52,82,120,402,434,468,524,844,1206
@ -138,5 +138,5 @@ with `job.sh` (here for grid-engine):
#$ -e err-phono3py-num.log #$ -e err-phono3py-num.log
#$ -o std-phono3py-num.log #$ -o std-phono3py-num.log
phono3py --dim="2 2 2" --pa="F" -c POSCAR-unitcell --mesh="19 19 19" --fc3 --fc2 --br --gp="gps" --write-gamma phono3py-load --mesh 19 19 19 --br --gp "gps" --write-gamma
``` ```

View File

@ -23,7 +23,7 @@ for the CRYSTAL interface, so the -c crystal.o parameter is not needed
4) Create force constant files fc2.hdf5 and fc3.hdf5: 4) Create force constant files fc2.hdf5 and fc3.hdf5:
phono3py --crystal --dim="2 2 2" --dim-fc2="4 4 4" --sym-fc phono3py --crystal --dim="2 2 2" --dim-fc2="4 4 4" --fc-symmetry
5) Thermal conductivity calculation: 5) Thermal conductivity calculation:

View File

@ -59,6 +59,7 @@ def get_parser(fc_symmetry=False, is_nac=False, load_phono3py_yaml=False):
default=False, default=False,
help=("Use ALM for generating 2nd and 3rd force constants " "in one fitting"), help=("Use ALM for generating 2nd and 3rd force constants " "in one fitting"),
) )
if not load_phono3py_yaml:
parser.add_argument( parser.add_argument(
"--amplitude", "--amplitude",
dest="displacement_distance", dest="displacement_distance",