Input Files

The pgm code has two types of input files as described in the following contents:

  1. a user-specified control file settings.yaml

  2. a series of data files input-*K

Table 3: Files needed for using the code

File name

Description

settings.yaml

Settings file for pgm calculation, the user
can set the temperatures, pressures, input
file structures, and output files.
input-0K,
input-300K,
input-1000K…
Each input data file contains the volumes,
static total energies, and frequencies from
ab initio calculations at its temperature as
specified in the input file name.

Configuration File settings.yaml

The configuration file is a YAML file that contains various parameters and settings used by the program. The format of the configuration file is as follows:

# This is the example of FeO
# examples/feo/feo.yaml

NV: 201
NT: 41
folder: './%sK.txt'
initP : 200
finalP : 400
ratio : 1.2
output_directory : './results/'
temperature :
            - 0
            - 1000
            - 2000
            - 3000
            - 4000
pressure : True
entropy : True
internal_energy : True
enthalpy : True
gibbs_free_energy : True
thermal_expansion_coefficient : True
isothermal_bulk_modulus : True
gruneisen_parameter : True
adiabatic_bulk_modulus : True
volumetric_heat_capacity : True
isobaric_heat_capacity : True

The following parameters must be specified in the configuration file:

Table 4: Parameters in the settings.yaml file in YAML syntax.

Parameters

Type

Description

NV

Integer

Number of volumes (same as pressures) on the grid

NT

Integer

Number of temperatures on the grid

folder

String

The folder or data file name containing the placeholder for the temperatures,
i.e., ‘/%sK/input.txt’, ‘./%sK.txt’

initP

Integer/Float

The desired initial pressure in the unit of GPa for calculations

finalP

Integer/Float

The desired final pressure in the unit of GPa for calculations

temperature

List of Integer/Float

The list of temperatures of the inputs in the unit of Kelvin which are put into
the placeholder specified in the folder parameter.

output_directory

String

The path to save the output data. The default path is ‘./results/’.

pressure

Boolean type value

Determine whether to output pressure vs. temperature and volume results

entropy

Boolean type value

Determine whether to output entropy vs. temperature and volume results.

internal_energy

Boolean type value

Determine whether to output internal energy vs. temperature and pressure results

enthalpy

Boolean type value

Determine whether to output enthalpy vs. temperature and pressure results.

gibbs_free_energy

Boolean type value

Determine whether to output Gibbs free energy vs. temperature and pressure results.

thermal_expansion_coefficient

Boolean type value

Determine whether to output thermal expansion coefficient vs. temperature and pressure results.

isothermal_bulk_modulus

Boolean type value

Determine whether to output isothermal bulk modulus vs. temperature and pressure results.

gruneisen_parameter

Boolean type value

Determine whether to output the Grüneisen parameter vs. temperature and pressure results.

adiabatic_bulk_modulus

Boolean type value

Determine whether to output adiabatic bulk modulus vs. temperature and pressure results.

volumetric_heat_capacity

Boolean type value

Determine whether to output volumetric heat capacity vs. temperatureand pressure results.

isobaric_heat_capacity

Boolean type value

Determine whether to output isobaric heat capacity vs. temperature and pressure results.

QHA Input Data File

The QHA input data file is a text file that contains data used by the program to perform Quasi Harmonic Approximation (QHA) calculations.

We use the same file structure used in the Python package qha to store phonon calculation information to optimize compatibility, see QHA’s input data.

How to Build Input Files

To build the input files for this program, follow these steps:

  1. Create a new YAML file for the configuration file.

  2. Open the configuration file and specify the required parameters and settings.

  3. Save the configuration file.

  4. Create a new text file for the QHA input data file.

  5. Open the QHA input data file and specify the required data.

  6. Save the QHA input data file.

Note: The format of the input files must match the examples provided above.