文献中会有晶体结构中一个位点部分占据的情况,实际上是在一个超胞中,用其它原子进行取代,在materials studio里面虽然可以在一个位点上面设置部分占据的数值(occupancy),导出的.cif文件里也有,但从vesta导出POSCAR后,会自动将部分占据补齐变成满占据,即vasp的输入文件中不能有部分占据。而我们可以用pymatgen建模,构建一个晶胞结构,若有部分占据的情况,pymatgen可以将其转换为vsap输入文件进行计算。

具体教程参考:

https://matgenb.materialsvirtuallab.org/2013/01/01/Ordering-Disordered-Structures.html

https://pymatgen.org/introduction.html?tdsourcetag=s_pctim_aiomsg#usage

https://matgenb.materialsvirtuallab.org/2013/01/01/Basic-functionality.html

下面举例


from pymatgen import Structure,Lattice
from pymatgen.transformations.standard_transformations import OrderDisorderedStructureTransformation
from pymatgen.io.vasp.sets import batch_write_input, MPRelaxSet
import pymatgen as mglattice = mg.Lattice.cubic(3.722)
specie1 = {"K1+":0.5} #要写出每个元素的化合价,即使化合价为0也要标出,如{"Cu0+":0.5},后面是占据数
specie2 = {"Na1+":1/3,"Fe2+":2/3} #占据数可取分数
specie3 = {"O2-":1}
structure = Structure.from_spacegroup("Fm-3m",lattice, [specie3,specie1,specie2], [[0,0,0],[0.5,0,0],[0.25,0.25,0.25]])structure.make_supercell([a,b,c]) #这里需要计算一下,即所建的超胞的sites数,乘以占据数(occupancy)要为整数,文献里SI一般会给出#ordering有两种方法,这里是第一种方法
trans = OrderDisorderedStructureTransformation()
ss = trans.apply_transformation(structure, return_ranked_list=200)#ordering还有一种更严谨的方法是用EnumerateStructureTransformation,不过用这个方法需要安装enumlib,因为是windows系统,我找不到enumlib.x文件,因此在虚拟机里面安装了,安装enumlib过程和注意事项在另一篇博文中#ss的数据类型是list,需要先运行下面这行代码才能生成vasp输入文件。而上面会生成很多结构,我们一般选取十个能量最低的结构进行运算,上面生成的结构是按能量由低到高排列的,因此选取前十个结构
structures = [d["structure"] for d in ss[:10]]
#print("%d structures returned." % len(structures))
#一定要注意生成的list数据类型要执行上面的代码,要不然就会报这个错 AttributeError: 'list' object has no attribute 'get_sorted_structure'#下面生成十个结构各自的vasp四个输入文件,生成的文件在解释器里的文件路径中可以找到;生成vasp输入文件需要指定POTCAR的位置,因为我的POTCAR安装在虚拟机里,所有生成的文件在虚拟机里拖出来放到超算就行
for i,d in enumerate(structures):ll = structures[i]relax = MPRelaxSet(ll,user_incar_settings={"NPAR":4})relax.write_input("%d_relax" %i)#一般我们计算100个结构文件进行计算,可以像下面这样写
trans = OrderDisorderedStructureTransformation()
ss = trans.apply_transformation(structure, return_ranked_list=100)structures = [d["structure"] for d in ss]for i,d in enumerate(structures):ll = structures[i]relax = MPRelaxSet(ll,user_incar_settings={"NPAR":4})relax.write_input("/home/min/Linux共享/one-hundred b-Li8GeP4/%d_relax" %i)

Ordering disordered structures相关推荐

  1. 【操作系统概念-作业2】Operating-System Structures

    [操作系统概念-作业2]Operating-System Structures Operating System Concepts Exercises 2 Operating-System Struc ...

  2. CSCI-1200 Data Structures — Fall 2018

    代写CSCI-1200作业.代做C/C++编程作业.代写Bidirectional Maps作业.C/C++课程设计作业代做 CSCI-1200 Data Structures - Fall 2018 ...

  3. eShopOnContainers 知多少[8]:Ordering microservice

    1. 引言 Ordering microservice(订单微服务)就是处理订单的了,它与前面讲到的几个微服务相比要复杂的多.主要涉及以下业务逻辑: 订单的创建.取消.支付.发货 库存的扣减 2. 架 ...

  4. R语言对dataframe的行数据进行排序(Ordering rows)实战:使用R原生方法、data.table、dplyr等方案

    R语言对dataframe的行数据进行排序(Ordering rows)实战:使用R原生方法.data.table.dplyr等方案 目录

  5. R语言基于多字段(多数据列、multiple columns)对dataframe的行数据进行排序(Ordering rows)实战:使用R原生方法、data.table、dplyr等方案

    R语言基于多字段(多数据列.multiple columns)对dataframe的行数据进行排序(Ordering rows)实战:使用R原生方法.data.table.dplyr等方案 目录

  6. pandas笔记(pandas Data Structures)

    pandas笔记(pandas Data Structures) 生信start_site已关注 32020.06.15 03:02:37字数 766阅读 509 pandas包含数据结构和数据操作工 ...

  7. python 科学计算设计_Python科学计算——Data Structures

    为什么选择Python作为科学计算语言? 有关于Matlab和Python哪个更适合作为科学计算语言的争论已久,之所以选择Python作为首选的科学计算语言,不仅仅是因为它免费,开源,有很多优秀的库和 ...

  8. Data Structures with C++ Using STL Chapter 3算法概述---笔记

    <Data Structures with C++ Using STL Chapter 3算法概述---笔记>,作者:茉莉花茶,原文链接:http://www.cnblogs.com/yc ...

  9. 【Android 逆向】IDA 工具使用 ( 十六进制视图 Hex View-1 | 结构体视图 Structures | 枚举视图 Enums | 导入视图 Import | 导出视图 )

    文章目录 一.十六进制视图 Hex View-1 二.结构体视图 Structures 三.枚举视图 Enums 四.导入视图 Import 五.导出视图 Export 一.十六进制视图 Hex Vi ...

  10. 以太坊搭建,不能使用puppeth 创建初始块,报错Fatal: Failed to write genesis block: unsupported fork ordering: eip15

    以太坊搭建,不能使用puppeth 创建初始块,报错Fatal: Failed to write genesis block: unsupported fork ordering: eip15 新建 ...

最新文章

  1. css 引用otf文件,CSS-如何将OTF / TTF文件转换为EOT格式?
  2. vb.net連接ACCESS数据库
  3. python网络编程—Socket
  4. 关于项目管理的一些想法
  5. Java的反射作用_java反射机制的作用与优点
  6. (转)Spring Boot(十六):使用 Jenkins 部署 Spring Boot
  7. Linux信号signal的介绍和示例
  8. SAP License:SAP FI/CO 基本概念
  9. linux 文件夹大小_技能“慧”|初识Linux(二)
  10. 如何在缺乏商业项目经验的前提下成功通过面试,兼说我如何甄别非商业项目经验...
  11. 决策支持系统(DSS)介绍
  12. Jade的安装与测试
  13. Ubuntu mosquitto 安装及配置
  14. Auto MDI/MDI-X 简要说明及网线头线序
  15. 数据说话---如何写好年终总结
  16. 支持GIF动画的ImageView
  17. 学计算机的多大笔记本合适,笔记本i3,i5怎么选?有多大区别?
  18. 任正非十大经典比喻:善形象阐释管理理念
  19. 中大华工计算机分数,中大华工部分专业分数线猛涨
  20. 也谈男士品牌(综合版)

热门文章

  1. tp摄像头的默认地址_TP-LINK摄像头支持IP地址自动跟随啦!
  2. 练习 P1957 口算练习题
  3. ALexa网站排名查询
  4. 毕业论文课题研究背景怎么写?
  5. python自由落体_pymunk教程_自由落体小球_Pymunk滑动和铰接演示教程
  6. Guge搜索引擎汇总
  7. windows保护无法启动修复服务器,解决使用sfc命令提示“windows 资源保护无法启动修复服务”的方法...
  8. html父子页面关系,html元素的父子关系的使用
  9. 《缠中说禅108课》37:背驰的再分辨
  10. VSCode 中使用GO语言