MechElastic: A Python Library for Analysis of Mechanical and Elastic Properties of Bulk and 2D Materials


Abstract in English

The MechElastic Python package evaluates the mechanical and elastic properties of bulk and 2D materials using the elastic coefficient matrix ($C_{ij}$) 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 structures 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, Pughs ratio, Cauchys pressure, Kleinman parameter, and Lames coefficients, can be estimated using this program. Another existing feature of this program is to employ the ELATE package [J. Phys.: Condens. Matter 28, 275201 (2016)] and plot the spatial variation of several elastic properties such as Poissons ratio, linear compressibility, shear modulus, and Youngs 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.

Download