Crystalline Al

In this example, how to determine the equilibrium lattice constant is described. Since the stress is not yet implemented in the official version of STATE, we need to optimize the lattice parameters manually. To do so, we calculate the total energy as a function of lattice constant and obtain the one which gives the lowest total energy

  • Job script (qsub_seq.sh)
    Here, instead of creating input files one by one, let us use a simple job script, which perform the job (semi-)automatically
    #$ -S /bin/sh
    #$ -cwd
    #$ -pe fillup 6
    #$ -N Al
    
    #disable OPENMP parallelism
    export OMP_NUM_THREADS=1
    
    # execuable of the STATE code
    ln -fs ${HOME}/STATE/src/state-5.6.5-rc1/src/STATE .
    
    # pseudopotential data
    ln -fs ${HOME}/STATE/gncpp/pot.Al_pbe1 fort.37
     
    # launch STATE
    for a in $(seq 7.50 0.10 7.90)
    do
    INPUT_FILE=nfinp_a${a}
    OUTPUT_FILE=nfout_a${a}
    cat > ${INPUT_FILE} << EOF
         0     0     0     0     0     0 : I_CTRL(1:6) (DUMMY)
      4.00  8.00     1     1     1       : GMAX GMAXP NTYP NATM NATM2
       221     2                         : NUM_SPACE_GROUP TYPE_BRAVIS_LATTICE
      ${a}  ${a}  ${a} 90.00 90.00 90.00 : A B C ALPHA BETA GAMMA
        12    12    12     1     1     1 : K_MESH
         0     0                         : NCORD NINV : IWEI IMDTYP ITYP
      0.00  0.00  0.00     1     0     1 : POS(1:3) IWEI IMDTYP ITYP
        13  0.50 26.98     6     1  0.20 : IATOMN ALFA AMION ILOC IVAN
         0     0     0     0     0       : ICOND INIPOS INIVEL ININOS INIACC
         0     1                         : IPRE IPRI
        30    30     0     84200.00    0 : NMD1 NMD2 LAST_ITER CPUMAXjIFSTOP
         6     1                         : WAY_MIX MIX_WHAT
         0    20  0.60                   : ITER_START KBXMIX MIX_ALPHA
      0.20  0.30  0.20  0.20  0.20       : DTIM1 DTIM2 DTIM3 DTIM4 DTIM
    300.00     4     1    0.50D-09       : DTIO IMDALG IEXPL EDELTA
    -0.0020   0.50D+03     0             : WIDTH FORCCR ISTRESS
    ggapbe     1                         : XCTYPE KSPIN
      2.00                               : DESTM
       101                               : NBZTYP
         4     4     4                   : DUMMY
         4     4     4                   : DUMMY
         6                               : KEG
         1                               : NEXTST
         0                               : DUMMY
         2                               : IMSD
         0                               : EVALUATE_EKO_DIFF
         0                               : NPDOSAO
         0  0.00                         : SM_N DOPPING
    EOF
    mpirun -np $NSLOTS ./STATE < ${INPUT_FILE} > ${OUTPUT_FILE}
    done
    After the calculations, let us use "getetot.sh" placed in the working directory to get
    7.5 -2.07149508
    7.6 -2.07210987
    7.7 -2.07223992
    7.8 -2.07193773
    7.9 -2.07125357
    Use gnuplot or whatever software to fit the total energy to any function.
トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS