Next: 4.20 what='elastic_constants_t'
Up: 4 Input variables
Previous: 4.18 what='mur_lc_elastic_constants'
Contents
With this option the code calculates the anharmonic
properties within the quasi-harmonic approximation.
The outputs of the code are the values of crystal parameters
(celldm) as a function of temperature. This calculation is done
by computing the phonon dispersions on all the geometries specified as in
what='mur_lc' (or on a subset of these geometries) and
minimizing the Helmholtz free energy.
Separate plots of the phonon dispersions are obtained for all the
calculated geometries.
For each geometry the code produces also plots of the phonon density
of states and of the harmonic thermodynamic quantities.
From celldm as a function of temperature the code computes the thermal
expansion tensor, the volume, and the volume thermal expansion as a
function of temperature.
The frequencies at all the calculated geometries are interpolated
by quadratic or quartic polynomials of the crystal parameters
and can be shown at crystal parameters given in input or at those that
minimize the free energy at a temperature given in input. The
interpolated frequencies
are shown on the same path used for the phonon dispersions.
In addition to the frequencies the code produces also several plots of
the derivatives of the frequencies with respect to the crystal parameters
multiplied by the crystal parameters.
When the Murnaghan equation is used to interpolate the
Helmholtz free energy (lmurn=.TRUE.), in addition to the volume,
the bulk modulus and the pressure derivative of the bulk modulus are
plotted as a function of
temperature. Moreover the isobaric heat capacity, the isoentropic
bulk modulus, and the average Grüneisen parameter are calculated as
a function of temperature.
The mode Grüneisen parameters are calculated with cubic interpolations of the
phonon frequencies. Using the variable with_eigen one can
calculate these parameters as derivatives of the phonon frequencies
(default) or as expectation values of the derivatives of the dynamical
matrix on the central geometry eigenvectors (might require a lot of RAM).
The mode Grüneisen parameters are used to calculate the volume
thermal expansion and the result is compared with the volume thermal expansion
derived from the numerical derivative of the equilibrium volume obtained
from the minimization of the Helmholtz free energy.
When the Helmholtz free energy is interpolated with a quadratic or cubic
polynomial (lmurn=.FALSE.), by default, the code computes only
the temperature dependence of the lattice parameters and of the volume, the
volume thermal expansion, and the thermal expansion tensor. However if a file
with the elastic constants is found in the elastic_constants
directory
and lb0_t=.FALSE. the bulk modulus is calculated and
assumed independent from the temperature so that also the isobaric specific
heat, the isoentropic bulk modulus, and the average Grüneisen parameter
are calculated as a function of temperature. The derivatives of the
frequencies with respect to the crystal parameters are used to calculate
the thermal expansion tensor which
is compared with that obtained from the numerical derivatives of the
crystal parameters obtained from the minimization of the Helmholtz free energy.
If many files with the elastic constants, one for each geometry, as
produced with the option elastic_constants_t, are found
in the elastic_constants directory and lb0_t=.TRUE., the bulk modulus and
the elastic constants
are computed as a function of temperature within the ``quasi-static
approximation" and are used
to calculate the other thermodynamic properties.
If one or many elastic constants files are found in the
anhar_files directory and lb0_t=.TRUE. the bulk modulus
and elastic constants are computed as a function of temperature
within the ``quasi-harmonic approximation" and are used
to calculate the other thermodynamic properties (see a more detailed
discussion in the option what=elastic_constants_t).
In addition to the
quantities plotted for cubic solids, the code plots also the elastic
constants and the bulk modulus as a function of the temperature and
the elastic compliances and the compressibility as a function of temperature.
The elastic constants are interpolated with a quadratic
(lquartic=.FALSE.) or quartic (lquartic=.TRUE.) polynomial
of the crystal parameters.
Moreover the thermal stresses and the generalized average Grüneisen
parameters are plotted.
These possibilities are implemented only for cubic, tetragonal,
hexagonal, trigonal, and orthorhombic systems.
With this option the pressure control is active. You can specify a
finite pressure and the Gibbs energy is minimized instead of the
Helmholtz free energy. Note however that if the minimum is distant from
the starting configuration its associated error can be large, larger for the
quadratic than for the Murnaghan interpolation.
The input variables that control these plots are those described in the option
what='mur_lc' and what='mur_lc_disp' in addition to the
following:
grunmin_input : minimum y coordinate for the Gruneisen parameter plot.
Default: real, calculated from the Gruneisen parameters.
grunmax_input : maximum y coordinate for the Gruneisen parameter plot.
Default: real, calculated from the Gruneisen parameters.
volume_ph : The frequencies and Gruneisen parameters interpolated
at this volume are plotted on a postscript file.
When volume_ph=0.0 the volume is calculated from temp_ph.
This option is available only for cubic solids. Otherwise
use celldm_ph.
Default : 0.0 (in (a.u.)**3)
celldm_ph : The frequencies and Gruneisen parameters interpolated
at this crystal parameters are plotted on a postscript file.
If this is 0.0 the celldm are calculated from temp_ph.
To have accurate Gruneisen parameters and interpolated
frequencies set the central geometry as close as possible
to celldm_ph. When all nstep are odd, the central geometry
is the one given in the input of pw.x.
Default : 0.0 (celldm(1) in a.u., celldm(2-6) dimensionless)
temp_ph : The frequencies and Gruneisen parameters interpolated at
the volume (cubic systems) or at celldm (anisotropic systems)
that minimize the energy at this temperature are plotted
on a postscript file (only when volume_ph=0.0 or
celldm_ph(1)=0.0).
Default : real tmin (in K)
with_eigen : if .TRUE. use the eigenvectors of the dynamical matrix to
calculate the Gruneisen parameters used for anharmonic
properties. Could require a lot of RAM.
Note however that eigenvectors are always used to calculate
the plotted Gruneisen bands (both in cubic and anisotropic
solids).
Default: logical .FALSE.
poly_degree_ph : degree of the polynomial used to interpolate the vibrational
free energy. Presently only the values 1, 2, 3, or 4 are
available for anisotropic solids.
Default: integer 4
poly_degree_cv : degree of the polynomial used to interpolate the
heat capacity. Presently only the values 1, 2, 3, or 4 are
available for anisotropic solids.
Default: integer 4
poly_degree_bfact : degree of the polynomial used to interpolate the
b factor. Presently only the values 1, 2, 3, or 4 are
available for anisotropic solids.
Default: integer 4
poly_degree_elc : degree of the polynomial used to interpolate the
elastic constants. Presently only the values 1, 2, 3, or 4 are
available for anisotropic solids.
Default: integer 4
lv0_t : if .TRUE. the calculation of the thermal expansion with
Gruneisen parameters uses the equilibrium geometry as a
function of temperature computed from the free energy
minimization, otherwise the equilibrium geometry at T=0 K.
If reduced_grid=.TRUE. or both ltherm_freq=.FALSE. and
ltherm_dos=.FALSE. the input geometry is used when
lv0_t=.FALSE.
Default: logical .TRUE.
lb0_t : if .TRUE. the calculation of the thermal expansion with
Gruneisen parameters uses the bulk modulus as a function of
temperature computed from the free energy minimization,
otherwise the bulk modulus computed at T=0 K (lmurn=.TRUE.).
For lmunrn=.FALSE. the code expects a single elastic
constant file when lb0_t=.FALSE. and an elastic constants
file for each geometry when lb0_t=.TRUE.. Note that if
lb0_t=.FALSE. and there are many elastic constants files
the code use a constant bulk modulus computed with the
elastic constants found in the file of the central geometry.
If lb0_t=.TRUE. and there is a single elastic constants
file all the quantities that depend on elastic properties
are not computed.
Default: logical .TRUE.
poly_degree_grun : degree of the polynomial used to intepolate the frequencies
(Used only when lmurn=.TRUE. otherwise it is 2).
Default: 4
flgrun : file where the Gruneisen parameters are written.
Default: character(len=*) 'output_pgrun.dat'
flpgrun : file where the Gruneisen parameters in a plotable form are
written.
Default: character(len=*) 'output_grun.dat'
flpsgrun : name of the postscript file with the Gruneisen parameters plot.
The frequencies are written in a file with the same name
plus the string _freq.
Default: character(len=*) 'output_grun'
flanhar : file where the anharmonic thermodynamic quantities are written.
Default: character(len=*) 'output_anhar.dat'
flpsanhar : postscript file of the anharmonic quantities.
Default: character(len=*) 'output_anhar'
fact_ngeo(1)...fact_ngeo(6) : With these factors the vibrational free energy
is interpolated using a smaller number of geometries
with respect to the total energy. The phonons are always
calculated at geometry 1, then fact_ngeo(i)-1 geometries
are not calculated and so on. The last calculated geometry
must be ngeo(i). This happens when fact_ngeo(i) divides
ngeo(i)-1. For even ngeo(i), fact_ngeo(i) must be 1.
For odd ngeo(i) the following table gives a few examples
ngeo fact_ngeo calculated geometries
3 2 1,3
5 2 1,3,5
7 2 1,3,5,7
7 3 1,4,7
9 2 1,3,5,7,9
9 4 1,5,9
11 2 1,3,5,7,9,11
11 5 1,6,11
Defaults: integer 1,1,1,1,1,1
This option is not active when one of the ngeo_ph(i) is
different from ngeo(i).
ngeo_ph(1),...,ngeo_ph(6) These variables are set to compute the phonon
dispersions in a subset of the geometries used to compute
the total energy. All values must be smaller than the
corresponding ngeo and even or odd as the corresponding ngeo.
step_ngeo remains the same for the two meshes.
The following table gives a few examples:
ngeo ngeo_ph phonon calculated in geometries
5 3 2,3,4
6 2 3,4
6 4 2,3,4,5
7 3 3,4,5
7 5 2,3,4,5,6
9 3 4,5,6
9 5 3,4,5,6,7
Defaults: integer ngeo(1),...,ngeo(6)
reduced_grid: if .TRUE. the computed geometries are only along one dimensional
lines. So each parameter is varied independently keeping
the others fixed at the input values.
This option sets ltherm_freq=.FALSE., ltherm_dos=.FALSE.,
lv0_t=.FALSE. and lb0_t=.FALSE..
With this option the thermal expansion is calculated only
using the Gruneisen parameters at the input geometry.
The multidimensional fit of the free energy is not done so
this method should be faster than the default one, but it
is less precise. This option is used only with lmurn=.FALSE.
and requires a file with the elastic constants at the input
geometry.
Default: logical .FALSE.
all_geometries_together : if .TRUE. all the phonon calculation for
all the geometries are used for the image parallelization.
To be used only if you have many images (and CPUs) available.
Default : logical .FALSE.
The output files corresponding to different geometries can be identified
by the presence of the letters g1, g2, ... in the filename.
To exploit all the features of this option please write the dynamical matrices
in .xml format (using a fildyn with the .xml
extension).
An example for this option can be found in example09.
Number of tasks for this option: Maximum between the number of tasks
needed by the what='mur_lc' option and the number
of tasks of the phonon code (see above the option what='scf_ph').
When all_geometries_together=.TRUE.: number of tasks of the
phonon code times the number of geometries.
Next: 4.20 what='elastic_constants_t'
Up: 4 Input variables
Previous: 4.18 what='mur_lc_elastic_constants'
Contents
espresso
2020-12-17