next up previous contents
Next: 4.20 what='elastic_constants_t' Up: 4 Input variables Previous: 4.18 what='mur_lc_elastic_constants'   Contents

4.19 what='mur_lc_t'

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 correspond to a given temperature. 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 polynomium (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 working 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 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 working directory, 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. In addition to the quantities plotted for cubic solids, the code plots also the elastic constants as a function of the temperature and the difference between elastic constants calculated at constant temperature or at constant entropy. 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 corresponds to 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. It can be activated only in cubic solids but
                requires 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. 
lquartic_ph   : if .TRUE. fit the vibrational free energy with a fourth
                order polynomial, otherwise with a second order polynomial
                Default: logical .FALSE.
lv0_t         : if .TRUE.  the calculation of the thermal expansion with 
                Gruneisen parameters uses the equilibrium volume as a 
                function of temperature computed from the free energy 
                minimization, otherwise the volume at T=0 K.
                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. For anisotropic
                solids only lb0_t=.FALSE. is implemented.
                Default: logical .TRUE.
flpgrun       : file where the values of the Gruneisen parameters are written. 
                Default: character(len=*) 'output_pgrun.dat'
flgrun        : 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 the file with the same name 
                plus the string _freq.
                Default: character(len=*) 'output_grun.ps'
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.ps'
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 reduced_grid=.TRUE.
all_geometries_together : if .TRUE. all the phonon calculation for
                all the geometrie 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 of the use of 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 up previous contents
Next: 4.20 what='elastic_constants_t' Up: 4 Input variables Previous: 4.18 what='mur_lc_elastic_constants'   Contents
2018-07-17