| 查看: 585 | 回复: 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') |
» 猜你喜欢
上海交通大学陈向洋计算化学课题组诚聘2027级博士研究生
已经有8人回复
26年博士申请自荐-电催化
已经有14人回复
物理化学论文润色/翻译怎么收费?
已经有54人回复
博士生急招!哈尔滨工业大学(深圳)绿色化学团队招聘26秋和27年入学的博士生
已经有8人回复
厦门大学侯旭团队招聘青年教师、博士后及博硕士研究生
已经有2人回复
哈工大深圳 表界面物理化学方向(胶体与界面,光谱探测研究) 博士招生
已经有0人回复
安徽大学物质科学与信息技术研究院罗其全教授组2026年化学博士招生(计算催化组)
已经有1人回复
元素硫的化合价和氧化态
已经有1人回复
现招2026北京航空航天大学联培博士1名(北航学位)-材料AI方向
已经有3人回复
江苏科技大学2026年招聘启事
已经有0人回复
普瓦捷环境与材料化学研究所 (IC2MP)博后招聘
已经有0人回复











回复此楼