Skip to content

Create POSCARs to calculate the energy barrier of the "layered to spinel transformation" in doped cathode materials, e.g. LiCoO2, LiNiO2.

Notifications You must be signed in to change notification settings

MumuMaster2021/Battery-cathode-material-DFT-calculation-toolkit

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Battery-cathode-material-DFT-calculation-toolkit

Create POSCARs to calculate the energy barrier of the "layered to spinel transformation" in doped cathode materials, e.g. LiCoO2, LiNiO2. 这段代码主要用于处理VASP软件中的POSCAR/CONTCAR文件,具体功能为创建一个初始结构含有锂三空位的POSCAR文件。VASP是一款用于从头算模拟固体材料性能的材料计算软件。POSCAR/CONTCAR文件用于描述晶体结构。以下是对代码的逐行解释:

  1. 导入numpy库:用于进行数值计算。

  2. 定义一个名为dist的函数,用于计算两个原子之间的距离。

  3. 打印Step 1的提示信息

4-5. 提示用户输入原始POSCAR/CONTCAR文件的文件名,并读取该文件。

6-16. 从输入文件中读取每个元素的类型和数量,然后计算原子总数。

17-23. 从输入文件中读取晶格基矢量

24-42. 读取原子的位置信息,并将其限制在特定的范围内:x、y、z坐标范围为-0.25到0.9。

  1. 将直接坐标转换为笛卡尔坐标

44-46. 初始化Ni原子的索引、最近邻Ni原子的索引和最近邻Ni原子的距离。

47-51. 在原子位置中查找位于(0,0,0)处的Ni原子,并将其索引存储在Ni_index变量中。

52-58. 遍历所有原子,并找到最近邻的Ni原子。将最近邻Ni原子的索引存储在NN_Ni_index变量中。

59-60. 打印研究对象的TM原子编号以及将被更改为掺杂元素的TM原子编号。

61-74. 搜索Li三空位的位置。首先找到距离研究对象的Ni原子最近的Li原子,然后找到与该Li原子在z轴方向上相近、x轴和y轴方向上相邻的Li原子。

75-76. 打印被移动以创建Li三空位的Li原子编号以及其笛卡尔坐标。

77-88. 寻找沿x轴和y轴方向的两个Li原子。这两个原子与之前找到的Li原子在z轴方向上相近,但在x轴和y轴方向上相邻。

89-90. 打印被移动的Li原子编号以及其x轴和y轴方向上相邻的Li原子编号和笛卡尔坐标。

  1. 将被移动的Li原子的直接坐标设置为其在x轴和y轴方向上相邻的两个Li原子的中间位置

总之,这部分代码主要用于在给定的晶格结构中搜索Ni原子、掺杂位点和Li三空位位点并进行相应的调整。

  1. 从用户那里获取掺杂元素的名称

  2. 创建一个新的输出文件名,该文件名基于输入文件名与掺杂元素名称。

95-96. 以写入模式打开新的输出文件

97-98. 获取输入文件的前五行,即POSCAR文件的标题信息。

99-112. 根据掺杂元素的位置,创建一个新的元素列表new_elements和原子数量列表new_num_of_elements,这两个列表将包含掺杂元素及其数量。

113-114. 将标题信息写入输出文件

115-120. 将新的元素列表和原子数量列表写入输出文件

  1. 将直接坐标标签“Direct”写入输出文件

122-129. 将经过修改的原子直接坐标写入输出文件

130-131. 输出完成的提示信息,以及结果存储的文件名。

总之,这部分代码主要用于将经过修改的晶格结构(包括掺杂元素和Li三空位)输出到新的文件中。

About

Create POSCARs to calculate the energy barrier of the "layered to spinel transformation" in doped cathode materials, e.g. LiCoO2, LiNiO2.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published