Abstract
In this work, we present a Python package, qha, which can calculate the equation of state and various thermodynamic properties of both single- and multi-configuration crystalline materials within a user-specified pressure and temperature range in the framework of the quasi-harmonic approximation (QHA). Two examples, one for single-configuration calculation and the other for multi-configuration calculation, are also distributed along with source code. Apart from its versatility, qha has been tested to be both accurate and computationally efficient. Program summary: Program Title: qha Program Files doi: http://dx.doi.org/10.17632/rz42b97px5.1 Licensing provisions: GPLv3 Programming language: Python3 Nature of problem: Calculations of thermodynamic properties of dynamically stable and structurally disordered solids, e.g., H-disordered phases of H2O-ice, solid solutions, defects with multiple possible configurations need to sample the phase space of all relevant configurations. These calculations start from a calculation of the partition function, which includes all structural and vibrational states and from which the Helmholtz free energy and all thermodynamics properties are derived within the quasi-harmonic approximations for a user-defined temperature and pressure range. Solution method: The method involves the calculation of the partition function of a harmonic oscillator along with the calculated energy and vibrational spectra of multiple crystalline configurations to derive the Helmholtz free energy F(Vi,Tj), where i labels the discrete set of volumes and j labels ionic temperature. The free energy is then fit to temperature-dependent finite-strain equations of state from which all thermodynamic properties can be derived. Additional comments including restrictions and unusual features: The package contains executable scripts that can be run directly in the command line given input data and a computational settings file. It can also be separated into stand-alone modules for incorporating into other programs. Though the package is written in Python, it does not seem to be slow since the just-in-time (JIT) compilation technique is used to improve its performance significantly.
Author supplied keywords
Cite
CITATION STYLE
Qin, T., Zhang, Q., Wentzcovitch, R. M., & Umemoto, K. (2019). qha: A Python package for quasiharmonic free energy calculation for multi-configuration systems. Computer Physics Communications, 237, 199–207. https://doi.org/10.1016/j.cpc.2018.11.003
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.