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:
--eos BM¶
Use a volume-integrated Birch-Murnaghan equation of state of the form (default):
--eos V¶
Use a volume-integrated Vinet equation of state, expressed as:
--eos PT¶
Use a volume-integrated Pourier-Tarantola (Natural Strain) equation of state, formulated as:
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 |
|---|---|
|
Hartree |
|
electronVolt |
|
Rydberg |
--vunit VUNIT¶
Sets the units for unit-cell volume values (default A^3). Possible choices are:
VUNIT value |
Measurement unit |
|---|---|
|
cubic Angstrom |
|
cubic bohr |
--funit FUNIT¶
Sets the units for (phonon) frequency values (default cm^-1). Possible choices are:
FUNIT value |
Measurement unit |
|---|---|
|
wavenumber |
|
TeraHertz |
|
Hertz |
--tunit TUNIT¶
Sets the units for temperature values (default K). Possible choices are:
FUNIT value |
Measurement unit |
|---|---|
|
Kelvin |
|
Celsius degrees |
--punit PUNIT¶
Sets the units for pressure values (default GPa). Possible choices are:
PUNIT value |
Measurement unit |
|---|---|
|
Gigapascal |
|
kilobar |