With this option the code can compute the elastic constants and elastic compliances as a function of temperature using the quasi-harmonic approximation. For the same geometries that are used to compute the elastic constants with the elastic_algorithm='energy_std' or elastic_algorithm= 'energy', the code can compute the phonon dispersions and compute the elastic constants at each temperature as the second derivatives of the Helmholtz free energy with respect to strain. The second derivatives are corrected so that the stress-strain elastic constants are shown in the plots and in output. The temperature dependent elastic constants are calculated on a regular grid of unperturbed geometries, the same geometries chosen by the option what='mur_lc', and written on separate files, one for each unperturbed geometry, inside the directory anhar_files. In order to plot the elastic constants as a function of temperature within the `quasi-harmonic' approximation, it is necessary to make another calculation with what='mur_lc_t' having on files the elastic constants calculated for each geometry with the present option. In this case thermo_pw will be able to calculate the anharmonic properties using temperature dependent elastic constants and bulk moduli obtained by interpolating the ``fixed-geometry quasi-harmonic'' elastic constants computed by this option at the crystal parameters found at each temperature from the minimization of the free energy. The variables fact_ngeo and ngeo_ph are not available with this option. Using start_geometry_qha and last_geometry_qha it is possible to compute the temperature dependent elastic constants for selected or for a single unperturbed configuration. The use of start_geometry and last_geometry is also allowed but it refers to the global number of geometries necessary to compute the elastic constants in all the grid.
Since the calculation of the Helmholtz free energy derivatives is
quite heavy, it has to be requested explicitly using the flag
use_free_energy=.TRUE..
By default, the code computes only the elastic constants at
T = 0
use_free_energy : when .TRUE. computes the elastic constants as second derivatives of the Helmholtz free energy with respect to strain. When .FALSE. the elastic constants are computed as second derivatives of the energy or using the stress-strain algorithms. Default: .FALSE. start_geometry_qha : Among the geometries considered by the option mur_lc_t the calculations of elastic constants are done starting from this geometry. Default: integer 1 last_geometry_qha : Among the geometries considered by the option mur_lc_t the calculations of elastic constants are done only up to this geometry. Default: integer total number of geometries.
An example for this option with use_free_energy=.FALSE.
can be found in example22 while an example with
use_free_energy=.TRUE. can be found in example23.
Number of tasks for this option: The product of the number of tasks
needed by the what='scf_elastic_constants' option
and the number of geometries used with what=mur_lc_t when
use_free_energy=.FALSE.. When use_free_
energy=.TRUE.
and all_geometries_together=.TRUE. the number of tasks of the
previous case is further multiplied by the number of tasks needed to
compute a phonon dispersion (see above the option what='scf_ph').
When use_free_energy=.TRUE. and
all_geometries_together=.FALSE. the number of tasks of this
option is equal to the number of tasks needed to compute a phonon dispersion.