Options for Quasi-Harmonic Approximation calculations

Last updated

Jul 25, 2024

Author

Gianfranco Ulian

The same options for the harmonic approximation applies, but there is also the possibility to change the units used to describe pressure. In addition, there are several options to control how the quasi-harmonic properties are calculated.

Usage: quantas qha [OPTIONS] FILENAME

  Quasi-Harmonic Approximation calculation.

  This command requires a file (FILENAME) that will be read to provide the
  input data for the calculations.

Options:
  -o, --outfile out_file          Output file where data will be stored,
                                  without extension.
  -s, --scheme [freq|td]          QHA scheme, select between frequency (freq)
                                  or thermodynamic (td) interpolation.
                                  [default: (td)]
  -m, --minimization [poly|eos]   Volume minimization scheme, select between
                                  polynomial roots (poly) or equation of state
                                  fitting (eos).  [default: (poly)]
  -T, --temperature min max step  Temperature range provided as a tuple.
                                  [default: ((298.15, 298.15, 1.))]
  -P, --pressure min max step     Pressure range provided as a tuple.
                                  [default: ((0., 0., 1.))]
  --fdeg INTEGER RANGE            Set the degree of the polynomials used to
                                  fit phonon frequency values.  [default: 3]
  --edeg INTEGER RANGE            Set the degree of the polynomials used to
                                  fit energy values.  [default: 3]
  --eos [M|BM|PT|V]               Set the equation of state formulation.
                                  [default: (BM)]
  --eunit [Ha|eV|Ry]              Measurement unit for energy values.
                                  [default: (Ha)]
  --vunit [A|bohr]                Measurement unit for volume values.
                                  [default: (A)]
  --funit [cm^-1|THz|Hz]          Measurement unit for phonon frequency
                                  values.  [default: (cm^-1)]
  --tunit [K|C]                   Measurement unit for temperature values.
                                  [default: (K)]
  --punit [GPa|kbar]              Measurement unit for pressure values.
                                  [default: (GPa)]
  -q, --quiet                     Output will not be printed on screen.
  -d, --debug                     Activate debug option.
  -h, --help                      Show this message and exit.

Define a temperature range

-T min max step, --temperature min max step

Sets the temperature range over which quasi-harmonic thermodynamic properties are calculated. This range can be set with three numbers after the flag:

  • the first value represents the minimum temperature;

  • the second value represents the maximum temperature;

  • the third value represents the temperature step.

For example, a calculation between 400 K and 1200 K, with an increment of 0.1 K can be requested by promting:

quantas ha -T 400 1200 0.1

Note

Temperature values are float numbers.

Define a pressure range

-P min max step, --pressure min max step

Sets the pressure range over which quasi-harmonic thermodynamic properties are calculated. This range can be set with three numbers after the flag:

  • the first value represents the minimum pressure;

  • the second value represents the maximum pressure;

  • the third value represents the pressure step.

For example, a calculation between 0 GPa and 10 GPa, with an increment of 2 GPa can be requested by promting:

quantas ha -P 0 10 2

Note

Pressure values are float numbers.

Thermodynamic calculation approach

Two methods to calculate thermodynamic and derived properties can be employed in Quantas. They can be selected as with the -s or --scheme option

-s td, --scheme td

Interpolate (harmonic) thermodynamic properties at each considered temperature by polynomial functions (default). Then, the same functions are employed to calculate these properties at specific P-V-T conditions.

-s freq, --scheme freq

Use frequency continuity to calculate thermodynamic properties at specific P-V-T conditions.

With this scheme, all frequency bands are interpolated by polynomial functions, which are then employed to calculate thermodynamics at unit-cell volumes at selected P-T settings.

Volume minimization scheme

Volume minimization at selected P-T conditions is performed by minimizing the Helmholtz free energy on isothermal \(F(V)\) curves at target pressures. These curves can be described by:

  • polynomial functions (numerical approach, default)

  • equation of state (EoS) functions (phenomenological approach)

The minimization scheme can be selected appending the -m or --minimization flag to the qha sub-command.

-m poly, --minimization poly

Use polynomial functions of selected degree to fit and minimize isothermal \(F(V)\) curves.

-m eos, --minimization eos

Use equation of state functions to fit and minimize isothermal \(F(V)\) curves.

Equation of state selection

In the case of volume minimization by EoS, its specific volume-integrated formulation can be selected by using the --eos flag:

--eos M

Use a volume-integrated Murnaghan equation of state of the form:

\[E = E_0 + K_0 \frac{V}{K^{\prime}} \Bigg[ \frac{\big(V_0/V\big)^{K^{\prime}}}{{K^{\prime}} -1} + 1 \Bigg] - V_0 \frac{K_0}{{K^{\prime}} - 1}\]

--eos BM

Use a volume-integrated Birch-Murnaghan equation of state of the form (default):

\[E = E_0 + K_0 V_0 \frac{9}{16} \Big\{ K^{\prime} \Big( \eta^2 - 1 \Big)^{3} + \Big[ \big( \eta^{2} -1 \big)^{2} \big(6 - 4 \eta^{2} \big) \Big] \Big\}\]
\[\eta = \Bigg( \frac{V_0}{V} \Bigg)^{1 / 3}\]

--eos V

Use a volume-integrated Vinet equation of state, expressed as:

\[E = E_0 + 2 \frac{ K_0 V_0}{\big(K^{\prime} - 1)}^2 \Big\{ 2 - \bigg[ 5 + 3K^{\prime} \big(\eta - 1\big) \bigg] e^{-3\big(K^{\prime}-1\big)\big(\eta -1\big) / 2}\]
\[\eta = \Bigg( \frac{V_0}{V} \Bigg)^{1 / 3}\]

--eos PT

Use a volume-integrated Pourier-Tarantola (Natural Strain) equation of state, formulated as:

\[E = E_0 + \frac{B_0 V_0 \rho^2}{6} \bigg(3 + \rho \big(K^{\prime}-2\big) \bigg)\]
\[\eta = \Bigg( \frac{V_0}{V} \Bigg)^{1 / 3}\]
\[\rho = -3 ln(\eta)\]

Polynomial fitting options

Polynomial fit options are related to the degree of the employed polynomial. Default values should provide adequate results, but the user may want to change them according to the situation.

--edeg

Set the degree of the polynomial function used to fit energy vs volume data. Here, the term ‘energy’ refers to any energy value calculated by Quantas (internal energy, entropy and so on). These polynomial functions are employed if it is requested one or both of these options:

  • fit of thermodynamic properties (see --thermodynamics)

  • minimization of volume by polynomials (see --polymin)

The default value is 3.

--fdeg

Set the degree of the polynomial function used to fit frequency vs volume data, and is employed in conjuction with the frequency interpolation scheme (see --frequency).

The default value is 3.

Measurement units

--eunit EUNIT

Sets the units for energy values (default Ha). Possible choices are:

EUNIT value

Measurement unit

Ha

Hartree

eV

electronVolt

Ry

Rydberg

--vunit VUNIT

Sets the units for unit-cell volume values (default A^3). Possible choices are:

VUNIT value

Measurement unit

A^3

cubic Angstrom

bohr^3

cubic bohr

--funit FUNIT

Sets the units for (phonon) frequency values (default cm^-1). Possible choices are:

FUNIT value

Measurement unit

cm^-1

wavenumber

THz

TeraHertz

Hz

Hertz

--tunit TUNIT

Sets the units for temperature values (default K). Possible choices are:

FUNIT value

Measurement unit

K

Kelvin

C

Celsius degrees

--punit PUNIT

Sets the units for pressure values (default GPa). Possible choices are:

PUNIT value

Measurement unit

GPa

Gigapascal

kbar

kilobar