Nanodcal的学习与应用-Cu-BP半导体的相关计算

Nanodcal的学习与应用-Cu-BP半导体的相关计算

0. 简述

由于参加了鸿之微的培训,培训结束有一个考核,需要完成一个小课题,所以爆肝了一段时间把这个课题搞定了,然后这个过程肯定是要记录下来的,一个是为了交作业,另外一个则是为了记录下来方便以后查阅,就记录在这里了。

1. 建模

1.1 Cu(1 1 1)界面的搭建

1.1.1 模型的导入

通过DS创建一个新的项目之后,直接导入Cu的晶体文件,选择File —> Import —> Import Local,然后在弹出的文件夹中选择Conductor —> Pure_metal,可以看到里面有很多hzw文件格式的文件,这时再选择Cu.hzw 文件,再点击打开,即可将Cu的晶体文件导入。

导入后的Cu晶体文件如下图:

1.1.2 (1 1 1)晶面的建立

(1 1 1)晶面的选取是来自于文章中的计算细节,如下图,参考文章为:

https://doi.org/10.1088/1361-6463/ab03bb

根据刚刚我们导入得晶体文件(Cu.hzw), 点击Build —> Surface/Slab , 然后在Cleave plane 处将 hkl值修改为(1 1 1),接下来还要勾选下面的Slab 选项,然后调整Slab的厚度,根据参考文献,作者用了5个原子层,那么这里也需要将Thickness调整到足够的大小,可以点击 来一层一层的添加原子,这里可以生成6层原子的模型,后面可以删去一层原子,避免出现原子堆叠的错误。

检查无误之后就可以点击Build ,接下来系统就会自动给生成一个Cu111.hzw文件,这就是我们切好的晶体文件,然后我们可以删去最上面的一层原子,再进行后续的操作,最后得到的模型如下:

1.2 Cu金属电极模型的搭建

1.2.1 模型晶格的转化

以上得到晶体是斜方晶格,对于后续我们需要建立的晶体管模型来说不好操作,所以我们需要先进一步将其转化为正交晶格。点击Convert Crystal :

修改弹出的对话框,将b轴的x参数改为0,如下图:

然后点击Build,这个时候晶格就发生了变化,但是存在部分原子在晶格之外,可以直接点击工具栏的Wrap进行补全:

这样我们就可以得到正交晶格的Cu111模型,接下来就是对晶体进行扩胞处理,根据文献的模型图:

单点击需要扩胞4倍,点击Build —> Redefine Crystal ** ,在弹出的对话框中将矩阵中au对应的值改为4,然后点击Build **,即可获得扩胞后的模型。

1.2.2 镜像对称处理

接下来就可以开始进行镜像对称操作了,通过鼠标框选选中所有的原子,然后点击Mirror Atom:

然后在弹出的对话框中选中yz,并将Distance设置为10Å,然后点击Apply即可:

以下是生成的模型:

可以看到,晶胞的边界并没有将右侧电极包括进来,所以需要进一步调整晶胞参数,首先看一下最右侧的原子的x轴坐标,方便后面确定晶胞a轴的长度:

比如我这里最右侧的Cu原子的x轴坐标为58.33的样子,然后点击工具栏上方的Convert Crystal 进行调整:

在弹出的工具栏中,将a轴参数改为60,确保能将全部原子涵盖,然后根据文献中作者给c轴方向加了20Å的真空层,所以我们需要将c轴的参数设置未30,如图:

随后就可以点击Build 即可应用修改,修改得到的模型并不位于晶胞的中央,可以用工具栏上的Center 来进行居中操作:

1.3 黑磷(BP)模型的建立

黑磷模型的建立就比较简单了,这个模型DS也是自带的,可以直接导入。

选择File —> Import —> Import Local,然后在弹出的文件夹中选择2Dmaterials —> Novelty_material ,然后找到blackphosphorus.hzw 然后导入,导入的模型如图:

根据文献中的介绍:

BP可以通过y-z方向的匹配,在经过轻微的变形之后就与Cu原子在2.31的垂直距离上键合,所以我们这里可以对BP进行适当的处理,然后用BP的z轴与Cu的y轴匹配,这里首先需要查看二者的晶格参数,从前面我们修改Cu的模型时可以看到,Cu电极模型的y轴参数为4.427,而这里BP的模型x轴参数为4.374,这里我选择将BP模型的x轴参数增大到Cu的y轴参数的大小。

在工具栏上电极Stretch Cell

在弹出的对话框中将a轴的参数修改为4.427,然后点击Apply

随后就可以对BP进行扩胞处理,根据文献中的结构可以看出,整体BP模型的c轴方向长度为36个原子,那么也就是说我们这里需要扩胞18倍。选择Build —> Redifine Crystal , 然后将矩阵中的cw位置的值改为18,此外au位置的值也需要将其修改为2:

然后点击Build 即可扩胞成功,,然后需要删除一些BP原子,删除如下选中的原子:

剩下的就是我们最后建立好的BP模型:

1.4 Cu-MBP-Cu模型的建立

在此前的操作中我们已经获得了Cu和BP的模型,接下来需要将它们拼接到一起,这里可以直接copy过去,选中BP模型中的全部原子,然后鼠标右键copy,再切换到Cu电极模型,鼠标右键paste。

注意这里复制过去的BP模型的位置是相当不准确的的,所以可以先选中全部的BP原子,然后用工具栏的旋转,移动以及居中工具进行位置变换操作,以获得我们最后所期望的模型:

这里文献中有指出,BP层跟Cu表面的距离为2.31Å,所以在调整距离的时候也需要考虑到这一点,可以查看BP原子与表面Cu原子的z轴坐标来尽量准确的获取模型的位置,最后我得到的模型如下:

♾️这里有一个小问题,就是之前对黑磷的c轴扩胞了18倍,但是实际下来发现如果用扩胞18倍的黑磷包覆在电极表面后续是无法通过DS自带的转化器件识别电极厚度的,这可能会导致后续的计算出错,所以我在这里将黑磷的c轴方向删去了一定数量的原子,让它更短,这样DS就可以正常识别电极的厚度了。

1.5 转化为器件并添加缓冲层

在搭好模型之后,就可以将模型转化为器件了,可以直接点击工具栏的Convert to Device :

在弹出的对话框中勾选Front ElectrodeBack Electrode,这个时候如果模型没有问题的话它会自动识别电极的厚度,这里原本的电极厚度为2.556,为了便于收敛,我这里增大了一倍,改为了5.112,如下图:

然后点击Build即可创建一个器件文件,如下图:

接下来就可以添加缓冲层了,点击Simulator —>** Nanodcal** —> Add Buffer,在弹出的对话框中可以按 +/- 来调整缓冲层,我这里在两端电极各添加了5层,如下图:

最后电极Build ,这个器件模型就建立完毕了,接下来就可以准备开始计算了。

2. 计算

计算的步骤在教程里面也给出了,大致上分为三步,如下:

这里并没有囊括电极模型的结构优化过程,是直接用搭建好的模型进行的输运计算,所以在正常计算的时候应该还需要一步结构优化才行。

2.1 自洽计算

首先需要根据建模的结果进行电极的自洽计算,需要使用DS生成输入文件,选择加了缓冲层的模型,然后点击Simulator —>** Nanodcal** —> SCF Calculation ,在弹出的对话框中进行参数设置:

需要修改的参数主要有几个,首先是Electron temperture,这里是Cu的金属电极,将其修改为300K,然后是k-point Sampling ,因为是学习为目的,不考虑精确度,所以将K点修改为1*1*1,将里面的数值全部改为1即可,然后是Iteration control 里面的Mix rate,为了便于收敛,这里将其修改为0.05,最后是Spin type,选择CollinearSpin。所有参数修改完成之后就可以秀点击下方的Generate files,然后DS就会自动生成三个文件夹,分别为DeviceFrontElectrodeBackElectrode,每个目录下都会有一个scf.input,里面包括了各项计算的参数,对于FrontElectrodeBackElectrode的输入文件无需再多做修改,直接提交计算即可,鼠标右键点击目录下的scf.input,然后点击run,选择服务器后直接点击下方的run即可。

对于中心区的自洽计算,也就是Device的计算,还需要调整一下scf.input才行,而且Device的计算需要等到两个电极的计算完成之后才能开始。鼠标右键Device目录下的scf.input,然后点击open with,就可以在弹出的对话框中修改计算参数,这里修改的主要目的是为了添加门压,如下图,添加这些参数即可:

修改完成后点击左上角的保存按钮,然后就可以关闭窗口,然后等两个电极计算完成之后,就可以鼠标右键scf.input,然后run开始运行计算了。

FrontElectrodeBackElectrodescf.input,这两个计算除了最后的坐标信息不一致,前面的参数都是一致的,所以我这里只放了FrontElectrodescf.input文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
%%What quantities should be calculated
calculation.name = scf

%Basic setting
calculation.occupationFunction.temperature = 100
calculation.realspacegrids.E_cutoff = 80 Hartree
calculation.xcFunctional.Type = LDA_PZ81
calculation.k_spacegrids.number = [ 100 1 1 ]'


system.centralCellVectors = [[5.112 0 0]' [0 4.42709 0]' [0 0 30]']
system.spinType = CollinearSpin


%Iteration control
calculation.SCF.monitoredVariableName = {'rhoMatrix','hMatrix','totalEnergy','bandEnergy','gridCharge','orbitalCharge','spinPolar'}
calculation.SCF.convergenceCriteria = {1e-04,1e-04,[],[],[],[],[]}
calculation.SCF.maximumSteps = 200
calculation.SCF.mixMethod = Pulay
calculation.SCF.mixRate = 0.1
calculation.SCF.mixingMode = H
calculation.SCF.startingMode = H
%calculation.SCF.donatorObject = NanodcalObject.mat



%Basic set
system.neutralAtomDataDirectory = '../'
system.atomBlock = 20
AtomType OrbitalType X Y Z SpinPolarization
Cu LDA-DZP 4.47300528 0.36892343 8.66347065 1
Cu LDA-DZP 1.91698415 0.36892343 8.66347065 1
Cu LDA-DZP 0.63899472 2.58246608 8.66347065 1
Cu LDA-DZP 3.19497358 2.58246608 8.66347065 1
Cu LDA-DZP 1.91698415 1.84461853 10.75041865 1
Cu LDA-DZP 4.47300528 1.84461853 10.75041865 1
Cu LDA-DZP 3.19497358 4.05816116 10.75041865 1
Cu LDA-DZP 0.63899473 4.05816116 10.75041865 1
Cu LDA-DZP 4.47300528 3.32031360 12.83736668 1
Cu LDA-DZP 1.91698415 3.32031360 12.83736668 1
Cu LDA-DZP 3.19497358 1.10677098 12.83736668 1
Cu LDA-DZP 0.63899472 1.10677098 12.83736668 1
Cu LDA-DZP 4.47300528 0.36892343 14.92431470 1
Cu LDA-DZP 1.91698415 0.36892343 14.92431470 1
Cu LDA-DZP 0.63899472 2.58246608 14.92431470 1
Cu LDA-DZP 3.19497358 2.58246608 14.92431470 1
Cu LDA-DZP 1.91698415 1.84461853 17.01126272 1
Cu LDA-DZP 4.47300528 1.84461853 17.01126272 1
Cu LDA-DZP 3.19497358 4.05816116 17.01126272 1
Cu LDA-DZP 0.63899473 4.05816116 17.01126272 1
end


Device目录下的scf.input 如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
%%What quantities should be calculated
calculation.name = scf


%Basic setting
calculation.occupationFunction.temperature = 300
calculation.realspacegrids.E_cutoff = 80 Hartree
calculation.xcFunctional.Type = LDA_PZ81
calculation.k_spacegrids.number = [ 1 1 1 ]'


%Description of electrode
system.numberOfLeads = 2
system.typeOfLead1 = front
system.voltageOfLead1 = 0
system.objectOfLead1 = ../FrontElectrode/NanodcalObject.mat
system.typeOfLead2 = back
system.voltageOfLead2 = 0
system.objectOfLead2 = ../BackElectrode/NanodcalObject.mat
system.numberOfGates = 2
system.typeOfGate1 = 'top'
system.voltageOfGate1 = [0;4;0]
system.typeOfGate2 = 'bottom'
system.voltageOfGate2 = [0]


%Contour integral
%calculation.complexEcontour.lowestEnergyPoint = 1.5 Hartree
calculation.complexEcontour.numberOfPoints = 40
calculation.realEcontour.interval = 0.0272114
calculation.realEcontour.eta = 0.0272114


system.centralCellVectors = [[57.0617 0 0]' [0 4.42709 0]' [0 0 30]']
system.spinType = CollinearSpin


%Iteration control
calculation.SCF.monitoredVariableName = {'rhoMatrix','hMatrix','totalEnergy','bandEnergy','gridCharge','orbitalCharge','spinPolar'}
calculation.SCF.convergenceCriteria = {1e-04,1e-04,[],[],[],[],[]}
calculation.SCF.maximumSteps = 200
calculation.SCF.mixMethod = Pulay
calculation.SCF.mixRate = 0.05
calculation.SCF.mixingMode = H
calculation.SCF.startingMode = H
%calculation.SCF.donatorObject = NanodcalObject.mat



%Basic set
system.neutralAtomDataDirectory = '../'
system.atomBlock = 204
AtomType OrbitalType X Y Z SpinPolarization
Cu LDA-DZP 4.47296302 0.36892343 8.66347065 1
Cu LDA-DZP 9.58492078 0.36892343 8.66347065 1
Cu LDA-DZP 14.69687853 0.36892343 8.66347065 1
Cu LDA-DZP 7.02894190 0.36892343 8.66347065 1
Cu LDA-DZP 12.14089966 0.36892343 8.66347065 1
Cu LDA-DZP 17.25285742 0.36892343 8.66347065 1
Cu LDA-DZP 5.75095246 2.58246608 8.66347065 1
Cu LDA-DZP 10.86291023 2.58246608 8.66347065 1
Cu LDA-DZP 15.97486798 2.58246608 8.66347065 1
Cu LDA-DZP 8.30693134 2.58246608 8.66347065 1
Cu LDA-DZP 13.41888912 2.58246608 8.66347065 1
Cu LDA-DZP 18.53084687 2.58246608 8.66347065 1
Cu LDA-DZP 7.02894190 1.84461853 10.75041865 1
Cu LDA-DZP 12.14089966 1.84461853 10.75041865 1
Cu LDA-DZP 17.25285742 1.84461853 10.75041865 1
Cu LDA-DZP 4.47296302 1.84461853 10.75041865 1
Cu LDA-DZP 9.58492078 1.84461853 10.75041865 1
Cu LDA-DZP 14.69687853 1.84461853 10.75041865 1
Cu LDA-DZP 8.30693134 4.05816116 10.75041865 1
Cu LDA-DZP 13.41888910 4.05816116 10.75041865 1
Cu LDA-DZP 18.53084687 4.05816116 10.75041865 1
Cu LDA-DZP 5.75095247 4.05816116 10.75041865 1
Cu LDA-DZP 10.86291023 4.05816116 10.75041865 1
Cu LDA-DZP 15.97486798 4.05816116 10.75041865 1
Cu LDA-DZP 4.47296302 3.32031360 12.83736668 1
Cu LDA-DZP 9.58492078 3.32031360 12.83736668 1
Cu LDA-DZP 14.69687853 3.32031360 12.83736668 1
Cu LDA-DZP 7.02894190 3.32031360 12.83736668 1
Cu LDA-DZP 12.14089966 3.32031360 12.83736668 1
Cu LDA-DZP 17.25285742 3.32031360 12.83736668 1
Cu LDA-DZP 8.30693134 1.10677098 12.83736668 1
Cu LDA-DZP 13.41888910 1.10677098 12.83736668 1
Cu LDA-DZP 18.53084687 1.10677098 12.83736668 1
Cu LDA-DZP 5.75095246 1.10677098 12.83736668 1
Cu LDA-DZP 10.86291023 1.10677098 12.83736668 1
Cu LDA-DZP 15.97486798 1.10677098 12.83736668 1
Cu LDA-DZP 4.47296302 0.36892343 14.92431470 1
Cu LDA-DZP 9.58492078 0.36892343 14.92431470 1
Cu LDA-DZP 14.69687853 0.36892343 14.92431470 1
Cu LDA-DZP 7.02894190 0.36892343 14.92431470 1
Cu LDA-DZP 12.14089966 0.36892343 14.92431470 1
Cu LDA-DZP 17.25285742 0.36892343 14.92431470 1
Cu LDA-DZP 5.75095246 2.58246608 14.92431470 1
Cu LDA-DZP 10.86291023 2.58246608 14.92431470 1
Cu LDA-DZP 15.97486798 2.58246608 14.92431470 1
Cu LDA-DZP 8.30693134 2.58246608 14.92431470 1
Cu LDA-DZP 13.41888910 2.58246608 14.92431470 1
Cu LDA-DZP 18.53084687 2.58246608 14.92431470 1
Cu LDA-DZP 7.02894190 1.84461853 17.01126272 1
Cu LDA-DZP 12.14089966 1.84461853 17.01126272 1
Cu LDA-DZP 17.25285742 1.84461853 17.01126272 1
Cu LDA-DZP 4.47296302 1.84461853 17.01126272 1
Cu LDA-DZP 9.58492078 1.84461853 17.01126272 1
Cu LDA-DZP 14.69687853 1.84461853 17.01126272 1
Cu LDA-DZP 8.30693134 4.05816116 17.01126272 1
Cu LDA-DZP 13.41888910 4.05816116 17.01126272 1
Cu LDA-DZP 18.53084685 4.05816116 17.01126272 1
Cu LDA-DZP 5.75095247 4.05816116 17.01126272 1
Cu LDA-DZP 10.86291023 4.05816116 17.01126272 1
Cu LDA-DZP 15.97486798 4.05816116 17.01126272 1
Cu LDA-DZP 52.58873071 0.36892343 8.66347065 1
Cu LDA-DZP 47.47677295 0.36892343 8.66347065 1
Cu LDA-DZP 42.36481518 0.36892343 8.66347065 1
Cu LDA-DZP 50.03275182 0.36892343 8.66347065 1
Cu LDA-DZP 44.92079407 0.36892343 8.66347065 1
Cu LDA-DZP 39.80883630 0.36892343 8.66347065 1
Cu LDA-DZP 51.31074127 2.58246608 8.66347065 1
Cu LDA-DZP 46.19878351 2.58246608 8.66347065 1
Cu LDA-DZP 41.08682574 2.58246608 8.66347065 1
Cu LDA-DZP 48.75476237 2.58246608 8.66347065 1
Cu LDA-DZP 43.64280462 2.58246608 8.66347065 1
Cu LDA-DZP 38.53084687 2.58246608 8.66347065 1
Cu LDA-DZP 50.03275182 1.84461853 10.75041865 1
Cu LDA-DZP 44.92079407 1.84461853 10.75041865 1
Cu LDA-DZP 39.80883630 1.84461853 10.75041865 1
Cu LDA-DZP 52.58873071 1.84461853 10.75041865 1
Cu LDA-DZP 47.47677295 1.84461853 10.75041865 1
Cu LDA-DZP 42.36481518 1.84461853 10.75041865 1
Cu LDA-DZP 48.75476238 4.05816116 10.75041865 1
Cu LDA-DZP 43.64280463 4.05816116 10.75041865 1
Cu LDA-DZP 38.53084687 4.05816116 10.75041865 1
Cu LDA-DZP 51.31074126 4.05816116 10.75041865 1
Cu LDA-DZP 46.19878350 4.05816116 10.75041865 1
Cu LDA-DZP 41.08682573 4.05816116 10.75041865 1
Cu LDA-DZP 52.58873071 3.32031360 12.83736668 1
Cu LDA-DZP 47.47677295 3.32031360 12.83736668 1
Cu LDA-DZP 42.36481518 3.32031360 12.83736668 1
Cu LDA-DZP 50.03275182 3.32031360 12.83736668 1
Cu LDA-DZP 44.92079407 3.32031360 12.83736668 1
Cu LDA-DZP 39.80883630 3.32031360 12.83736668 1
Cu LDA-DZP 48.75476238 1.10677098 12.83736668 1
Cu LDA-DZP 43.64280463 1.10677098 12.83736668 1
Cu LDA-DZP 38.53084687 1.10677098 12.83736668 1
Cu LDA-DZP 51.31074127 1.10677098 12.83736668 1
Cu LDA-DZP 46.19878351 1.10677098 12.83736668 1
Cu LDA-DZP 41.08682574 1.10677098 12.83736668 1
Cu LDA-DZP 52.58873071 0.36892343 14.92431470 1
Cu LDA-DZP 47.47677295 0.36892343 14.92431470 1
Cu LDA-DZP 42.36481518 0.36892343 14.92431470 1
Cu LDA-DZP 50.03275182 0.36892343 14.92431470 1
Cu LDA-DZP 44.92079407 0.36892343 14.92431470 1
Cu LDA-DZP 39.80883630 0.36892343 14.92431470 1
Cu LDA-DZP 51.31074127 2.58246608 14.92431470 1
Cu LDA-DZP 46.19878351 2.58246608 14.92431470 1
Cu LDA-DZP 41.08682574 2.58246608 14.92431470 1
Cu LDA-DZP 48.75476238 2.58246608 14.92431470 1
Cu LDA-DZP 43.64280463 2.58246608 14.92431470 1
Cu LDA-DZP 38.53084687 2.58246608 14.92431470 1
Cu LDA-DZP 50.03275182 1.84461853 17.01126272 1
Cu LDA-DZP 44.92079407 1.84461853 17.01126272 1
Cu LDA-DZP 39.80883630 1.84461853 17.01126272 1
Cu LDA-DZP 52.58873071 1.84461853 17.01126272 1
Cu LDA-DZP 47.47677295 1.84461853 17.01126272 1
Cu LDA-DZP 42.36481518 1.84461853 17.01126272 1
Cu LDA-DZP 48.75476238 4.05816116 17.01126272 1
Cu LDA-DZP 43.64280463 4.05816116 17.01126272 1
Cu LDA-DZP 38.53084687 4.05816116 17.01126272 1
Cu LDA-DZP 51.31074126 4.05816116 17.01126272 1
Cu LDA-DZP 46.19878350 4.05816116 17.01126272 1
Cu LDA-DZP 41.08682573 4.05816116 17.01126272 1
P LDA-DZP 6.99439600 1.85671617 19.32126272 1
P LDA-DZP 6.99439696 2.57036342 21.48707806 1
P LDA-DZP 8.65104749 0.35682450 19.32126272 1
P LDA-DZP 8.65104178 4.07026208 21.48707998 1
P LDA-DZP 10.30769423 1.85671890 19.32126272 1
P LDA-DZP 10.30769423 2.57036220 21.48707806 1
P LDA-DZP 11.96434860 0.35682411 19.32126272 1
P LDA-DZP 11.96434287 4.07026208 21.48707998 1
P LDA-DZP 13.62099532 1.85671879 19.32126272 1
P LDA-DZP 13.62099532 2.57036437 21.48707998 1
P LDA-DZP 15.27764396 0.35682340 19.32126272 1
P LDA-DZP 15.27764967 4.07026208 21.48707998 1
P LDA-DZP 16.93429640 1.85671844 19.32126272 1
P LDA-DZP 16.93429640 2.57036509 21.48707998 1
P LDA-DZP 18.59094694 0.35682403 19.32126272 1
P LDA-DZP 18.59094503 4.07026352 21.48707998 1
P LDA-DZP 20.24759748 1.85671820 19.32126272 1
P LDA-DZP 20.24759748 2.57036509 21.48707998 1
P LDA-DZP 21.90424803 0.35682388 19.32126272 1
P LDA-DZP 21.90424803 4.07026208 21.48707998 1
P LDA-DZP 23.56089667 1.85672021 19.32126272 1
P LDA-DZP 23.56089667 2.57036483 21.48707998 1
P LDA-DZP 25.21754721 0.35682343 19.32126272 1
P LDA-DZP 25.21754721 4.07026255 21.48707998 1
P LDA-DZP 26.87419774 1.85671951 19.32126272 1
P LDA-DZP 26.87419774 2.57036460 21.48707998 1
P LDA-DZP 28.53084448 0.35682221 19.32126272 1
P LDA-DZP 28.53084448 4.07026018 21.48707998 1
P LDA-DZP 30.18749883 1.85671963 19.32126272 1
P LDA-DZP 30.18749883 2.57036509 21.48707998 1
P LDA-DZP 31.84414556 0.35682251 19.32126272 1
P LDA-DZP 31.84414556 4.07026018 21.48707998 1
P LDA-DZP 33.50079611 1.85671987 19.32126272 1
P LDA-DZP 33.50079994 2.57036460 21.48707998 1
P LDA-DZP 35.15744665 0.35682146 19.32126272 1
P LDA-DZP 35.15744665 4.07026114 21.48707998 1
P LDA-DZP 36.81409720 1.85672118 19.32126272 1
P LDA-DZP 36.81409720 2.57036509 21.48707998 1
P LDA-DZP 38.47074393 0.35682343 19.32126272 1
P LDA-DZP 38.47074393 4.07026161 21.48707998 1
P LDA-DZP 40.12739827 1.85672118 19.32126272 1
P LDA-DZP 40.12739447 2.57036318 21.48707998 1
P LDA-DZP 41.78404501 0.35682340 19.32126272 1
P LDA-DZP 41.78404882 4.07026064 21.48707998 1
P LDA-DZP 43.44069555 1.85671712 19.32126272 1
P LDA-DZP 43.44069555 2.57036292 21.48707998 1
P LDA-DZP 45.09734609 0.35682403 19.32126272 1
P LDA-DZP 45.09734609 4.07026208 21.48707998 1
P LDA-DZP 46.75399664 1.85671772 19.32126272 1
P LDA-DZP 46.75399664 2.57036365 21.48707998 1
P LDA-DZP 48.41064336 0.35682128 19.32126272 1
P LDA-DZP 48.41064718 4.07026161 21.48707998 1
P LDA-DZP 50.06729773 1.85671903 19.32126272 1
P LDA-DZP 50.06729773 2.57036437 21.48707998 1
Cu LDA-DZP 3.19497358 2.58246608 8.66347065 1
Cu LDA-DZP 3.19497358 4.05816116 10.75041865 1
Cu LDA-DZP 3.19497358 1.10677098 12.83736668 1
Cu LDA-DZP 3.19497358 2.58246608 14.92431470 1
Cu LDA-DZP 3.19497358 4.05816116 17.01126272 1
Cu LDA-DZP 1.91698415 0.36892343 8.66347065 1
Cu LDA-DZP 1.91698415 1.84461853 10.75041865 1
Cu LDA-DZP 1.91698415 3.32031360 12.83736668 1
Cu LDA-DZP 1.91698415 0.36892343 14.92431470 1
Cu LDA-DZP 1.91698415 1.84461853 17.01126272 1
Cu LDA-DZP 0.63899471 2.58246608 8.66347065 1
Cu LDA-DZP 0.63899473 4.05816116 10.75041865 1
Cu LDA-DZP 0.63899471 1.10677098 12.83736668 1
Cu LDA-DZP 0.63899471 2.58246608 14.92431470 1
Cu LDA-DZP 0.63899473 4.05816116 17.01126272 1
Cu LDA-DZP 53.86672015 2.58246608 8.66347065 1
Cu LDA-DZP 53.86672015 4.05816116 10.75041865 1
Cu LDA-DZP 53.86672015 1.10677098 12.83736668 1
Cu LDA-DZP 53.86672015 2.58246608 14.92431470 1
Cu LDA-DZP 53.86672015 4.05816116 17.01126272 1
Cu LDA-DZP 55.14470959 0.36892343 8.66347065 1
Cu LDA-DZP 55.14470959 1.84461853 10.75041865 1
Cu LDA-DZP 55.14470959 3.32031360 12.83736668 1
Cu LDA-DZP 55.14470959 0.36892343 14.92431470 1
Cu LDA-DZP 55.14470959 1.84461853 17.01126272 1
Cu LDA-DZP 56.42269903 2.58246608 8.66347065 1
Cu LDA-DZP 56.42269902 4.05816116 10.75041865 1
Cu LDA-DZP 56.42269903 1.10677098 12.83736668 1
Cu LDA-DZP 56.42269903 2.58246608 14.92431470 1
Cu LDA-DZP 56.42269902 4.05816116 17.01126272 1
end

2.2 势函数分析

势分布函数的计算应该不是必须的,但是可以验证一下缓冲区的设定是否合适,在此前已经做完自洽计算的基础上,选择Device模型,然后点击Simulator —>** Nanodcal** —> Analysis,然后选择Potential。添加到选择的计算,然后点击Generate files

生成了potential.input之后可以做一下修改,采用教程中所用的Vdh势,鼠标右键potential.input,然后修改一下whatPotential,修改后的potential.input文件如下:

1
2
3
4
5
6
7
8
system.object = NanodcalObject.mat
calculation.name = potential
calculation.control.energyUnit = eV
calculation.potential.whatPotential = 'Vdh'
%calculation.potential.plot = true
%calculation.control.xml = true
calculation.control.dsf = 1

修改完成之后就可以提交计算了,计算结束之后,除了更新的log.txt文件,Device目录下还会多一个CoulombPotential.dsf文件,鼠标右键这个文件,选择show view,然后调整一下绘图细节,选择1D —>** average in yz plane**,即可以出现如下的图:

2.3 输运性质计算

2.3.1 不同偏压下的I-V曲线

点击Simulator —>** Nanodcal** —> Analysis,然后选择IVcurve

然后点击Generate files,这个时候系统就会为我们创建一个ivcurve.input,对这个文件并不需要修改,可以直接进行提交计算,这个时候如果提交计算,那么计算的是0V偏压下的I-V值。

但是我们需要计算不同偏压下的I-V曲线,所以我们要创建不同的文件夹来分别进行计算,通过DS右下角的putty按钮,可以连接到远程服务器进行操作:

点击后会自动进入到我们正在计算的Device目录,然后可以在这个目录下创建四个目录,在命令行页面输入:

1
mkdir 01 02 03 04

目录分别对应着0.1、0.2、0.3、0.4V的偏压,然后再将当前目录下的scf.inputscf.slrumivcurve.inputivcurve.slrum四个文件复制到对应的目录,可以用以下的指令来快速实现:

1
2
3
for i in 0*; do
cp scf.* ivcurve.* $i
done

将输入文件依次复制到对应的目录之后,还需要修改scf.input来实现不同的偏压,可以用vim指令来修改scf.input,以0.1V偏压为例,需要修改的地方有以下的内容:

1
2
3
4
5
6
7
8
9
10
11
12
% 设置偏压
system.voltageOfLead1 = 0.05
system.voltageOfLead2 = -0.05

% 修改相对路径,在此前的自洽基础上继续计算
system.objectOfLead1 = ../../FrontElectrode/NanodcalObject.mat
system.objectOfLead2 = ../../BackElectrode/NanodcalObject.mat

calculation.SCF.donatorObject = '../NanodcalObject.mat'

system.neutralAtomDataDirectory = '../../'

以下是我修改之后的scf.input文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
%%What quantities should be calculated
calculation.name = scf


%Basic setting
calculation.occupationFunction.temperature = 300
calculation.realspacegrids.E_cutoff = 80 Hartree
calculation.xcFunctional.Type = LDA_PZ81
calculation.k_spacegrids.number = [ 1 1 1 ]'


%Description of electrode
system.numberOfLeads = 2
system.typeOfLead1 = front
system.voltageOfLead1 = 0.05
system.objectOfLead1 = ../../FrontElectrode/NanodcalObject.mat
system.typeOfLead2 = back
system.voltageOfLead2 = -0.05
system.objectOfLead2 = ../../BackElectrode/NanodcalObject.mat
system.numberOfGates = 2
system.typeOfGate1 = 'top'
system.voltageOfGate1 = [0;4;0]
system.typeOfGate2 = 'bottom'
system.voltageOfGate2 = [0]


%Contour integral
%calculation.complexEcontour.lowestEnergyPoint = 1.5 Hartree
calculation.complexEcontour.numberOfPoints = 40
calculation.realEcontour.interval = 0.0272114
calculation.realEcontour.eta = 0.0272114


system.centralCellVectors = [[57.0617 0 0]' [0 4.42709 0]' [0 0 30]']
system.spinType = CollinearSpin


%Iteration control
calculation.SCF.monitoredVariableName = {'rhoMatrix','hMatrix','totalEnergy','bandEnergy','gridCharge','orbitalCharge','spinPolar'}
calculation.SCF.convergenceCriteria = {1e-04,1e-04,[],[],[],[],[]}
calculation.SCF.maximumSteps = 200
calculation.SCF.mixMethod = Pulay
calculation.SCF.mixRate = 0.05
calculation.SCF.mixingMode = H
calculation.SCF.startingMode = H
calculation.SCF.donatorObject = '../NanodcalObject.mat'

%Basic set
system.neutralAtomDataDirectory = '../../'
system.atomBlock = 214
AtomType OrbitalType X Y Z SpinPolarization
% 原子坐标等信息略去。。。

除了修改偏压的相关参数外,还需要修改引用的一些文件的路径,设置完成之后就可以在命令行中输入:

1
sbatch scf.slrum

在自洽计算完成之后,就可以进一步计算偏压下的电流大小,以下是ivcurve.input

1
2
3
4
5
6
calculation.name = ivc
calculation.control.temporaryDirectory = ./
calculation.IVCurve.systemObjectStatus = 'AllCalculated'
calculation.IVCurve.systemObjectFiles = NanodcalObject.mat
calculation.IVCurve.kSpaceGridNumber = [300 1 1]'
calculation.control.xml = true

在命令行中输入:

1
sbatch ivcurve.slrum

计算完成后,在服务器中打开matlab,依次输入:

1
2
3
4
5
6
7
load –mat CurrentVoltageCurves.mat
% 查看各电极的电流大小
data
% 查看不同自旋的电流大小
data.I1_spinDecomposed
data.I2_spinDecomposed

这样就可以依次提取计算结果数据并作图,如下图,便是我根据计算结果绘制的I-V曲线。

2.3.2 0V、0.2V、0.3V偏压下的电子透射谱计算

点击Simulator —>** Nanodcal** —> Analysis,然后选择Transmission,修改K点的n1为300,然后调整能量范围为-0.8到0.8eV,如下图:

然后点击Generate files,这个时候系统就会为我们创建一个Transmission.input文件,对这个文件并不需要修改,可以直接进行提交计算,然后这个时候计算的也是自洽计算时偏压大小下的电子透射谱,以下时我计算所用的Transmission.input文件:

1
2
3
4
5
6
system.object = NanodcalObject.mat
calculation.name = transmission
calculation.transmission.kSpaceGridNumber = [ 300 1 1 ]'
calculation.transmission.energyPoints = -0.8:0.004:0.8
%calculation.transmission.plot = true
calculation.control.xml = true

计算完成后DS的Device目录下会生成一个Transmission.xml文件,直接鼠标右键该文件,然后选择show view即可查看该偏压下的电子透射谱。

以下是我的计算结果:

门压为4V,0V偏压下的Transmission:

门压为4V,0.2V偏压下的Transmission:

门压为4V,0.2V偏压下的Transmission:


Nanodcal的学习与应用-Cu-BP半导体的相关计算
http://phoenixjason.cn/2023/05/28/20230528Nanodcal的学习与应用-Cu_BP的半导体计算/
作者
Jason
发布于
2023年5月28日
许可协议