当前位置: X-MOL 学术Comput. Phys. Commun. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Elastic3rd: A tool for calculating third-order elastic constants from first-principles calculations
Computer Physics Communications ( IF 6.3 ) Pub Date : 2021-04-01 , DOI: 10.1016/j.cpc.2020.107777
Mingqing Liao , Yong Liu , Shun-Li Shang , Fei Zhou , Nan Qu , Yichuan Chen , Zhonghong Lai , Zi-Kui Liu , Jingchuan Zhu

Abstract The third-order elastic constants (TOECs) are fundamental to describe crystal’s nonlinear response to stress, and can be applied to explore anharmonic properties of crystals such as Gruneisen parameters, thermal expansion coefficient, and the effect of pressure on second-order elastic constants (SOECs). Here, we report an open-source python package, Elastic3rd, which is able to calculate the SOECs and TOECs using the strain–energy method for crystals with any symmetry from first-principles calculations. An algorithm to generate necessary strain modes and the corresponding coefficients for a given symmetry is proposed. These strain modes are then applied to the fully relaxed structure to generate the deformed structures. The total energies of the strained structures are calculated by a chosen first-principles code, and the SOECs and TOECs are determined by fitting the resulted strain–energy data. The present code has been validated by several case studies of C, Si and Mg, and the case of MnP4 shows the ability for low-symmetry crystals. Program summary Program title: Elastic3rd CPC Library link to program files: http://dx.doi.org/10.17632/n54vr2kwx8.1 Developer’s repository link: https://github.com/hitliaomq/ELASTIC3rd Licensing provisions: GNU General Public License 3 Programming language: Python 2.7.X and Python 3.X. External routines/libraries: Numpy [1], Scipy [2], and Matplotlib [3]. Nature of problem: To automatically calculate the third-order elastic constants for crystals with any symmetry from first-principles calculations. Solution method: Firstly, the deformed patterns and the corresponding coefficients for the second- and third-order elastic constants are automatically generated according to the symmetry. Secondly, the deformed patterns are applied to the initial lattice and the corresponding input files for first-principles calculations are generated. Thirdly, the energies of the deformed structures are calculated by first-principles software such as CASTEP [4] and VASP [5]. Then, the parameters of strain–energy functions are obtained by fitting the strain and energy relationships. Finally, the third-order elastic constants are determined by solving the linear-independent equations, and the elastic constants are calculated by solving the overdetermined equation using the least squares method. Addition comments including restrictions and unusual features: This code is well modularized. Thus, the energy can be calculated using energy-generated first-principles or other packages only by writing few functions. [1] S. Van Der Walt, S.C. Colbert, G. Varoquaux, Comput. Sci. Eng. 13(2011):22–30 [2] P. Virtanen, R. Gommers, T.E. Oliphant, et al., ArXiv:1907.10121 (2019). [3] J.D. Hunter, Comput. Sci. Eng. 9(2007):99–104 [4] S.J. Clark, M. D. Segall, C.J. Pickard, et al. Z. Kristallogr. 220(2005):567-570. [5] G. Kresse, J. Furthmuller, Phys. Rev. B 54 (1996) 11169.

中文翻译:

Elastic3rd:从一阶原理计算中计算三阶弹性常数的工具

摘要 三阶弹性常数 (TOEC) 是描述晶体对应力非线性响应的基础,可用于探索晶体的非谐特性,如 Gruneisen 参数、热膨胀系数和压力对二阶弹性常数的影响。 (SOEC)。在这里,我们报告了一个开源 python 包 Elastic3rd,它能够使用应变能量法计算第一性原理计算中具有任何对称性的晶体的 SOEC 和 TOEC。提出了一种生成必要应变模式和给定对称性的相应系数的算法。然后将这些应变模式应用于完全松弛的结构以生成变形结构。应变结构的总能量由选定的第一性原理代码计算,SOECs 和 TOECs 是通过拟合得到的应变能量数据来确定的。目前的代码已经通过 C、Si 和 Mg 的几个案例研究得到验证,MnP4 的案例显示了低对称性晶体的能力。程序摘要 程序名称:Elastic3rd CPC 库程序文件链接:http://dx.doi.org/10.17632/n54vr2kwx8.1 开发者存储库链接:https://github.com/hitliaomq/ELASTIC3rd 许可条款:GNU 通用公共许可证3 编程语言:Python 2.7.X 和 Python 3.X。外部例程/库:Numpy [1]、Scipy [2] 和 Matplotlib [3]。问题的性质:从第一性原理计算中自动计算具有任何对称性的晶体的三阶弹性常数。解决方法:首先,根据对称性自动生成变形模式和二阶和三阶弹性常数的相应系数。其次,将变形模式应用于初始晶格,并生成用于第一性原理计算的相应输入文件。第三,变形结构的能量通过CASTEP[4]和VASP[5]等第一性原理软件计算。然后,通过拟合应变和能量关系获得应变-能量函数的参数。最后,通过求解线性无关方程来确定三阶弹性常数,并通过使用最小二乘法求解超定方程来计算弹性常数。包括限制和异常功能在内的附加注释:此代码模块化良好。因此,只需编写很少的函数,就可以使用能量生成的第一原理或其他包来计算能量。[1] S. Van Der Walt, SC Colbert, G. Varoquaux, Comput. 科学。英。13(2011):22–30 [2] P. Virtanen、R. Gommers、TE Oliphant 等人,ArXiv:1907.10121(2019)。[3] JD Hunter,计算。科学。英。9(2007):99–104 [4] SJ Clark、MD Segall、CJ Pickard 等。Z. Kristallogr。220(2005):567-570。[5] G. Kresse, J. Furthmuller, Phys. 修订版 B 54 (1996) 11169。Z. Kristallogr。220(2005):567-570。[5] G. Kresse, J. Furthmuller, Phys. 修订版 B 54 (1996) 11169。Z. Kristallogr。220(2005):567-570。[5] G. Kresse, J. Furthmuller, Phys. 修订版 B 54 (1996) 11169。
更新日期:2021-04-01
down
wechat
bug