ASE基本功能介绍

一、ASE指北以及个人常用功能简介(本文转载于张佳伟个人微信公众号):

ASE (Atomic Simulation Environment) is a set of tools andPython modulesfor setting up, manipulating, running, visualizing and analyzing atomistic simulations.

官方链接:

https://wiki.fysik.dtu.dk/ase/index.html

发表的文章链接:

https://iopscience.iop.org/article/10.1088/1361-648X/aa680e/meta

ASE的设计目标:

易于使用灵活可定制Pythonic开源

ASE是一个强大的引擎,可以同时提供计算接口,数据分析以及可视化的功能。

此外,ASE可以绑定多种计算器(VASP,CP2K等等),也可以绑定自己训练的神经网络模型。这里我常用的是VASP,可以根据个人服务器配置阅读文档。

此外,ase支持多种格式的文件读写

二、ASE NEB简介

直接上代码

效果:

ASE 构建邻近原子列表

用途:

用于提取特征等等构建邻接矩阵其他用途不同类型的邻接矩阵

三、ASE DB简介

支持数据库类型:

JSON: 简单易读SQLite3: 不需要配置, server-less, .dbPostgreSQL: server basedASE DB 默认用的SQLite

ASE DB 还支持命令行,并提供了一些简单的query查询功能,可以做初步的数据搜索查询。

根据化学式筛选:

# 支持数据库常见的增删改查功能from ase.db import connectwith connect('jwzhang.db') as db:db.write(traj, data={'info': 'jwzhang'})with connect('jwzhang.db') as db:count = db.countfor idx in range(1, count 1): # ase db 的ID从1开始db.update(idx, foo='bar')with connect('jwzhang.db') as db:for idx in range(1, count 1):del db.get(idx) # or db.delete(idx)ase自带了一些keys, 可用于检索查询数据。

四、ASE 可视化

ase gui neb.trajase gui neb.traj@::2 -o demo.gif # 查看部分结构,步长为2ase gui neb.traj@::1 -o demo.gif # 将traj结构输出成gif直接打开traj文件会显示所有的结构,以及不同结构的能量曲线。

五、其它

(1) 自定义ASE计算器

自己可以写一个计算器类

from ase.calculators.calculator import Calculator # Base-Class for all calculators'''model: neural network model, output atom's energy and forces'''class MyCalculator(Calculator):def __init__(self, energy=None, forces=None, **kwargs):Calculator.__init__(self, model, **kwargs)self.model_energy = energyself.model_forces = forcesself.model = modeldef calculate(self, atoms=None, properties=['energy']):Calculator.calculate(self, atoms) # copy atomsmodel_results = self.model(atoms)results = {}if self.model_energy is not None:results['energy'] = model_results['energy']if self.model_forces is not None:results['forces'] = model_results['forces']self.results = results(2) 与PyMatgen交互

ase traj 和 pymatgen structure之间转化

from ase.io import readfrom pymatgen.io.ase import AseAtomsAdaptoradaptor = AseAtomsAdaptoratoms = read('jwzhang.traj')structure = adaptor.get_structure(atoms)参考资料:

https://wiki.fysik.dtu.dk/ase/index.htmlhttps://gitlab.com/asehttp://pymatgen.org/index.htmlASE学习教程:

https://github.com/Celebok/ASE-Learninghttps://github.com/WMD-group/ASE-Tutorialshttps://github.com/compphys/ase_tools

最新文章
  • Ase话情感:在下次恋爱之前要处理的4件事
  • 赛默飞Dionex ASE 350快速溶剂萃取仪基本使用功能介绍
  • 新的电动智能Forase概念在巴黎全面推出
  • 威马在自建工厂里下线了第一台量产车 挑战“蔚来代工造车模式”
  • 威马再次澄清自燃事件,因员工强行通电导致
  • 热门文章
  • 自动化asease自动化系-工程师