USPEX采用强大的两级并行框架,这使得它成为并行扩展的典范。 并行第一级是在结构弛豫代码里执行的,使每个结构可以达到约10-102个CPUs的高效率。 并行第二级是把计算分配给了统一群中的个体(因为同一种群内的结构之间是 彼此独立的)。
首先,你需要指定你想使用哪个代码去进行结构弛豫和目标函数计算:
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:定义应用于每一步优化的准则。(所支持的代码详见章节 ):
1 — VASP
2 — SIESTA
3 — GULP
4 — LAMMPS
5 — Neural Networks code
(unused at the moment)
6 — DMACRYS
7 — CP2K
8 — Quantum Espresso
9 — FHI-aims
10 — ATK
11 — CASTEP
12 — Tinker
13 — MOPAC
variable KresolStart
Meaning: 明确而给出点网格倒易空间的分辨率 (单位: ).
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-晶体和表面,你必须要明确给定团簇(或表面)真空范围的厚度。:
variable vacuumSize
Meaning: 定义在结构周围增加的空间的数量(在毗邻的单胞内邻近团簇 之间的最近邻距离,)。仅适用于表面,2D-晶体和纳米微粒。
Default: 10 每一步弛豫设为10
Format:
% vacuumSize
10 10 15 20 20
% EndVacuumSize
variable numParallelCalcs
Meaning: 指出在并行计算中结构弛豫的数目。
Default: 1
Format:
10 : numParallelCalcs
你需要提供提交作业文件或者你正在使用的准则/模式下的可执行文件的名字。
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),然后提交到远程 计算节点上,计算完成时查看结果并分析,准备新的输入文件。传出和来往的数据不是很大,所以 网络不需要非常快。当然,作业提交依赖于机器。
variable whichCluster
Meaning: 明确给定作业提交的类型。
Possible values (integer):
0 — 无作业脚本;
1 — 本地提交;
2 — 远程提交。
Default: 0
Format:
1 : whichCluster
variable remoteFolder
Meaning: 计算即将进行的远程超级计算机上的文件夹。只有当 whichCluster=2时,这个文件夹才会被激活。
Default: 没有
Format:
Blind_test : remoteFolder
注意: 在远程提交文件夹中有一个相似的参数设置 — homeFolder, 计算的真实路径实际上是*homeFolder*/*remoteFolder*/CalcFolderX, 在此处,X=1, 2, 3,…。
variable PhaseDiagram
Meaning: 使计算类型=300 和 301的相图的计算能够进行。 这给出了一个想法(比较粗劣,仅仅是一个大致的结果):给出新相 可能会在较高或较低压力下,同时粗劣的给出一个转变压力。
Default: 0
Format:
1 : PhaseDiagram