加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[转载]Quantum Espresso入门(一)

(2015-06-23 20:30:45)
标签:

转载

分类: 计算材料学

 

1. 创建目录

mkdir 320

cd 320

mkdir LAB2

cd LAB2

mkdir PROBLEM1

 

2.拷贝输入文件和脚本

cp ~mounet/LAB2/C.scf.in.

cp ~mounet/LAB2/C.scf.j.

或拷贝可执行文件

cp ~mounet/LAB2/pw.x

 

3.输入文件的内容

&control                      &control声明控制块。

calculation='scf'             告诉 PWSCF 将会进行自洽场计算。

restart_mode='from_scratch'   声明我们将产生一个新的结构。

prefix='diamond'              声明用到的临时文件的文件名前缀。

tstress=.true.                计算压力的控制命令。

tprnfor=.true.                计算力的控制命令。

pseudo_dir='/state/partitionl/marzari'    指定储存赝势的目录位置。

cutdir='/state/partitionl/marzari'        指定临时文件的位置。它应该被放在本地磁盘以便大的输入输出                                        操作不占用网络。

                                        表示块的结束。

&system                                   这几行表示系统块。

ibrav=2, celldm(1)=6.60, nat=2, ntyp=

ecutwfc=40                                ibrav给出晶体结构。ibrav=2 表示面心立方结构。使用这个是因为结构对称可需要的计算量。celldm指定单胞的尺寸,你可以改变这个参数 。 Celldm 用原子单位(atomic units), 或 bohrs。这个值 取决于结构 Bravais 格子。对于面心立方 , celldm(1) = a 0 。 对于立方体系 ,a=b=c= a 。其它晶体结构参考INPUT_PW 文件。nat原子数 ( 每一个独特的原子 ) 。注意金刚石在最小不对称单元有两个 独特的原子。ntyp原子类型数目。ecutwfc赝势能量截断。

/

&electrons                               这几行为电子块。

diagonalization='david'                  diagona lization对角化方法。

mixing_mode='plain'                      混合因子。

mixing_beta=0.7                          混合方法。

conv_thr=1.0d-8                          收敛阈值。

/

ATOMIC_SPECIES                           原子种类说明。

C 12.011 C.pz-vbc.UPF                    在关键字ATOMIC_SPECIES后, 对每一个ntyp输入原子符号                                       (atomic symbol) 原子重量 (atomic weight) 赝势 (pseudo-                                         potentia l )

ATOMIC_POSITIONS                         原子位置

C 0.00 0.00 0.00                         在关键字ATOMIC_POSITIONS后, 对每一个ntyp输入原子符号                                       (atomic symbol) x y z,这里 x,y,z 给出常规单元的分数坐标。

C 0.25 0.25 0.25

K_POINTS (automatic)                     k 点选择

4 4 4 0 0 0



4.提交工作给队列

qsub C.scf.j

检查你的工作状态:qstat

检查某一工作的详细情况:qstat -j jobnumber

检查所有工作和所有机器的工作状态:qstat -f 

取消或停止某个工作:qdel jobnumber
你也能得到所有机器的状态和使用情况,在
http://hpcbeo2.mit.edu/ganglia/
关于 SGE 的更多信息见
http://hpcbeo2.mit.edu/roll-documentation/sge/3.2.0/index.html
http://bio.site.uottawa.ca/wiki/space/How-To/GridEngine/Intro


5.脚本文件


#!bin/bash -f                   SGE命令的shell。

#######################################################################################
#$ -N C.scf                      -N选项表示被指派工作的名称,可改变。

#$ -cwd                          在当前工作目录下执行工作。

#$ -o $HOME/3.320/LAB2/err.out   -o指出脚本的输出位置。

#$ -j y                          通知SGE吧错误信息放在上一行同一个文件里输出。

#$ -S /bin/sh                    -S选项通知SGE在哪个shell里脚本。这些选项的详细信息见
http://hpcbeo2.mit.edu/roll-documentation/sge/3.2.0/index.html
http://bio.site.uottawa.ca/wiki/space/How-To/GridEngine/Intro

 

###########################################################################

# This is a script to run PWSCF 2.1.1 calculations in the hpcbeo2 cluster.

###########################################################################

# set the needed varibles

 

MYDIR="3.320/LAB2/PROBLEM1/"        “ MYDIR ” 指定输入和输出文件的目录。

 

LISTA='6.6'

LISTECUT='30 35 40 45 50 60'

LISTK='4'                            在这里你将能改变你测试的 3 个主要参数的范围(点阵参数 a , 能量截断 ecut 以及 k 点格子 k ,分别是变量 LISTA, LISTECUT and LISTK)。

 

 

USER='whoami'

 

OUTDIR="/state/partitional/$USER"

PSEUDO_DIR="/state/partitional/$USER"

OUTPUT="/home/$USER/$MYDIR"

 

if [! -d $OUTDIR ]; then

           mkdir $ OUTDIR

fi

 

if [! -d $PSEUDO_DIR ]; then

           mkdir $PSEUDO_DIR

fi

 

if [!-d $OUTPUT ]; then

            echo $MYDIR does not exist, plz create it first

            exit

fi

 

cp /home/mounet/LAB2/C.pz-vbc.UPF $PSEUDO_DIR

rm -f $OUTDIR/diamond.*

 

#########################################################################

#calculations

 

for ecut in $LISTECUT

do

for k in $LISTK

do

for a in $LISTA

do

 

rm -f $OUTPUT/C.scf.$ecut.$k.in

cat > $OUTPUT/C.scf.$a.$ecut.$k.in << EOF

&control

   calculation='scf'

   restart_mode='from_scratch'

   prefix='diamond'

   tstress=.true.

   tprnfor=.true.

   outdir='$OUTDIR'

   pseudo_dir='$PSEUDO_DIR'

/

&electrons

   diagonalization='david'

   mixing_mode='plain'

   mixing_beta=0.7

   conv_thr=1.0d-8

/

ATOMIC_SPECIES

C 12.011 C.pz-vbc.UPF

ATOMIC_POSITIONS

C 0.00 0.00 0.00

C 0.25 0.25 0.25

K_POINTS

   $k $k $k 0 0 0

EOF

 

rm -f $OUTPUT/C.scf.$a.$ecut.$k.out

/home/mounet/LAB2/pw.x < $OUTPUT/C.scf.$a.$ecut.$k.in>

$OUTPUT/C.scf.$a.$ecut.$k.out

 

done

done

done

 

rm -f $OUTDIR/diamond.* $PSEUDO_DIR/C.pz-vbc.UPF


 

 

0

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有