mirror of https://github.com/phonopy/phono3py.git
Update document
This commit is contained in:
parent
e806f84d85
commit
ebcb29cf8c
|
@ -190,7 +190,8 @@ convergence.
|
|||
^^^^^^^^^
|
||||
|
||||
Outer product of group velocities :math:`\mathbf{v}_\lambda \otimes
|
||||
\mathbf{v}_\lambda` (in THz^2 x Angstrom^2)
|
||||
\mathbf{v}_\lambda` divided by primitive cell volume (in :math:`\text{THz}^2 /
|
||||
\text{Angstrom}`)
|
||||
|
||||
``--average``
|
||||
^^^^^^^^^^^^^^
|
||||
|
@ -233,12 +234,12 @@ Modal heat capacity :math:`C_\lambda` (in eV/K)
|
|||
^^^^^^^^^^^^^^
|
||||
|
||||
Absolute value of group velocity :math:`|\mathbf{v}_\lambda|` (in
|
||||
THz x Angstrom)
|
||||
:math:`\text{THz}\cdot\text{Angstrom}`)
|
||||
|
||||
``--pqj``
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
Averaged phonon-phonon interaction :math:`P_{\mathbf{q}j}` (in eV^2)
|
||||
Averaged phonon-phonon interaction :math:`P_{\mathbf{q}j}` (in :math:`\text{eV}^2`)
|
||||
|
||||
.. _auxiliary_tools_kdeplot:
|
||||
|
||||
|
|
|
@ -165,6 +165,8 @@ html_theme_options = {
|
|||
# Choose Bootstrap version.
|
||||
# Values: "3" (default) or "2" (in quotes)
|
||||
'bootstrap_version': "3",
|
||||
|
||||
'nosidebar': "true",
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -19,12 +19,12 @@ conductivity calculation is loaded and thermal conductivity tensor at
|
|||
300 K is watched.
|
||||
|
||||
::
|
||||
|
||||
|
||||
|
||||
In [1]: import h5py
|
||||
|
||||
|
||||
In [2]: f = h5py.File("kappa-m111111.hdf5")
|
||||
|
||||
|
||||
In [3]: list(f)
|
||||
Out[3]:
|
||||
[u'frequency',
|
||||
|
@ -39,10 +39,10 @@ conductivity calculation is loaded and thermal conductivity tensor at
|
|||
u'qpoint',
|
||||
u'temperature',
|
||||
u'weight']
|
||||
|
||||
|
||||
In [4]: f['kappa'].shape
|
||||
Out[4]: (101, 6)
|
||||
|
||||
|
||||
In [5]: f['kappa'][:]
|
||||
Out[5]:
|
||||
array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
|
||||
|
@ -58,7 +58,7 @@ conductivity calculation is loaded and thermal conductivity tensor at
|
|||
1.74843437e-18, 0.00000000e+00, -2.28116103e-18],
|
||||
[ 6.43792061e+00, 6.43792061e+00, 6.43792061e+00,
|
||||
1.73090513e-18, 0.00000000e+00, -2.25828616e-18]])
|
||||
|
||||
|
||||
In [6]: f['temperature'][:]
|
||||
Out[6]:
|
||||
array([ 0., 10., 20., 30., 40., 50., 60., 70.,
|
||||
|
@ -74,16 +74,16 @@ conductivity calculation is loaded and thermal conductivity tensor at
|
|||
800., 810., 820., 830., 840., 850., 860., 870.,
|
||||
880., 890., 900., 910., 920., 930., 940., 950.,
|
||||
960., 970., 980., 990., 1000.])
|
||||
|
||||
|
||||
In [7]: f['kappa'][30]
|
||||
Out[7]:
|
||||
array([ 2.18146513e+01, 2.18146513e+01, 2.18146513e+01,
|
||||
5.84389577e-18, 0.00000000e+00, -7.63278476e-18])
|
||||
|
||||
|
||||
In [8]: g = f['gamma'][30]
|
||||
|
||||
|
||||
In [9]: import numpy as np
|
||||
|
||||
|
||||
In [10]: g = np.where(g > 0, g, -1)
|
||||
|
||||
In [11]: lifetime = np.where(g > 0, 1.0 / (2 * 2 * np.pi * g), 0)
|
||||
|
@ -111,7 +111,7 @@ mesh
|
|||
(Versions 1.10.11 or later)
|
||||
|
||||
The numbers of mesh points for reciprocal space sampling along
|
||||
reciprocal axes, :math:`a^*, b^*, c^*`
|
||||
reciprocal axes, :math:`a^*, b^*, c^*`
|
||||
|
||||
frequency
|
||||
^^^^^^^^^^
|
||||
|
@ -130,7 +130,7 @@ is in the ordinal frequency not the angular frequency.
|
|||
The array shape for all grid-points (irreducible q-points) is
|
||||
(temperature, irreducible q-point, phonon band).
|
||||
|
||||
The array shape for a specific grid-point is
|
||||
The array shape for a specific grid-point is
|
||||
(temperature, phonon band).
|
||||
|
||||
Phonon lifetime (:math:`\tau_\lambda=1/2\Gamma_\lambda(\omega_\lambda)`) may
|
||||
|
@ -143,9 +143,9 @@ previous section to show how to obtain phonon lifetime in pico
|
|||
second::
|
||||
|
||||
In [8]: g = f['gamma'][30]
|
||||
|
||||
|
||||
In [9]: import numpy as np
|
||||
|
||||
|
||||
In [10]: g = np.where(g > 0, g, -1)
|
||||
|
||||
In [11]: lifetime = np.where(g > 0, 1.0 / (2 * 2 * np.pi * g), 0)
|
||||
|
@ -163,7 +163,7 @@ group_velocity
|
|||
^^^^^^^^^^^^^^^
|
||||
|
||||
Phonon group velocity, :math:`\nabla_\mathbf{q}\omega_\lambda`. The
|
||||
physical unit is :math:`\text{THz}\cdot\text{\AA}`, where THz
|
||||
physical unit is :math:`\text{THz}\cdot\text{Angstrom}`, where THz
|
||||
is in the ordinal frequency not the angular frequency.
|
||||
|
||||
The array shape is (irreducible q-point, phonon band, 3 = Cartesian coordinates).
|
||||
|
@ -228,7 +228,7 @@ Outer products of group velocities for k-stars
|
|||
\mathbf{v}_{\mathbf{q}j}.
|
||||
|
||||
The physical unit is
|
||||
:math:`\text{THz}^2\cdot\text{\AA}^2`, where THz is in the
|
||||
:math:`\text{THz}^2\cdot\text{Angstrom}^2`, where THz is in the
|
||||
ordinal frequency not the angular frequency.
|
||||
|
||||
The array shape is (irreducible q-point, phonon band, 6 = (xx, yy, zz,
|
||||
|
@ -293,5 +293,3 @@ calculated by::
|
|||
|
||||
kappa_unit_conversion / weight.sum() * heat_capacity[30, 2, 0] *
|
||||
gv_by_gv[2, 0] / (2 * gamma[30, 2, 0])
|
||||
|
||||
|
||||
|
|
|
@ -38,12 +38,12 @@ unit systems used for the calculators are summarized below.
|
|||
Abinit | au (bohr) eV/Angstrom au
|
||||
|
||||
``FORCES_FC2`` and ``disp_fc2.yaml`` have the same physical units as
|
||||
``FORCES_FC3`` and ``disp_fc3.yaml``, respectively.
|
||||
``FORCES_FC3`` and ``disp_fc3.yaml``, respectively.
|
||||
|
||||
Always (irrespective of calculator interface) the physical units of
|
||||
2nd and 3rd order force constants that are to be stored in
|
||||
``fc2.hdf5`` and ``fc3.hdf5`` are ``eV/Angstrom^2`` and
|
||||
``eV/Angstrom^3``, respectively.
|
||||
``fc2.hdf5`` and ``fc3.hdf5`` are :math:`\text{eV}/\text{Angstrom}^2` and
|
||||
:math:`\text{eV}/\text{Angstrom}^3`, respectively.
|
||||
|
||||
.. _default_unit_cell_file_name_for_calculator:
|
||||
|
||||
|
@ -51,8 +51,8 @@ Default unit cell file name
|
|||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Default unit cell file names are also changed according to the calculators::
|
||||
|
||||
VASP | POSCAR
|
||||
|
||||
VASP | POSCAR
|
||||
Pwscf | unitcell.in
|
||||
CRYSTAL | crystal.o
|
||||
Abinit | unitcell.in
|
||||
|
@ -70,4 +70,3 @@ Default displacement distances created by ``-d`` option without
|
|||
Pwscf | 0.06 au (bohr)
|
||||
CRYSTAL | 0.03 Angstrom
|
||||
Abinit | 0.06 au (bohr)
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ See the detail at :ref:`kappa_hdf5_file`.
|
|||
^^^^^^^^^^^^^
|
||||
|
||||
Third order force constants (in real space) are stored in
|
||||
:math:`\mathrm{eV}/\mathrm{\AA}^3`.
|
||||
:math:`\mathrm{eV}/\text{Angstrom}^3`.
|
||||
|
||||
In phono3py, this is stored in the numpy array ``dtype='double'`` and
|
||||
``order='C'`` in the shape of::
|
||||
|
@ -93,7 +93,7 @@ e.g., the face centring,
|
|||
0 & \frac{{1}}{2} & \frac{{1}}{2} \\
|
||||
\frac{{1}}{2} & 0 & \frac{{1}}{2} \\
|
||||
\frac{{1}}{2} & \frac{{1}}{2} & 0
|
||||
\end{pmatrix} =
|
||||
\end{pmatrix} =
|
||||
(\mathbf{a}_\text{s}, \mathbf{b}_\text{s}, \mathbf{c}_\text{s})
|
||||
\begin{pmatrix}
|
||||
0 & \frac{{1}}{4} & \frac{{1}}{4} \\
|
||||
|
@ -104,12 +104,12 @@ e.g., the face centring,
|
|||
So what you have to set is ``--pa="0 1/4 1/4 1/4 0 1/4 1/4 1/4 0"``.
|
||||
|
||||
.. _fc2_hdf5_file:
|
||||
|
||||
|
||||
``fc2.hdf5``
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
Second order force constants are stored in
|
||||
:math:`\mathrm{eV}/\mathrm{\AA}^3`.
|
||||
:math:`\mathrm{eV}/\text{Angstrom}^2`.
|
||||
|
||||
In phono3py, this is stored in the numpy array ``dtype='double'`` and
|
||||
``order='C'`` in the shape of::
|
||||
|
@ -133,13 +133,13 @@ Q-point triplet contributions to imaginary parts of self energies at
|
|||
phonon frequencies (half linewidths) are stored in THz. See
|
||||
:ref:`write_detailed_gamma_option`.
|
||||
|
||||
Simple text file
|
||||
Simple text file
|
||||
-----------------
|
||||
|
||||
``gammas-*.dat``
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
Imaginary parts of self energies with respect to frequency
|
||||
Imaginary parts of self energies with respect to frequency
|
||||
:math:`\Gamma_\lambda(\omega)` are stored in THz. See :ref:`ise_option`.
|
||||
|
||||
``jdos-*.dat``
|
||||
|
@ -149,5 +149,3 @@ Joint densities of states are stored in Thz. See :ref:`jdos_option`.
|
|||
|
||||
``linewidth-*.dat``
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
||||
|
|
|
@ -101,7 +101,7 @@ Displacement distance of atoms
|
|||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The phono3py default displacement distance is 0.03
|
||||
:math:`\text{\AA}`. In some cases, accurate result may not be obtained
|
||||
:math:`\text{Angstrom}`. In some cases, accurate result may not be obtained
|
||||
due to the numerical noise of the force calculator. Usually increasing
|
||||
the displacement distance by the :ref:`amplitude option
|
||||
<amplitude_option>` reduces the numerical noise, but as its drawback
|
||||
|
|
|
@ -441,6 +441,8 @@ if __name__ == '__main__':
|
|||
mesh,
|
||||
ir_grid_points,
|
||||
grid_address)
|
||||
|
||||
# gv x gv is divied by primitive cell volume.
|
||||
unit_conversion = primitive.get_volume()
|
||||
mode_prop = gv_sum2.reshape((1,) + gv_sum2.shape) / unit_conversion
|
||||
else:
|
||||
|
@ -451,7 +453,7 @@ if __name__ == '__main__':
|
|||
|
||||
frequencies = f['frequency'][:]
|
||||
conditions = frequencies > 0
|
||||
if not conditions.all():
|
||||
if conditions.sum() > 3:
|
||||
sys.stderr.write("# Imaginary frequencies are found. "
|
||||
"They are set to be zero.\n")
|
||||
frequencies = np.where(conditions, frequencies, 0)
|
||||
|
|
Loading…
Reference in New Issue