frozen_ions: if .TRUE. the elastic constants are calculated keeping the ions frozen in the strained positions. Default: logical .FALSE. ngeo_strain: the number of strained configurations used to calculate each derivative. Default: integer 4 ('standard' and 'advanced'), 6 ('energy') elastic_algorithm: 'standard', 'advanced', or 'energy'. See discussion above. Default: character 'standard' delta_epsilon: the interval of strain values between two geometries. To avoid a zero strain geometry that might have a different symmetry ngeo_strain must be even. Default: real 0.005 epsilon_0: a minimum strain. For small strains the ionic relaxation routine requires a very small threshold to give the correct internal relaxations and sometimes fail to converge. In this case you can increase delta_epsilon, but if delta_epsilon becomes too large you can reach the nonlinear regime. In this case you can use a small delta_epsilon and a minimum strain. (To be used only for difficult systems). Default: real 0.0 poly_degree: degree of the polynomial used to interpolate stress or energy. ngeo_strain must be larger than poly_degree+1 Default: 3 ('standard', 'advanced', 2 if ngeo_strain < 6), 4 ('energy', 3 if ngeo_strain < 6). fl_el_cons: the name of the file that contains the elastic constants Default: character(len=*) 'output_el_con.dat'The three algorithms are equivalent only at convergence both with k-point sampling and with the kinetic-energy cut-off, but large differences between the elastic constants obtained with the standard and advanced algorithms might point to insufficient k-point sampling. Large differences between the elastic constants obtained with the energy algorithm with respect to the other two might point to insufficient kinetic-energy cut-off.
Using the elastic constants tensor the code can calculate and print a few auxiliary quantities: the bulk modulus, the poly-crystalline averages of the Young modulus, of the shear modulus, and of the Poisson ratio. Both the Voigt and the Reuss averages are printed together with the Hill average. The Voigt-Reuss-Hill average of the shear modulus and of the bulk modulus are used to compute average sound velocities. The average of the Poisson ratio and the bulk modulus allow the estimation of the Debye temperature. The Debye temperature is calculated also with the exact formula evaluating the average sound velocity from the angular average of the sound velocities calculated for each propagation direction solving the Christoffel wave equation. The exact Debye temperature is used within the Debye model to calculate the Debye's vibrational energy, free energy, entropy and constant strain heat capacity. These quantities are plotted in a postscript file as a function of temperature.