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

Sobhit Singh,Logan Lang,Viviana Dovale-Farelo,Uthpala Herath,Pedram Tavadze,François-Xavier Coudert,Aldo H. Romero
DOI: https://doi.org/10.1016/j.cpc.2021.108068
2021-07-04
Abstract: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 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 parameter, and Lame's 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 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.
Materials Science,Other Condensed Matter,Computational Physics
What problem does this paper attempt to address?
The problem that this paper attempts to solve is to automate and simplify the analysis of the elastic and mechanical properties of bulk materials and two - dimensional materials, especially for the requirements of high - throughput density - functional - theory (DFT) calculations. Specifically, the paper introduces the MechElastic software package, which is a Python library designed to evaluate the mechanical and elastic properties of materials by analyzing the elastic - coefficient matrix obtained from first - principles DFT calculations and perform various mechanical - stability tests. In addition, this software package can also use the ELATE software package to draw spatial - variation maps of multiple elastic properties and calculate the equation - of - state (EOS) curves based on the input energy/pressure - and - volume data. The solution of these problems is of great significance for accelerating material screening in the material discovery and design process.