龙空技术网

pymatgen — 高通量材料计算最强大的python程序包之一!

朱老师讲VASP 20

前言:

此时咱们对“gobjectpython”大致比较重视,各位老铁们都想要学习一些“gobjectpython”的相关文章。那么小编在网络上收集了一些有关“gobjectpython””的相关内容,希望咱们能喜欢,你们快快来学习一下吧!

本文为由小强撰写的《VASP实用教程》第38篇,全系列约60篇,将在近期陆续更新。

Python Materials Genomics (pymatgen)是一个API包,可以连接materials project进行高通量计算,是进行高通量材料计算最强大的python程序包之一,是加州大学圣地亚哥雅各布斯工程学院的纳米工程教授Shyue Ping Ong和他的材料虚拟实验室(Materials Virtual Lab)团队开发并维护的程序。

我们主要会用到这个软件包的一些功能,如切割晶面,绘制能带和态密度图,生成吸附模型等。下面和大家简单介绍一下pymatgen。

软件介绍

pymatgen是一个用于材料分析的强大的、开源的Python库,供用户免费使用。以下是一些主要功能:

高度灵活的类,用于表示元素、位点、分子、结构对象;广泛的输入/输出支持,包括对VASP、ABINIT、CIF、Gaussian、XYZ和许多其他文件格式的支持;强大的分析工具,包括生成相图、Pourbaix图、扩散分析、反应等;电子结构分析,如态密度和能带结构;集成了Materials Project REST API, Crystallography Open Database。

pymatgen输出图形的例子:

安装pymatgen

可以通过两种方法来来安装pymatgen。

通过conda安装(推荐)

如果您完全不熟悉Python和/或正在使用Windows,那么最简单的安装过程就是使用conda。如果已经安装了conda,那么可以使用以下命令从conda-forge channel安装pymatgen:

conda install --channel conda-forge pymatgen

请注意,您可能需要确保gcc的相对较新版本可用于编译pymatgen。你可以通过conda得到:

conda install gcc

pymatgen正在积极开发中,并定期添加新特性。要将pymatgen升级到最新版本,请使用以下命令:

conda upgrade pymatgen

通过pip安装

Python Package Index(PyPI)上的版本始终是相对无bug的最新稳定版本。在任何系统上安装pymatgen的最简单方法是使用pip:

pip install pymatgen

需要确保安装了相对较新的gcc版本。

要通过pip升级pymatgen:

pip install --upgrade pymatgen

要使用一些功能的话仍然需要安装相应的软件包:

pmg config --install enumlib

pmg config --install bader

此外,如果要使用pymatgen生成VASP的POTCAR文件,需要下载vasp的赝势库并配置好路径,具体操作见pymatgen官网 Installation 部分。

pymatgen的典型工作流概述

下图是pymatgen的工作流程概述。典型的工作流程需要用户使用pymatgen的io包将来自不同来源(第一原理计算、晶体学和分子输入文件、材料项目等)的数据(结构、计算等)转换为Python对象,然后使用pymatgen的io包执行进一步的结构操作或分析。

pmg-命令行工具

pymatgen附带了一组有用的脚本,这些脚本利用库来执行各种分析。当您通过典型的安装路径安装pymatgen时,这些默认安装到您的路径中。

pmg的典型用法是:

pmg {setup, config, analyze, plotdos, plotchgint, convert, symm, view, compare} additional_arguments

可以使用“pmg--help”或“pmg subcommand--help”来显示关于如何使用这些子命令的有用帮助消息。从v4.6.0开始,pmg还支持使用argcomplete的bash完成,这对于cli工具中提供的许多选项非常有用。要启用argcomplete,请pip安装argcomplete,然后按照argcomplete的说明启用全局完成,或者在.bash_profile中添加以下行(此方法通常更可靠):

eval "$(register-python-argcomplete pmg)"

以下是一些典型用法的示例:

如果在发表的成果中使用了pymatgen,请按照以下格式引用:

Shyue Ping Ong, William Davidson Richards, Anubhav Jain, Geoffroy Hautier, Michael Kocher, Shreyas Cholia, Dan Gunter, Vincent Chevrier, Kristin A. Persson, Gerbrand Ceder. Python Materials Genomics (pymatgen) : A Robust, Open-Source Python Library for Materials Analysis. Computational Materials Science, 2013, 68, 314–319. doi:10.1016/j.commatsci.2012.10.028.

网zhi资料:

pymatgen:ht0tps://pymatgen.org/


标签: #gobjectpython