这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
adf:moleculesonsurface [2019/12/10 16:05] – [创建固体表面] liu.jun | adf:moleculesonsurface [2024/04/24 10:05] (当前版本) – liu.jun | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ======创建固体表面,并均匀加入其它气体、液体分子====== | + | ======【入门基础教程】创建固体表面,并均匀加入其它气体、液体分子====== |
=====创建固体表面===== | =====创建固体表面===== | ||
- | 如果有现成的晶体结构(比如pdb或者cif格式,大多数xyz格式一般没有晶格常数所以不太用于描述晶体),在ADFinput中,切换到ReaxFF模块,File > Import Coordinates导入该文件即可。如下图所示,去掉region(软件默认将其作为一个region,在本例中与region功能没有关系,所以去掉与否都没有影响,但有的功能与region有关系,比如不同分区设置不一样的温度,就有关系,需要去掉这种默认的分区)。 | + | 如果有现成的晶体结构(比如pdb或者cif格式),在AMSinput中,切换到ReaxFF模块,File > Import Coordinates导入该文件即可。Model - Region,点击-按钮,去掉region<color lightgrey> |
- | 利用AMS自带结构数据库创建单晶硅: | + | 或者利用AMS自带结构数据库,这里以单晶硅为例: |
- | {{ :adf:gcmc201903.png?650 }} | + | {{ :adf:2020slabandmolecules01.png?650 }} |
- | {{ :adf:gcmc201904.png?650 }} | + | 默认显示的晶格元胞不太符合我们的使用习惯,因此转换一下元胞: |
+ | |||
+ | {{ :adf:2020slabandmolecules02.png?650 }} | ||
View - Periodic - Show Unit Cell: | View - Periodic - Show Unit Cell: | ||
- | {{ :adf:gcmc201905.png?650 }} | + | {{ :adf:2020slabandmolecules03.png?650 }} |
- | 点击底部四边形按钮,切出表面(Number of Layers控制厚度): | + | 点击底部四边形按钮,切出表面: |
- | {{ : | + | * Number of Layers,控制厚度 |
+ | * Miller Indices,米勒指数控制切面的方向 | ||
+ | * 鼠标选中某个原子,则切面经过该原子 | ||
- | 扩大表面(制作5*5*1的超胞): | + | **切好后,周期性更改为Bulk**,在Model → Latice中可以修改3*3矩阵最后一个数值,该值是垂直表面方向,Cell的尺寸。其值的大小,与我们希望添加的分子多少密切相关,空间越大,可添加的分子越多。 |
- | {{ :adf:gcmc201906_2.png?450 }} | + | {{ :adf:2020slabandmolecules04.png?650 }} |
- | {{ : | + | 扩大表面(制作5*5*1的超胞):❄ → Generate Super Cell,对角项数值设置为5、5、1。得到如下模型: |
- | + | ||
- | 得到如下模型,并修改盒子的Z方向尺寸,以控制真空层的厚度: | + | |
- | + | ||
- | {{ : | + | |
+ | {{ : | ||
===== 均匀加入其它气体、液体分子===== | ===== 均匀加入其它气体、液体分子===== | ||
超胞做完之后,Edit > Builder,弹出如下窗口: | 超胞做完之后,Edit > Builder,弹出如下窗口: | ||
- | {{ :adf:moleculeonsurface06.png? | + | {{ :adf:2020slabandmolecules06.png?650 }} |
- | 上图中,第一个红色方框内的数字,设置加入多少个分子,第二个红色框可以输入一些常见分子的名字,这些分子在ADF分子库里面有,比如water。如果不是常见分子,那么用户自己需要创建这个分子的xyz文件(创建分子参考[[https:// | + | 上图中, |
+ | * 第一个红框:设置加入多少个分子 | ||
+ | * 第二个红框:可以输入一些常见分子的名字,这些分子在AMS分子库里面有,比如water,之后可以选择数据库里面的分子 | ||
+ | * 第三个红框:如果不是常见分子,那么用户自己需要在AMSinput创建这个分子的xyz文件,File → Export Coordinates导出分子的xyz文件。然后,可以点击此处导入之前准备好的*.xyz文件 | ||
+ | | ||
+ | * 第五个红框是加入分子之后,整个体系的密度 | ||
- | 第四个红框,是用户可以设置分子与分子、固体表面之间的最小间距,默认就是2.5埃。第五个红框是加入分子之后,整个体系的密度。 | + | 如果用户不止添加一种分子,那么可以点击上方的Molecules前面的+,增加一个列表,之后同样输入个数、名字(或导入xyz文件)。 |
- | + | ||
- | 如果用户不止添加一种分子,那么可以点击上方的➕molecules,增加一个列表,之后同样输入个数、名字(或导入xyz文件)。 | + | |
之后,点击Generate Molecules即可: | 之后,点击Generate Molecules即可: | ||
- | {{ :adf:moleculeonsurface07.png? | + | {{ :adf:2020slabandmolecules07.png?650 }} |
- | + | ||
- | 分子如此就均匀分布在真空区域了。本例中,因为要求分子间距不低于2.5埃,所以有一些分子就放不进去,默认放进去的分子就不足100了,系统自动将那些加不进来的分子去掉了。这时候,整个体系就不在Cell的中心。这实际上对计算没有任何影响,但可能为了好看,可以将其移动进去,如下图操作: | + | |
- | {{ : | + | =====检查添加了多少个分子===== |
+ | 之所以检查,是因为我们限制了分子间距,虽然设定了添加一定数量的分子,但空间的大小使得程序未必能够把这么大数量的分子完全添加进去。本例中,我们选中O一个原子,然后菜单栏Selcet → Select Atoms Of Same Type,从而选中所有O原子,总共多少个O原子,就添加了多少个水分子: | ||
- | 完成。 | + | {{ : |
- | 可以可以修改一下显示的方式:[[adf: | + | 当然也可以选中表面某个原子,然后Ctrl m键将选中整个表面,然后菜单栏Selcet → Invert Selection反选,从而除表面外,所有原子都选中了,原子个数 ÷ 每个分子的原子数 = 分子数。 |