4.8 详述 从头算法

USPEX采用强大的两级并行框架,这使得它成为并行扩展的典范。 并行第一级是在结构弛豫代码里执行的,使每个结构可以达到约10-102个CPUs的高效率。 并行第二级是把计算分配给了统一群中的个体(因为同一种群内的结构之间是 彼此独立的)。

首先,你需要指定你想使用哪个代码去进行结构弛豫和目标函数计算:

$\triangleright $ variable abinitioCode

Meaning: Defines the code used for every optimization step.

Default: 1 for every optimization step (VASP)

Format:

% abinitioCode
3 2 2 1 1
% ENDabinit

Note:定义应用于每一步优化的准则。(所支持的代码详见章节 ):

$\triangleright $ variable KresolStart

Meaning: 明确而给出$k$点网格倒易空间的分辨率 (单位: $2\pi \text {\r{A}}^{-1}$).

Default: 线性的从0.2到0.08

Format:

% KresolStart
0.2 0.16 0.12 0.08
% Kresolend

注意:你可以输入几个数值(每一步结构弛豫对应一个数), 开始时粗略些(也就是值大一些),到最后,精确度高,这样就明显地加快了计算速度。 特别是对金属而言,因为需要很多k点。如果你想用VASP或QuantumEspresso , 那么这个模块非常重要(GULP完全没必要用它,而对于SIESTA, 你必须在SIESTA输入文件里定义KresolStart)。

For clusters, 2D-crystals, and surfaces,对于团簇, 2D-晶体和表面,你必须要明确给定团簇(或表面)真空范围的厚度。:

$\triangleright $ variable vacuumSize

Meaning: 定义在结构周围增加的空间的数量(在毗邻的单胞内邻近团簇 之间的最近邻距离,$\text {\r{A}}$)。仅适用于表面,2D-晶体和纳米微粒。

Default: 10 每一步弛豫设为10$\text {\r{A}}$

Format:

% vacuumSize
10 10 15 20 20
% EndVacuumSize

$\triangleright $ variable numParallelCalcs

Meaning: 指出在并行计算中结构弛豫的数目。

Default: 1

Format:

10 : numParallelCalcs

你需要提供提交作业文件或者你正在使用的准则/模式下的可执行文件的名字。

$\triangleright $ variable commandExecutable

Meaning: 明确给定提交作业文件名或在给定准则下的可执行文件名。

Default: 无默认值,需要用户自己设定。

Format:

% commandExecutable
gulp < input > output
mpirun -np 8 vasp > out
mpirun -np 8 vasp > out
mpirun -np 8 vasp > out
% EndExecutable

注意: 每一行都对应于一个弛豫阶段——第一行描述了 第一个弛豫阶段的执行,等等。例如:从头算准则等于 “3 1 1 1”意味着第一个弛豫阶段是 执行GULP,接下来的阶段会通过VASP用命令“mpirun-np 8 vasp > out”用VASP命令执行。 如果在可执行命令中只显示出一行,那么所有的弛豫阶段都执行相同的命令。

实际上在你远程提交作业模式下几乎所有平台都可以使用USPEX,你所需要的是在你的工作站有 MATLAB/Octave运行。在这种情况下,你的工作站准备开始输入(包括jobs),然后提交到远程 计算节点上,计算完成时查看结果并分析,准备新的输入文件。传出和来往的数据不是很大,所以 网络不需要非常快。当然,作业提交依赖于机器。

$\triangleright $ variable whichCluster

Meaning: 明确给定作业提交的类型。

Possible values (integer):

Default: 0

Format:

1 : whichCluster

$\triangleright $ variable remoteFolder

Meaning: 计算即将进行的远程超级计算机上的文件夹。只有当 whichCluster=2时,这个文件夹才会被激活。

Default: 没有

Format:

Blind_test : remoteFolder

注意: 在远程提交文件夹中有一个相似的参数设置 — homeFolder, 计算的真实路径实际上是*homeFolder*/*remoteFolder*/CalcFolderX, 在此处,X=1, 2, 3,…。

$\triangleright $ variable PhaseDiagram

Meaning: 使计算类型=300 和 301的相图的计算能够进行。 这给出了一个想法(比较粗劣,仅仅是一个大致的结果):给出新相 可能会在较高或较低压力下,同时粗劣的给出一个转变压力。

Default: 0

Format:

1 : PhaseDiagram