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 inter-
polated 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 inter-
polated 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 interpolate
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
2021-07-20