ABINIT的AiiDA插件。

aiida-abinit的Python项目详细描述


Build StatusCoverage StatusDocs statusPyPI version

阿依达·阿比尼特

ABINITAiiDA

ABINITAiiDA插件。在

ABINIT是一个软件套件,用于计算材料的光学、机械、振动和其他可观测特性。从密度泛函理论的量子方程开始,你可以用基于DFT的微扰理论和许多体格林函数(GW和DMFT)建立高级应用程序。 ABINIT可以计算任何化学成分的分子、纳米结构和固体,并提供了几个完整而可靠的原子势表。 该代码的主要功能提供在线教程,每年都会组织一些学校和研讨会。在

此插件是使用AiiDA plugin cutter创建的。在

安装

安装Abinit(此处为Abinit v.9.2.1)

wget https://www.abinit.org/sites/default/files/packages/abinit-9.2.1.tar.gz
tar -xvf abinit-9.2.1.tar.gz
cd abinit-9.2.1
mkdir build
cd build
../configure

配置可能会告诉您缺少必需的库(Netcdf等)。在

^{pr2}$

这将构建HDF5、libXC、NetCDF和NetCDF Fortran(编译需要时间。。。去喝杯咖啡) 接下来需要创建一个.ac文件来告诉代码这些新的lib在哪里

vim max.ac 

build-abinit-fallbacks.sh报告您的行添加到max.ac文件中。 如果要并行运行,还应该添加MPI安装的路径(如openmpi)。 例如:

with_mpi=/home/max/codes/openmpi-4.0.2/
enable_mpi_io="yes"with_libxc=/home/max/codes/abinit-9.2.1/build/fallbacks/install_fb/gnu/7.5/libxc/4.3.4
with_hdf5=/home/max/codes/abinit-9.2.1/build/fallbacks/install_fb/gnu/7.5/hdf5/1.10.6
with_netcdf=/home/max/codes/abinit-9.2.1/build/fallbacks/install_fb/gnu/7.5/netcdf4/4.6.3
with_netcdf_fortran=/home/max/codes/abinit-9.2.1/build/fallbacks/install_fb/gnu/7.5/netcdf4_fortran/4.5.2
with_xmlf90=/home/max/codes/abinit-9.2.1/build/fallbacks/install_fb/gnu/7.5/xmlf90/1.5.3.1
with_libpsml=/home/max/codes/abinit-9.2.1/build/fallbacks/install_fb/gnu/7.5/libpsml/1.1.7

然后重新运行配置

../configure --with-config-file=max.ac
make

它应该可以工作并被编译。在

如果在安装Abinit时遇到问题,请访问Abinit documentation。在

可以使用导出“abinit”可执行文件

exportPATH=/home/max/codes/abinit-9.2.1/build/src/98_main:$PATH

确保一切顺利进行:

cd ../tests/
python runtests.py --build-tree=/home/max/codes/abinit-9.2.1/build

安装AiiDA

首先使用conda创建一个虚拟python环境(如果没有,请安装它):

conda create -n aiida-abinit -c conda-forge aiida-core=1.4.2 aiida-core.services=1.4.2

然后激活虚拟环境

conda activate aiida-abinit
reentry scan

然后应该克隆这个GitHub存储库

git clone https://github.com/sponce24/aiida-abinit
cd aiida-abinit
pip install -e . --ignore-installed --use-feature=2020-resolver

这应该安装aiida-coreaiida-abinit。在

现在应该设置计算机和代码:

cd examples

您应该打开computer.yml,并使其适应您的环境。 然后运行:

verdi computer setup --config computer.yml

这将把您当前的本地计算机设置为计算机。您还可以调整computer.yml来设置远程计算机。 如果您这样做:

verdi computer list

它应该显示你的电脑。在

现在设置Abinit代码。同时编辑指示路径的code.yml。 然后做:

verdi code setup --config code.yml

这应该设置Abinit代码。您可以通过执行以下操作来验证您是否拥有它:

verdi code list

通过计算插件,你最终应该得到:

verdi plugin list aiida.calculations 

这应该显示* abinit

你现在已经准备好了。祝贺 你!!在

使用

这里有一个完整的例子来说明如何使用这个插件提交一个测试计算。在

如何提交计算的快速演示:

verdi daemon start     # make sure the daemon is runningcd examples
python example_dft.py --code abinit-9.2.1-ab@localhost # run DFT test calculation
verdi process list -a  # check record of calculation

该插件还包含用于检查其数据类型的verdi命令:

verdi data abinit list
verdi data abinit export <PK>

发展

git clone https://github.com/sponce24/aiida-abinit .
cd aiida-abinit
pip install -e .[pre-commit,testing]# install extra dependencies
pre-commit install  # install pre-commit hooks
pytest -v  # discover and run all tests

有关详细信息,请参阅developer guide。在

致谢

这项工作得到了欧盟地平线2020研究和创新计划的支持, 在Marie Skłodowska-Curie Grant Agreement SELPH2D No. 839217下面。在

MSC

许可证

麻省理工学院

联系人

aiidaabinit插件由

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java关闭域实例   java如何获得JTable列的头组件的最小首选宽度,以便其大小不能小于该值?   使用时使用java Jsoup。孩子们()。跳出边界性感觉   类静态初始化块内的java类用法   java ParseCrashReporting*。在其Android SDK的1.11.0中找不到jar   javahsqldb组织。springframework。刀。复杂选择上的TransientDataAccessResourceException   java EJB 3.1@SessionScoped Bean holding登录信息注销问题   java如何跟踪重复警报何时关闭并更新设置值?   具有可变参数类型的java接口方法   使用openstack4j计算查询的java连接超时   java这是一种双向的一对一关系吗?   java如何重置EventStream中的最后一个累积值?   java如何在超级抽象类中使用@Bean?   使用多部分上传java图像   java列出了已解析的SQL SELECT语句的所有表/列   java使用内部类实现单元测试类的正确方法   使用AWS API网关的java ContentType飞行前处理与自己的Rest服务器   调用dispose()后重新创建JinternalFrame对象   字符编码通过java编写一个以UTF8编码的文本文件,其中包含BOM表。尼奥