| 查看: 529 | 回复: 0 | ||
[求助]
gaussian计算过程中,生成geom文件出错,如何修改小程序
|
|
各位大牛好!在使用gaussian进行量化计算,用fchk文件生成geom文件时,文件输出总为空白文件,无法得到坐标信息。究其原因,可能是因为服务器升级为gaussian16版本,而生成geom文件的小程序还是以gaussian09版本编写的,请问修改小程序的哪个部分可以解决这个问题呢?以下是小程序的源代码。拜托各位了!!! # -*- coding: cp936 -*- def parse_fchk(fchkfile): f = open(fchkfile,'r') line = f.readline() # geom while True: line = f.readline() if line == '': print 'can not geom' break if line.find('Current cartesian coordinates') != -1: break geom = [] while True: line = f.readline() if line == '': print 'can not geom' break if line.find('Force Field') != -1: break ws = line.strip().split(None) geom += ws lt_xyz = [] s3 = ' '*3 for i in geom: # i = '-9.09973086E-01', i[-3:] = '-01', i[:-4] = '-9.09973086' s = '{:0=+3d}'.format(int(i[-3:]) + 1) s2 = (' {: =10.7f}' + 'E' + s).format(float(i[:-4])/10) s3 = s3 + s2 if len(s3) >= 48: lt_xyz.append(s3 + '\n') s3 = ' '*3 f.close() return lt_xyz def readpara(): lt_smep = [] f = open('dat-input.dat') lines = f.readlines() f.close() lt_5f = [w.strip() for w in lines[5:10]] return lt_5f try: lt_5f = readpara() except: print 'Cound no find dat-input.dat' datfile = raw_input('Please input the name of the fu.dat file : ') f = open(datfile,'wb') for i,v in enumerate(lt_5f): lt_xyz = parse_fchk(v) f.writelines(' rpts ' + str(i+1) + '\n') f.writelines(lt_xyz) f.close() raw_input('completed') |
» 猜你喜欢
085404(计算机技术)293分 希望调剂到材料相关专业
已经有0人回复
ELISA试验中不容忽视的细节盘点(二)
已经有0人回复
物理化学论文润色/翻译怎么收费?
已经有288人回复
华南师范大学广州市光谱分析与功能探针重点实验室诚招青年英才和博士后岗位研究人员
已经有11人回复
华南师范大学广州市光谱分析与功能探针重点实验室诚招青年英才和博士后岗位研究人员
已经有10人回复
细胞培养,这22个细节一定要注意!(一)
已经有0人回复
CSC访学博后项目获批,外方学校暂停合作该怎么办?
已经有51人回复
求标准卡片Cu0.4In0.4Zn1.2S2 PDF#32-0340
已经有2人回复
量子点电致发光器件(QLED):蓝光量子点(QDs)和纳米氧化锌电子传输材料
已经有0人回复
需要一个圆偏振光诱导化学反应,请问使用圆偏振光作为光源,应该需要哪些设备搭建
已经有0人回复
分子动力学模拟合作需求
已经有0人回复













回复此楼