执行USPEX示例:简明教程
下载并安装USPEX软件后,我们就可以运行USPEX示例。这些示例的详细信息参见 附录 ??。运行这些示例(除EX13外)的外接代码 显示如下:
GULP: EX02, EX03, EX08, EX12, EX15 (VCNEB), EX16, EX18, EX21 (META), EX22 (Generalized META), EX23 VASP: EX01, EX07, EX09, EX14 (META), EX17, EX19, EX24, EX29, EX30, EX31 LAMMPS: EX04, EX26 (TPS) ATK: EX05 CASTEP: EX06 DMACRYS: EX10 Tinker: EX11 MOPAC: EX20 DFTB: EX25 FHIaims: EX27, EX28
现在,我们开始体验USPEX:
测试USPEX-Python指令
我们可以使用以下命令显示当前USPEX版本信息: >> USPEX -v
如果USPEX运行正常,你应该得到以下信息。
USPEX Version 10.2 (19/01/2019)
运行示例EX13-3D_special_quasirandom_structure_TiCoO\(_2\)
示例13(EX13)不需要借助任何外部代码,我们可以通过运行这个例子来熟悉USPEX的运行步骤。 运行这个实例大约会花费\(\sim \)30分钟左右的时间。我们首先创建一个测试文件夹, 将示例文件复制过来,然后通过USPEX Python指令集运行,命令如下:
>> mkdir EX13
>> cd EX13
>> USPEX -c 13
>> USPEX -r
在运行示例的同时,我们可以了解EX13更多的细节。在EX13中,我们通过进化算法优化 结构有序度。所以,在INPUT.txt中,我们设置:
USPEX : calculationMethod
-4 : optType
我们使用以下参数:
300 : calculationType
% atomType
Co Ti O
% EndAtomType
% numSpecies
16 16 64
% EndNumSpecies
这些参数表示我们正在研究Co\(_{16}\)Ti\(_{16}\)O\(_{64}\) 体系。
由于我们不需要外部代码,我们可以简单设置:
% abinitioCode
0
% ENDabinit
种子文件放置在Seeds/POSCARS,即初始的Ti\(_{16}\)Co\(_{16}\)O\(_{64}\)结构。
当你发现文件USPEX_IS_DONE时,恭喜你,你已经成功完成了第一个示例。接下来, 我们将运行那些需要外部代码的示例。
借助外部代码运行示例
这一步中,我们建议运行将GULP或VASP作为外部代码的示例,如EX02或EX01。首先利用USPEX指令获得示例EX02的信息,然后创建一个单独的文件夹并复制示例文件,指令如下:
>> mkdir EX02
>> cd EX02
>> USPEX -c 2
在示例EX02中,我们使用GULP作为外部代码,因此设置:
% abinitioCode
3 3 3 3
% ENDabinit
在不能批量提交作业的系统中运行一系列计算任务,我们需要改变INPUT.txt中的以下参数:
1 : whichCluster
1 : numParallelCalcs
在示例INPUT.txt文件中,whichCluster=QSH,QSH是我们 内部团队所使用集群的名字。用户可以以相同的方式定义自己的集群。详细信息参见 ??。
在INPUT.txt中,我们没有指定怎么运行GULP,因为我们假定所有用户使用相同的命令:
% commandExecutable
gulp < input > output
% EndExecutable
但是要确保这个命令是在你的计算机上执行的。如果你想使用VASP运行EX01,你应该这样设置:
% abinitioCode
1 1 1 1
% ENDabinit
% commandExecutable
mpirun -np 8 vasp
% EndExecutable
如果commandExecutable设置错误,启动USPEX计算就会失败。请注意,根据你自己电脑或超级电脑的基本情况,你需要适当修改submitJob_remote.py和checkStatus_remote.py文件。
当每个参数都被正确设置后,我们就可以通过USPEX指令进行计算了。执行命令:
>> USPEX -r
检查结果
开始计算后,你可以检查results1/文件夹中的OUTPUT文件。 现在,你有了使用USPEX运行简单计算的经验。要想了解关于USPEX更详细的信息,请仔细阅读本手册余下内容。分析结果时,我们认为对结构进行可视化是很重要的(可视化方法,详见 ??)。