• 输入文件的文件名与其他文件必须以以下格式进行:
      1. - z-vasp.pbs
      2. - aispop /*主程序*/
      3. - ./----|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 文件输入参数

      1. - 调用第一性程序相关参数:
      2. - pbs_nodefile: 节点列表文件名,一般指定为mf,由pbs作业脚本自动生成
      3. - np 该次作业总核数,一般由作业脚本确定, 例如pbs脚本中 $NP = 节点数*每个节点核数”
      4. - mpirun mpirun所在的绝对路径,在设置好环境变量后用“which mpirun”查看
      5. - exe 第一性程序所在绝对位置,例如:VASP
      6. - optimizer 明确使用哪种第一性软件, 目前只有 VASP 可选
      7. - 搜索算法部分:
      8. - algorithm:搜索算法:目前只有GA基因算法可选
      9. - GA 搜索算法中分为“std”,“eli”两类,极力推荐使用“std”标准GA
      10. - cross_over: 杂交方式
      11. - single_point
      12. - mulit_point
      13. - dummy
      14. - average
      15. - hardness
      16. - 此处 推荐使用hardness
      17. - check false 为默认值 表示是否进行空间群检查 建议为:true
      18. - energy_choose 1 使用内聚能
      19. - generation_number: GA 迭代步数 (建议先做2-3次迭代)
      20. - first_num_generation 初代使用的种子数
      21. - num_per_generation 后代产生的种子数:建议为first_num_generation 0.45 为好
      22. - lowest_choose_rate 选择多少最低能量的晶体进入下一代:无默认值,建议0.2-0.3
      23. - crossover_rate 杂交比率:无默认值,建议0.5-0.7
      24. - 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