The MechElastic Python package evaluates the mechanical and elastic properties of bulk and 2D materials using the elastic coefficient matrix (Cij) obtained from any ab-initio density-functional theory (DFT) code. The current version of this package reads the output of VASP, ABINIT, and Quantum Espresso codes (but it can be easily generalized to any other DFT code) and performs the appropriate post-processing of elastic constants as per the requirement of the user. This program can also detect the input structure's crystal symmetry and test the mechanical stability of all crystal classes using the Born-Huang criteria. Various useful material-specific properties such as elastic moduli, longitudinal and transverse elastic wave velocities, Debye temperature, elastic anisotropy, 2D layer modulus, hardness, Pugh's ratio, Cauchy's pressure, Kleinman's parameter, and Lame's coefficients, can be estimated using this program. Another existing feature of this program is to employ the ELATE package (2016) [29] and plot the spatial variation of several elastic properties such as Poisson's ratio, linear compressibility, shear modulus, and Young's modulus in three dimensions. Further, the MechElastic package can plot the equation of state (EOS) curves for energy and pressure for a variety of EOS models such as Murnaghan, Birch, Birch-Murnaghan, and Vinet, by reading the inputted energy/pressure versus volume data obtained via numerical calculations or experiments. This package is particularly useful for the high-throughput analysis of elastic and mechanical properties of materials. Program summaryProgram Title:MechElasticCPC Library link to program files:https://doi.org/10.17632/y9zc7zybrm.1Developer's repository link:https://github.com/romerogroup/MechElasticLicensing provisions: GPLv3Programming language: PythonNature of problem: To automatize and simplify the analysis of elastic and mechanical properties for bulk and 2D materials, especially for high-throughput DFT calculations.Solution method: This Python program addresses the above problem by parsing the elastic coefficient matrix obtained from the first-principles DFT calculations, does the appropriate post-processing to evaluate the elastic properties, and performs the mechanical stability tests for all crystal classes using the generalized Born-Huang criteria. It can also be used to carry out the equation of state analysis to study the structural phase transitions.Additional comments:MechElastic can be downloaded using the below link: https://github.com/romerogroup/MechElasticInstallation (via PyPI): pip install mechelastic, or pip3 install mechelastic
Read full abstract