- 输入文件的文件名与其他文件必须以以下格式进行:
- z-vasp.pbs- aispop /*主程序*/- ./----|structure /*structure 是目录*/
|——— input /aisp 输入参数文件/
|——— INCAR
|——— POTCAR
|——{ 1_POSCAR_Spg1_Se12
…..
1_POSCAR_Spg80_Se12
}
注:z-vasp.pbs, aispop, structure 在同一个目录下, structure 中包含所有的输入文件,INCAR,POTCAR,以及产生好的1_POSCAR_Spg1_Se12此类文件;不要自己修改这些文件的
名字,否则程序报错!
input 文件输入参数
- 调用第一性程序相关参数:- pbs_nodefile: 节点列表文件名,一般指定为mf,由pbs作业脚本自动生成- np: 该次作业总核数,一般由作业脚本确定, 例如pbs脚本中 “$NP = 节点数*每个节点核数”- mpirun: mpirun所在的绝对路径,在设置好环境变量后用“which mpirun”查看- exe: 第一性程序所在绝对位置,例如:VASP- optimizer: 明确使用哪种第一性软件, 目前只有 VASP 可选- 搜索算法部分:- algorithm:搜索算法:目前只有GA基因算法可选- GA: 搜索算法中分为“std”,“eli”两类,极力推荐使用“std”标准GA。- cross_over: 杂交方式- single_point- mulit_point- dummy- average- hardness- 此处 推荐使用hardness- check: false 为默认值 表示是否进行空间群检查 建议为:true- energy_choose: 1 使用内聚能- generation_number: GA 迭代步数 (建议先做2-3次迭代)- first_num_generation: 初代使用的种子数- num_per_generation: 后代产生的种子数:建议为first_num_generation 的0.45 为好- lowest_choose_rate: 选择多少最低能量的晶体进入下一代:无默认值,建议0.2-0.3- crossover_rate: 杂交比率:无默认值,建议0.5-0.7- mutation_rate : 突变比率:无默认值, 建议0.1-0.2
AispOp输入参数文件input例子
pbs_nodefile = mf
np = 24
mpirun = /public/home/users/ustc002/bin/intelmpi/impi/5.0.3.049/intel64/bin/mpirun
exe = /public/home/users/ustc002/bin/vasp.5.4.4_2d/build/std/vasp
algorithm = GA
optimizer = VASP
re_start = 0
GA = std
cross_over = hardness
lattice_type = 2
generation_number = 3
first_num_generation = 64
num_per_generation = 30
check = true
energy_choose = 1
lowest_choose_rate = 0.3
crossover_rate = 0.6
mutation_rate = 0.1
PBS输入例子
#!/bin/sh
#PBS -N vasp
#PBS -l nodes=1:ppn=24
#PBS -q snode
#PBS -e err
#PBS -o out
REAL_NP_PER_NODE=24 #6 MPI on each node
export OMP_NUM_THREADS=1 #call 4 openmp threads
cd $PBS_O_WORKDIR
#generate nodelist
rm -rf $PWD/structure/mf 1>/dev/null 2>&1
for i in cat $PBS_NODEFILE | sort | uniq
do
for j in seq 1 $REAL_NP_PER_NODE
do
echo $i >> $PWD/structure/mf
done
done
#nodelist done
cd $PBS_O_WORKDIR
NP=cat $PBS_NODEFILE | wc -l
chmod +x ./aispop
./my_aisp > runlog
