VASP表面计算步骤小结
VASP原包的计算过程及原理

——by Tan Su
VASP计算流程概括:
首先在Materiale Studio(MS)里导入原包模型,即纯金属模型、氧化 物模型、原子模型等
把原包坐标转换成VASP坐标,用FTP转入所要计算的服务器(a)
然后在SecureCRT中进入服务器a,建立文件夹(mkdir 文件名,如 sut), 也可以直接用ftp键入好文件夹,在所建好的原包文件件,如 Au中键入四个指标(vi 名称,名称必需大写!) 四个指标分别是:INCAR,KPOINTS,POSCAR,POTCAR 复制VASP脚本,即:cp VASP脚本 交作业: qsub 目录(如所在即是要算的目录,可不加) VASP脚本 作业运行:qstat
ljy01 : 192.9.207.206 ljy03a:192.9.207.102 ljy07a:192.9.207.102 ljy01b-ljy04b:192.9.207.253 pdr06b: 192.9.207.253 ljy01c:192.9.207.204 ljy01e-ljy02e: 192.9.207.240 ljy01g:192.9.207.18 ljy01h-ljy02h:192.9.200.99 st01d: 192.9.207.206
存成*.cif和*.car文件
16
表面的计算
在VESTA软 件中打开所 要转化的*.cif 文件,如右 图所示,转 化为*.VASP 文件 另外一种方 式见过渡态 计算部分
17
表面的计算
பைடு நூலகம்
固定最上两层,即 最大数值的两个, 所以区域为7-9.5 之间即可
自动生成四个参数,需 要检查参数是否正确
18
一般会进入队列排队(R),也可能出错,请检查OUTCAR文件 多余作业取消:qdel 作业代号
VASP遇到一些问题总结

VASP 计算过程中遇到的问题总结01、第一原理计算的一些心得(1)第一性原理其实是包括基于密度泛函的从头算和基于Hartree-Fock自洽计算的从头算,前者以电子密度作为基本变量(霍亨伯格-科洪定理),通过求解Kohn-Sham方程,迭代自洽得到体系的基态电子密度,然后求体系的基态性质;后者则通过自洽求解Hartree-Fock 方程,获得体系的波函数,求基态性质;评述:K-S方程的计算水平达到了H-F水平,同时还考虑了电子间的交换关联作用。
(2)关于DFT中密度泛函的Functional,其实是交换关联泛函包括LDA,GGA,杂化泛函等等一般LDA为局域密度近似,在空间某点用均匀电子气密度作为交换关联泛函的唯一变量,多数为参数化的CA-PZ方案;GGA为广义梯度近似,不仅将电子密度作为交换关联泛函的变量,也考虑了密度的梯度为变量,包括PBE,PW,RPBE等方案,BLYP泛函也属于GGA;此外还有一些杂化泛函,B3LYP等。
(3)关于赝势在处理计算体系中原子的电子态时,有两种方法,一种是考虑所有电子,叫做全电子法,比如WIEN2K中的FLAPW方法(线性缀加平面波);此外还有一种方法是只考虑价电子,而把芯电子和原子核构成离子实放在一起考虑,即赝势法,一般赝势法是选取一个截断半径,截断半径以内,波函数变化较平滑,和真实的不同,截断半径以外则和真实情况相同,而且赝势法得到的能量本征值和全电子法应该相同。
赝势包括模守恒和超软,模守恒较硬,一般需要较大的截断能,超软势则可以用较小的截断能即可。
另外,模守恒势的散射特性和全电子相同,因此一般红外,拉曼等光谱的计算需要用模守恒势。
赝势的测试标准应是赝势与全电子法计算结果的匹配度,而不是赝势与实验结果的匹配度,因为和实验结果的匹配可能是偶然的。
(4)关于收敛测试(a)Ecut,也就是截断能,一般情况下,总能相对于不同Ecut做计算,当Ecut增大时总能变化不明显了即可;然而,在需要考虑体系应力时,还需对应力进行收敛测试,而且应力相对于Ecut的收敛要比总能更为苛刻,也就是某个截断能下总能已经收敛了,但应力未必收敛。
VASP表面

Next: 采用VASP如何计算晶体的弹性常数 Up: VASP计算实例 Previous: 用VASP 计算Pd金属的晶格常数 Contents用VASP 计算表面能做表面计算时,第一步我们需要测试K 点的收敛性。
通常,在垂直表面方向用1个K 点就可以了,在平行表面方向,可以用和体材料类似的K 点密度。
其次,我们要测试真空厚度(vacuum thickness)的收敛性。
我们构造完一个slab 后,将真空厚度逐渐从增加到,体系的总能量改变不超过10meV 的时候,可以初步认为真空厚度达到标准。
以下是一个3层的(fcc) Pd slab 的能量随着真空厚度的变化。
其INCAR 文件如下:SYSTEM = undeformed fcc Pd (111) surface calculation Startparameter for this run: PREC = AccurateISTART = 0 job : 0-new 1-cont 2-samecut ICHARG = 2 charge: 1-file 2-atom 10-const ISPIN = 1 spin polarized calculation?Electronic Relaxation 1NELM = 90; NELMIN= 8; # of ELM steps EDIFF = 0.1E-03 stopping-criterion for ELM LREAL = .FALSE. real-space projection NBANDS = 40Ionic relaxationEDIFFG = 0.1E-2 stopping-criterion for IOM NSW = 0 number of steps for IOMIBRION = 2 ionic relax: 0-MD 1-quasi-New 2-CG ISIF = 2 stress and relaxationPOTIM = 0.10 time-step for ionic-motion TEIN = 0.0 initial temperatureTEBEG = 0.0; TEEND = 0.0 temperature during runDOS related values:ISMEAR = 1 ; SIGMA = 0.20 broadening in eV -4-tet -1-fermi 0-gausElectronic relaxation 2 (details)Write flagsLWAVE = F write WAVECARLCHARG = F write CHGCARLVTOT = .TRUE.其中因为Pd是金属,ISMEAR设置为method of Methfessel-Paxton。
(完整)计算表面态的详细过程

表面态计算的详细过程其实,即算表面态的方法,本质上是计算任意指定原子在能带中占有的比重.第一步,计算。
按照一般的流程,作结构优化、静态计算、能带计算。
如果,你的结构需要考虑范德瓦耳斯作用力,则在结构优化的计算中,选用合适的vdw计算方法;如果,你的计算需要考虑自旋轨道耦合,则在静态和能带计算的时候,加入soc的参数。
在算能带的时候,根据你的需要,设定K点的轨道。
因为算的是指定原子在能带中所占的比重,建议算能带的K点一定要多一些,这样点才可以在最终画出来的图中练成线,看出图案,比如101,甚至更大,这个可以调试。
第二步,处理数据。
首先,你要有一个可以算表面态的脚本,或者由这个脚本生成的小程序.将以上可执行的脚本,输出为PROCARchuli-2。
exe的可执行程序(当然,也可以直接用脚本来处理数据)用PROCARchuli—2。
exe处理数据的过程:1.将可执行程序PROCARchuli—2。
exe和输入文件放在一起2.输入文件包括POSCAR(删除原子符号行)、POTCAR、PROCAR、input3.Input中内容第一行:需要处理的原子总数(不是全部原子)第二行:需要处理的原子编号(按照POSCAR中原子的顺序)4.双击程序PROCARchuli—2。
exe第一步:考虑了soc则输入1,否则输入0第二步:选择模式,选择1,原样输出,选择2按照一定的标准将数值归0,归1。
第二步选择二,则进入第三步,输入归0,归1的标准第三步:输入合适的判断标准,比如0。
3,0.48,0.5….运行成功之后,输出文件pro.dat5.用vasp_band.exe小程序处理EIGENVAL,输入费米能,得到band.dat文件,将band.dat、pro。
dat文件拖到Origin中对比作图,将pro。
dat设置为原来能带图上的比重.6.怎样将比重在oringin图中显示:将能带和比重的数据分别拖到origin中。
VASP表面

Next: 采用VASP如何计算晶体的弹性常数 Up: VASP计算实例 Previous: 用VASP 计算Pd金属的晶格常数 Contents用VASP 计算表面能做表面计算时,第一步我们需要测试K 点的收敛性。
通常,在垂直表面方向用1个K 点就可以了,在平行表面方向,可以用和体材料类似的K 点密度。
其次,我们要测试真空厚度(vacuum thickness)的收敛性。
我们构造完一个slab 后,将真空厚度逐渐从增加到,体系的总能量改变不超过10meV 的时候,可以初步认为真空厚度达到标准。
以下是一个3层的(fcc) Pd slab 的能量随着真空厚度的变化。
其INCAR 文件如下:SYSTEM = undeformed fcc Pd (111) surface calculation Startparameter for this run: PREC = AccurateISTART = 0 job : 0-new 1-cont 2-samecut ICHARG = 2 charge: 1-file 2-atom 10-const ISPIN = 1 spin polarized calculation?Electronic Relaxation 1NELM = 90; NELMIN= 8; # of ELM steps EDIFF = 0.1E-03 stopping-criterion for ELM LREAL = .FALSE. real-space projection NBANDS = 40Ionic relaxationEDIFFG = 0.1E-2 stopping-criterion for IOM NSW = 0 number of steps for IOMIBRION = 2 ionic relax: 0-MD 1-quasi-New 2-CG ISIF = 2 stress and relaxationPOTIM = 0.10 time-step for ionic-motion TEIN = 0.0 initial temperatureTEBEG = 0.0; TEEND = 0.0 temperature during runDOS related values:ISMEAR = 1 ; SIGMA = 0.20 broadening in eV -4-tet -1-fermi 0-gausElectronic relaxation 2 (details)Write flagsLWAVE = F write WAVECARLCHARG = F write CHGCARLVTOT = .TRUE.其中因为Pd是金属,ISMEAR设置为method of Methfessel-Paxton。
个人非常好的VASP学习与总结

个人非常好的VASP学习与总结VASP(Vienna Ab initio Simulation Package)是一种用于计算材料电子结构和材料性质的第一性原理软件包。
它是由奥地利维也纳大学的Peter Blöchl教授和Jürgen Hafner教授等人开发的。
VASP广泛应用于材料科学、凝聚态物理、表面科学、催化化学等领域,并且已成为当前计算材料科学研究中的重要工具。
我的VASP学习与总结主要包括以下几个方面:一、理论基础在学习VASP之前,我首先了解了从头计算的理论基础。
这包括了量子力学、自旋极化的密度泛函理论、平面波基组和赝势等关键概念。
我通过阅读相关文献和教材,深入理解了这些理论基础,并通过编程实现了一些基本的从头计算算法,如Hartree-Fock法和密度泛函理论。
二、VASP软件架构和输入文件学习VASP的过程中,我详细了解了VASP的软件架构和输入文件的格式。
VASP的软件架构分为主程序和一系列的预处理工具、后处理工具和与其他软件的接口。
对于输入文件,我了解了INCAR文件中的各种参数,如体系的描述、计算方法、收敛准则等;POSCAR文件中的晶体结构描述;KPOINTS文件中的k点网格描述等。
我还学习了如何使用VASP进行周期性边界条件下的能带计算、电子密度计算和弛豫力计算等。
三、VASP计算结果的解析和可视化VASP计算得到的结果需要进一步解析和可视化。
我学习了使用一些常用的后处理工具,如VASP可视化工具、VESTA和XCrysDen等,来分析和可视化VASP计算的结果。
这些工具可以帮助我理解晶体结构、电子能带结构以及电荷分布等。
四、VASP参数优化和计算效率为了得到准确的计算结果,我尝试了调整VASP计算中的一些参数,如波函数截断、k点密度、能量收敛准则等,以获得更准确的计算结果。
此外,我还学习了使用并行计算技术来提高VASP计算的效率,如MPI和OpenMP等,并了解了VASP在高性能计算集群上的使用方法。
VASP计算方法

V ASP计算方法总结1 静态计算计算方法:IBRION = -1NSW = 02 结构优化计算方法:①只进行离子弛豫IBRION = 2ISIF = 2②块体晶格参数优化IBRION = 2ISIF = 3③二维材料晶格参数优化3 表面能计算方法:1) 块体晶体晶格参数优化;静态计算;得能量Eb 2) 优化的块体切slab ;静态计算;得Es1 3) 将slab 模型离子弛豫;静态计算;得Es24) γ = (Es1 – N *(Eb / n ))/ 2A + (Es2 – Es1)/ A 计算步骤:4 功函数计算方法:1) 块体晶格参数优化;切slab 模型;离子弛豫 2) 修改INCAR (LVHAR = .TRUE.);静态计算 3) W = Ve - EF表面能1strustatic2slab 3optislabstatic计算步骤:5 吸附能计算方法:1) 块体和二维材料(D)晶格参数优化 2) 块体切slab ;构建slab 吸附模型3) slab 吸附模型去slab ;二维材料离子弛豫;静态计算 4) slab 吸附模型去二维材料;slab 离子弛豫;静态计算 5) slab 吸附模型离子弛豫;静态计算 6) E abs = E metal-D – E metal – E D 计算步骤:表面能1strustatic2slab3optislabstaticworkfunction吸附能1strustatic 2slab static 3slabDstatic6 差分电荷密度计算方法: 1) 完成吸附能计算2) Slab 吸附模型静态计算时得ρab3) Slab 吸附模型CONTCAR 去slab ;二维材料静态计算得ρa 4) Slab 吸附模型CONTCAR 去二维材料;slab 静态计算得ρb 5) △ρ = ρab – ρa – ρb 计算步骤:7 DOS计算方法: 1) 模型优化完成2) 自洽计算得到CHGCAR (DOS 文件夹下) ISMEAR = -5 LCHARG = .TRUE.吸附能1strustatic 2slabstatic3slabD staticDchargeslabcharge小密度k点(总k点>4)3)非自洽计算得到vasprun.xml(PDOS文件夹下)ISMEAR = -5ISTART = 1ICHARG = 11LORBIT = 11NEDOS = 1000大密度k点计算步骤:DOS PDOS8 能带计算计算方法:1)模型优化完成2)自洽计算得到CHGCAR(同上)ISMEAR = -5LCHARG = .TRUE.小密度k点(总k点>4)3)非自洽计算得到vasprun.xml(BAND文件下)a)INCARISMEAR ≠-5ISTART = 1ICHARG = 11LORBIT = 11NEDOS = 1000大密度k点NBANDS可适当增大b)KPOINTS写syml文件(用pand.x时,E-fermi得重写);gk.x一下计算步骤:DOS PDOS BAND。
VASP计算方法

VASP计算方法VASP是维也纳第一原理模拟计算软件的缩写。
它是一种基于密度泛函理论的材料模拟计算方法,广泛应用于化学、物理、材料科学等领域。
VASP使用基于平面波展开(plane wave basis)的赝势(pseudopotentials)方法来描述材料中的电子结构。
其核心思想是将电子波函数以平面波的形式展开,并采用赝势来模拟电子的相互作用。
这种方法能够高效地计算含有数百个原子的系统的电子结构和相关性质。
在VASP中,首先需要确定材料的晶体结构。
用户可以通过输入晶体结构的空间群信息和原子坐标来定义体系的几何信息,还可以指定晶胞的尺寸和形状。
然后,通过选择适当的波函数和赝势,可以定义计算模型并进行模拟计算。
VASP计算可以分为一系列的步骤,包括结构优化、静态能量计算、力学性质计算等。
首先,通过结构优化,可以找到体系的最稳定结构和原子位置。
随后,通过静态能量计算,可以计算材料的能带结构和密度态。
在静态计算的基础上,还可以计算材料的力学性质,如弹性常数、声子谱等。
此外,VASP还可以进行分子动力学模拟和绝对零度的自由能计算。
在VASP计算中,还需要设置一些计算参数来优化计算性能和结果的准确性。
例如,可以通过设置波函数的能量截断来控制展开平面波的数目,提高计算效率。
还可以选择适当的赝势来模拟材料中的电子相互作用。
此外,还可以通过设置自旋极化和计算参数等,扩展VASP的应用范围和处理领域。
除了常规计算方法外,VASP还提供了一些高级计算功能,如HSE06方法和GW近似方法等。
这些方法可以进一步提高计算结果的准确性和可靠性。
总之,VASP是一种强大而灵活的第一原理模拟计算方法,可用于研究和预测各种材料的性质和行为。
通过调整计算参数和采用适当的计算模型,可以在各种材料科学领域中开展深入的研究,并帮助解决实际问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VASP表面计算步骤小结(侯博士)一、概述vasp用“slab”模型来模拟表面体系结构。
vasp计算表面的大概步骤是:材料体性质的计算;表面模型的构造;表面结构的优化;表面性质的计算。
二、分步介绍1、材料体性质计算:本步是为了确定表面计算时所需的一些重要参数:ENCUT、SIGMA(smearing 方法为ISMEAR=1 或0时;而通常表面体系结构优化时选择这种smearing方法)、晶格参数。
<一>在计算前,要明确:何种PP;ENCUT;KPOINTS ;SIGMA;PREC;EX-CO,这其实是准备proper input files。
a. 何种PP选择的PP能使计算得到的单个原子能量值在1meV~10meV之间。
[参见P 21]所求得的单原子能量(对称性破缺时)可用来提高结合能的精度。
b. ENCUT [ 参见P 14 ]选择的ENCUT应使得总能变化在0.001eV左右为宜。
注意:试探值最小为POTCAR中的ENMAX(多个时,取最大的),递增间隔50;另外,在进行变体积的结构优化时,最好保证ENCUT=1.3ENMAX,以得到合理精度。
c. PREC [参见P 16]控制计算精度的最重要参数,决定了(未指定时)ENCUT、FFT网格、ROPT取值。
一般计算取NORMAL;当要提高Stress tensor计算精度时,HIGH 或ACCURATE,并手动设置ENCUT。
d. EDIFF & EDIFFG [参见P16]EDIFF 判断电子结构部分自恰迭代时自恰与否,一般取默认值=1E-4;EDIFFG 控制离子部分驰豫e. ISTART & ICHARGE [参见P 16]ISTART = 1, ICHARG = 11:能带结构、电子态密度计算时;ISTART =0, ICHARG = 2:其余计算ISTART = 1,ICHARG = 1(其他所有不改变):断点后续算设置f. GGA & VOSKOWN [参见P 16]GGA=91: Perdew -Wang 91;GGA=PE: Perdew-Burke-ErnzerhofVOSKOWN=1( GGA=91时);VOSKOWN=默认(其余情况)g. ISIF [参见P 16]控制结构参数之优化。
在对原胞进行变形状或者体积的优化时,ENCUT要取大(比如1.3ENMAX或PREC=HIGH),以消除Pulay Stress导致的误差。
h. ISMEAR & SIGMA [参见P 18]进行任何静态计算时,且K点数目大于4,ISMEAR=-5;当原胞太大,导致K点数目小于4时,ISMEAR = 0,并且要设置一个SIGMA;对绝缘体和半导体,不论是静态计算还是结构优化,ISMEAR = -5;对金属体系,SMEAR=1和 2,并且设置一个SIGMA;能带结构计算,用默认值:ISMEAR=1,SIGMA=0.2;一般来说,对于任何体系,任何计算,采用ISMEAR=0,并选择合适的SIGMA都会得到合理结果。
选择的SIGMA应使得entropy T*S EENTRO 绝对值最小。
K 点数目变化后,SIGMA需再优化。
i. RWIGS [参见P 19]一般取POTCAR中以A为单问的RWIGS值。
j. K points [参见P 19]选择的K点应使得总能变化在0.001eV左右即可。
k. 一些重要的参数在默认下的值NSW =0,IBRION=-1,ISIF=2:静态计算。
<二>a. 体材料结合能修正。
[参见P 21]在OUTCAR中energy without entropy之后的那个能量值,就是修正值b. 结构参数优化。
[参见P 22]简单情况(没有内部自由度如晶胞形状、原子位置):静态计算,得出E~V关系,然后用Birch-Murnaghan状态方程拟合。
复杂情况:总思路是先“建立好房子”,再“放好桌子”。
先算一步结构优化(取ISIF=5,只改变“房子”形貌,房间大小不变,家具不予考虑),接着算一步静态自恰计算,从而得到某结构参数下的能量,如此循环得到E~V关系。
用状态方程拟合得到平衡体积。
在该体积下,重复1(取ISIF=2,房子造好后,考虑的是如何放家具。
此处一般是使得每个家具受力达到某中小即可认为达到稳定结构)、2两步,便得到了所有的晶格参数值,如离子坐标。
c. VASP得到的总能即是结合能,不过还要减去前面得到的修正值。
d. 自恰的电荷密度[参见P 26]优化得到晶格参数后,再进行静态的自恰计算,就得到了自恰的电荷密度。
此时的POSCAR为从优化晶格参数时可CONTCAR得到。
KPOINTS 不变典型的INCAR设置是:ENCUT = 250ISTART = 0; ICHARG = 2ISMEAR = -5PREC = Accurate计算完后,注意保存相关结果,相应命令为:$mkdir scf$tar czvf chg.tgz CHG*$cp INCAR KPOINTS POSCAR OUTCAR chg.tgz scf/.最后,进行面电荷密度分析:先建立rho.vasp,再用VENUS软件打开。
e. 能带结构计算[参见P 28]这是在自恰计算完成后的非自恰计算:准备好产生K 点的syml文件;用gk.x产生KPOINTS;将前面静态自恰得到的chg.tgz解压缩;设置INCAR,注意NBANDS进行非自恰静态计算。
得到EIGENVAL文件。
修改syml,然后用pbnd.x把EIGENVAL转换成bnd.dat 和 highk.dat 。
再用origin画图。
f. 电子态密度[参见P 29]这也是在自恰完成后的非自恰静态计算:准备好K点,增加网络;准备好INCAR,注意RWIGS取值;利用自恰得到的电荷密度,进行非自恰的静态计算;得到DOSCAR;利用split_dos对DOSCAR进行分割。
2、slab模型的构造[参见P31]构建slab模型的要素:体材料的晶格参数;表面特征(米勒指数、二维周期性);真空层以及原子层厚度。
其中二维周期性的选择,对于bared surface,应当取不同的值,以考察是不是有重构现象;而对于有缺陷的,则依据要考察的缺陷浓度选择。
厚度的选取,是依据不同厚度对总能的影响来决定的。
3、表面体系的结构优化[参见P32]在这个优化之前,还要对K-mesh进行优化。
表面体系的优化,主要是对原子位置进行优化,而对超原胞不再优化。
一般采用的是Selective Dynamic。
这是在POSCAR中设置的。
怎样确定该驰豫哪些原子?!!!!!!!!!!!!!!!!!一般是应该将表面的几层放开,固定中间的几层,可以只是放开表面的两层,观察层间距变化,如果固定的层之间还有较大的移位,说明弛豫的层数太少,需要增大弛豫的层数。
这样继续作下去。
直到层间距变化不大。
再层间距变化不大的前提下,尽量减少层数,以节约时间。
即便是再固定的层内的原子在固定方向上的受很大的力,但是受限于 F 的限制,被强制的规定在某一层上。
下面以Al(100)-p(1*1)为例,给出相应的输入文件:####INCAR:没有ISIFSYSTEM = Al(100)-p(1x1)ENCUT = 200ISMEAR = 1; SIGMA = 0.20ISTART = 0; ICHARG = 2EDIFF = 1E-5; EDIFFG = -1.0E-3NSW = 60; IBRION = 2POTIM = 0.1PREC= Accurate####KPOINTS: 注意1autoMonkhorst-Pack1 11 110.0 0.0 0.0#####POSCAR: 比Bulk的多了个Selective dynamicsAl(100)-p(1x1)1.000000.0000000000 2.024******* -2.024*******0.0000000000 2.024******* 2.024*******22.1485000000 0.0000000000 0.00000000007Selective dynamicsDirect0.0000000000 0.0000000000 0.0000000000 F F T0.0000000000 0.0000000000 0.1828340520 F F F0.0000000000 0.0000000000 0.3656681039 F F F0.0000000000 0.0000000000 0.5485021559 F F T0.5000000000 0.5000000000 0.0914170260 F F T0.5000000000 0.5000000000 0.2742510780 F F F0.5000000000 0.5000000000 0.4570851299 F F T优化后的结构在CONTCAR中。
4、表面体系性质的计算[参见P33]在优化后的结构基础之上就可以计算相关性质了。
步骤与体材料性质计算一样。
重要提示:不论是体材料还是表面计算,在结构优化完后,应当继续进行一下静态计算以得到自恰的电荷密度,再进行后面的性质计算。
结构优化完后所得的电荷密度文件不可用。
注:本文是基于候博士的小结性文章整理而成,仅学习之用本文引用地址:/m/user_content.aspx?id=374981。