请选择 进入手机版 | 继续访问电脑版

计算化学公社

 找回密码
 现在注册!
查看: 574|回复: 17

[综合交流] 新手求助:在Linux上依次跑结构优化任务该怎么做

[复制链接]

126

帖子

0

威望

242

eV
积分
368

Level 3 能力者

发表于 2019-1-16 01:57:23 | 显示全部楼层 |阅读模式
本帖最后由 算一算 于 2019-1-16 02:08 编辑

我有个分子,想用Linux上的Gaussian做连续优化:
步骤一:把我的输入文件(用semi-empirical方法优化结构)丢给Gaussian并跑完任务;
步骤二:把优化好的坐标提取出来,以它为起始结构,生成新的Gaussian输入文件(用HF方法优化结构);
步骤三:把这个新输入文件丢给Gaussian执行;
步骤四:把优化好的坐标提取出来,以它为起始结构,生成新的Gaussian输入文件(用DFT方法优化结构);
步骤五:把这个新输入文件丢给Gaussian执行;
步骤六:把优化好的坐标提取出来,并把semi-empirical和HF优化后的坐标也提取出来,三个坐标列在一个文档里。



我希望我能某天睡觉前把第一步的输入文件丢给它,第二天早上醒来就能看到最后那个文档。这个在Linux可行吗?
如果可行,是直接在Linux上写一串指令就行,还是我要写个什么脚本?
如果是写脚本,我该学哪种语言?学多久能写出这种脚本来?写的过程中有什么需要注意的地方吗?如果可以,哪位前辈能示范一下步骤二该怎么写吗?

1万

帖子

25

威望

2万

eV
积分
40530

管理员

公社社长

发表于 2019-1-16 05:14:45 | 显示全部楼层
写shell脚本,并且恰当运用linux下的一堆文本处理命令,不是什么难事,自学相关知识+编写,撑死了三天足够

评分

参与人数 1eV +2 收起 理由
算一算 + 2

查看全部评分

北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社QQ群1号:18616395,2号:466017436。超过4000人,用于交流理论、计算化学。两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!

95

帖子

0

威望

1207

eV
积分
1302

Level 4 (黑子)

发表于 2019-1-16 09:17:39 | 显示全部楼层
前五步用Link1

2457

帖子

23

威望

8293

eV
积分
11210

Level 6 (一方通行)

发表于 2019-1-16 12:34:02 | 显示全部楼层
首先我想不出来对一般案例、先用HF优化再用DFT优化能比直接做DFT优化有任何优势
另外前五步高斯内部实现就可以了,形如:


  1. %chk=1.chk
  2. #p
  3.     pm6d3
  4.     opt

  5. title

  6. 0 1
  7. coord...

  8. --link1--
  9. %chk=1.chk
  10. #p
  11.     HF/basis
  12.     opt
  13.     geom=allcheck

  14. --link1--
  15. %chk=1.chk
  16. #p
  17.     DFT/basis
  18.     opt
  19.     geom=allcheck
复制代码


评分

参与人数 3eV +13 收起 理由
中二晚期 + 5
wangyj + 3 GJ!
Mikasa + 5 GJ!

查看全部评分

194

帖子

0

威望

1603

eV
积分
1797

Level 5 (御坂)

发表于 2019-1-16 12:57:28 | 显示全部楼层
不想学脚本的话,最后一步无非也就是滚一下log文件复制的事,纯手动也快得很。

126

帖子

0

威望

242

eV
积分
368

Level 3 能力者

 楼主| 发表于 2019-1-16 18:46:49 | 显示全部楼层

谢谢,我知道,但是我就是想分开做

126

帖子

0

威望

242

eV
积分
368

Level 3 能力者

 楼主| 发表于 2019-1-16 18:47:08 | 显示全部楼层
liyuanhe211 发表于 2019-1-16 12:34
首先我想不出来对一般案例、先用HF优化再用DFT优化能比直接做DFT优化有任何优势
另外前五步高斯内部实现就 ...

谢谢,我知道,但是我就是想分开做

126

帖子

0

威望

242

eV
积分
368

Level 3 能力者

 楼主| 发表于 2019-1-16 18:47:54 | 显示全部楼层
Jasminer 发表于 2019-1-16 12:57
不想学脚本的话,最后一步无非也就是滚一下log文件复制的事,纯手动也快得很。

问题是步骤多的情况下,滚来滚去实在是烦啊

2457

帖子

23

威望

8293

eV
积分
11210

Level 6 (一方通行)

发表于 2019-1-16 20:56:53 | 显示全部楼层
算一算 发表于 2019-1-16 18:47
问题是步骤多的情况下,滚来滚去实在是烦啊

做完再切


Python 3.X
  1. from more_itertools import split_after
  2. filename = input("Filename:")
  3. with open(filename) as file:
  4.     files_to_write = list(split_after(file.readlines(), lambda x: 'Normal Termination' in x))
  5.     for count, i in enumerate(files_to_write):
  6.         with open(filename+"."+str(count)+'.out','r') as output_file:
  7.             output_file.write(''.join(i))
复制代码

评分

参与人数 1eV +2 收起 理由
算一算 + 2

查看全部评分

126

帖子

0

威望

242

eV
积分
368

Level 3 能力者

 楼主| 发表于 2019-1-17 05:09:09 | 显示全部楼层

谢谢,我参考一下。楼上有人说shell语言三天就能学会,我从来没接触过这种语言,打算试试。你这个是python,大概不是三天就能学会吧!不过我会拿你这个做参考的,听说各种编程语言写出来很像。

95

帖子

0

威望

1207

eV
积分
1302

Level 4 (黑子)

发表于 2019-1-17 11:14:13 | 显示全部楼层
你先试试用sed和awk把输出文件的坐标提取出来

评分

参与人数 1eV +2 收起 理由
算一算 + 2

查看全部评分

2457

帖子

23

威望

8293

eV
积分
11210

Level 6 (一方通行)

发表于 2019-1-17 17:15:58 | 显示全部楼层
算一算 发表于 2019-1-17 05:09
谢谢,我参考一下。楼上有人说shell语言三天就能学会,我从来没接触过这种语言,打算试试。你这个是pytho ...

如果你学过任何一门编程语言,学一天Python肯定能写出来按“Normal Termination”分割文件的程序。

126

帖子

0

威望

242

eV
积分
368

Level 3 能力者

 楼主| 发表于 2019-1-18 04:19:54 | 显示全部楼层
liyuanhe211 发表于 2019-1-17 17:15
如果你学过任何一门编程语言,学一天Python肯定能写出来按“Normal Termination”分割文件的程序。

不是吧,我记得当初本科学C语言的时候,学了一学期也没学到这个

126

帖子

0

威望

242

eV
积分
368

Level 3 能力者

 楼主| 发表于 2019-1-18 04:21:50 | 显示全部楼层
plus 发表于 2019-1-17 11:14
你先试试用sed和awk把输出文件的坐标提取出来

谢谢,我去研究一下sed和awk是什么神器

2457

帖子

23

威望

8293

eV
积分
11210

Level 6 (一方通行)

发表于 2019-1-18 18:37:40 | 显示全部楼层
算一算 发表于 2019-1-18 04:19
不是吧,我记得当初本科学C语言的时候,学了一学期也没学到这个

C也非常容易实现啊。。。任何一门计算机语言都容易实现。

学了一学期C...是不会按关键词分割文本,还是不会读入、输出文件。。。
您需要登录后才可以回帖 登录 | 现在注册!

本版积分规则

手机版|北京科音自然科学研究中心|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949-1号 )

GMT+8, 2019-4-22 01:11 , Processed in 0.155155 second(s), 24 queries .

快速回复 返回顶部 返回列表