| 查看: 530 | 回复: 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') |
» 猜你喜欢
青岛大学化学化工学院分子测量学研究院2026年招收博士研究生
已经有0人回复
香港科技大学(广州)诚招电催化方向博士生(2026秋入学)
已经有0人回复
物理化学论文润色/翻译怎么收费?
已经有96人回复
求助Cu2+1O的CIF文件(PDF: 05-0667)
已经有1人回复
KAUST(阿卜杜拉国王科技大学)MXene 器件方向博士后招聘
已经有0人回复
沙特阿拉伯阿卜杜拉国王科技大学(KAUST)电池方向博士后招聘
已经有0人回复
福州大学新能源材料与工程研究院招收2026年入学博士
已经有0人回复
海南师范大学2026年博士研究生招收 (在职想提升学历人员可报考) 申请考核制
已经有0人回复
锂离子电池循环寿命衰减过快,求机理分析与改进思路
已经有2人回复
求博导收留
已经有5人回复
CSC & MSCA 博洛尼亚大学能源材料课题组博士/博士后招生|MSCA经费充足、排名优
已经有0人回复













回复此楼