一产生GAMESS输入文件.docVIP

  • 233
  • 0
  • 约6.68千字
  • 约 6页
  • 2017-08-10 发布于天津
  • 举报
一产生GAMESS输入文件

GAMESS+Python获取分子势能面:流程与代码 分子势能面揭示了系统微观结构的相互作用细节,是物理、化学、材料等许多科学研究的基础。这里以双原子分子为例,利用开源免费的软件GAMESS,通过Python脚本在服务器端实现了势能面获取的完全自动化。大家可以利用这里提供的代码,稍加修改实现更复杂的功能。 基本流程是: 第一步:创建多个GAMESS输入文件; 第二步:将GAMESS输入文件提交到服务器运行; 第三步:从GAMESS运行结果中按要求提取有用信息。 一 产生GAMESS输入文件 势能面是势能关于原子坐标的函数,所以第一步我们根据不同原子坐标建立相应的GAMESS输入文件,计算单点能。相应的Python代码如下: #!/usr/bin/python Created on 2015 2 To creat input files of GAMESS to Scan Potential @author: scu inputFilePart1 = \ ! Eample ! Test of Coupled-Cluster energy ! !------------------------------------------------------------- $CONTRL SCFTYP=RHF RUNTYP=ENERGY CCTYP=CCSD(T) UNITS=BOHR MAXIT=30 COORD=ZMT ISPHER=1 $END !------------------------------------------------------------- $SCF DIRSCF=.True. $END !------------------------------------------------------------- $BASIS GBASIS=ACCQ EXTFIL=.FALSE. $END !------------------------------------------------------------- $GUESS GUESS=HUCKEL $END !------------------------------------------------------------- $SYSTEM MWORDS=500 $END !------------------------------------------------------------- $DATA N2...RHF CNV 4 N N 1 CRD inputFilePart3 = \ $END for i in range(1,200): distance = 0.45 + i*0.05 fileName = N + str(i) + .inp f = file(fileName, w) # open for writing f.write(inputFilePart1) # write text to file f.close() # close the file inputFilePart2 = CRD= + str(distance) +\n f = file(fileName, a) f.write(inputFilePart2) f.close() f = file(fileName, a) f.write(inputFilePart3) f.close() 运行完成后,会得到*.inp的文件,核心如下: !------------------------------------------------------------- $CONTRL SCFTYP=RHF RUNTYP=ENERGY CCTYP=CCSD(T) UNITS=BOHR MAXIT=30 COORD=ZMT ISPHER=1 $END !------------------------------------------------------------- $SCF DIRSCF=.True.

文档评论(0)

1亿VIP精品文档

相关文档