计算化学公社

 找回密码 Forget password
 注册 Register
楼主 Author: 算一算
打印 Print 上一主题 Last thread 下一主题 Next thread

[shell脚本] 如何批量生成gjf文件?

[复制链接 Copy URL]

198

帖子

0

威望

450

eV
积分
648

Level 4 (黑子)

16#
 楼主 Author| 发表于 Post on 2019-3-1 14:56:58 | 只看该作者 Only view this author
Mikasa 发表于 2019-3-1 05:28
你在自己的用户下也没权限?机器上的Python有问题不代表你不可以在自己的用户下安装一个只给自己用的!
你 ...

我没有动软件的权限,那个机器给我的是临时账户,我也就是给人代课用这一次。
我没google一下是因为我根本不知道要google哪些内容啊!你说的这几个点我倒是可以去搜一下,不过你能再说详细一点吗,那个数组的操作是叫什么操作?“一个cp”具体有哪些关键词可以搜?

198

帖子

0

威望

450

eV
积分
648

Level 4 (黑子)

17#
 楼主 Author| 发表于 Post on 2019-3-1 14:59:25 | 只看该作者 Only view this author
sobereva 发表于 2019-3-1 05:08
shell或者Fortran都可以,其它所有语言也都可以,会什么用什么,用不着混编

如果用shell的话,有哪些关键词?我不清楚这个自动修改gjf里的数字的操作包括哪些关键词可以用

198

帖子

0

威望

450

eV
积分
648

Level 4 (黑子)

18#
 楼主 Author| 发表于 Post on 2019-3-1 15:00:50 | 只看该作者 Only view this author
archer 发表于 2019-3-1 10:06
任何编程语言都可以啊,不一定非要python啊?fortran也方便

没说非要python,我是说python用不了,所以要考虑别的。Fortran我看了一下,好复杂,你能说一下那里面有哪些关键词是和我这个任务相关的吗?

198

帖子

0

威望

450

eV
积分
648

Level 4 (黑子)

19#
 楼主 Author| 发表于 Post on 2019-3-1 15:08:27 | 只看该作者 Only view this author
liyuanhe211 发表于 2019-3-1 03:13
被问题描述带偏了,如果你并不是对程序本身感兴趣,了解一下gentor。

再次,如果不是对程序本身感兴趣 ...

我已经说了,你给的这个扫描的建议我无法接受,这个不是我要做的任务,我就是做了也没用,而且你也知道扫描要非很多时间。如果我有别的选择也不会来问这个问题。
我又看了一遍你的各种回复,感觉你一直就是在恶意揣测我。我就是问个问题想找到解决这个任务的方式,你至于不停地恶意揣测吗?我问题已经描述得很清楚我要做的是什么了,而且为了简化问题,已经说了简化方案了,只要愿意提供帮助的人让我知道有哪些关键指令,就跟公式一样,把键角什么的往那上面一套就行了。

93

帖子

2

威望

252

eV
积分
385

Level 3 能力者

20#
发表于 Post on 2019-3-1 16:08:01 | 只看该作者 Only view this author
20行确实够的,楼主这个想法是对的,至少说明他动了很多脑子了,我孩子就是早就用自动生成的办法做了上万个gjf了,但他是自己编的小程序,应该很短,说20行业是差不多的。

198

帖子

0

威望

450

eV
积分
648

Level 4 (黑子)

21#
 楼主 Author| 发表于 Post on 2019-3-1 16:23:40 | 只看该作者 Only view this author
tjchkj 发表于 2019-3-1 16:08
20行确实够的,楼主这个想法是对的,至少说明他动了很多脑子了,我孩子就是早就用自动生成的办法做了上万个 ...

能提供几个关键指令吗?我现在完全不知道该用哪几个指令让它自动生成

185

帖子

1

威望

4133

eV
积分
4338

Level 6 (一方通行)

22#
发表于 Post on 2019-3-1 16:28:01 | 只看该作者 Only view this author
算一算 发表于 2019-3-1 14:56
我没有动软件的权限,那个机器给我的是临时账户,我也就是给人代课用这一次。
我没google一下是因为我根 ...

任何账户都可以给自己装软件,这是显然的。不过这个和你现在的问题无关。
我可以简化一下他给你的命令,如果只是想修改文件名和chk文件名的话,我还可以给你写个bug:

1. 写一个gjf做模板,就叫 template 好了,里面有若干干行:
  1. aaa
  2. sss
  3. %chk=ddd-num.chk
  4. fff
复制代码

2. 直接输入三行命令:
  1. for i in ·seq 0 60 2·
  2. do sed -i "3s/num/$i/g" template > file-$i.gjf
  3. done
复制代码


以上过程中命令存在明显的错误
如果你想证明自己不是想找人写脚本的话,你自行搜索修复
不用 google,百度然后开菜鸟教程的链接就行

PS:大家在这儿又是python又是fortran的,纠结的是怎么直接生成角度渐变的结构,而不是如何连续生成文件。你也看到了,这真不是什么有营养的问题。关于生成结构,没必要重复造轮子,7楼社长的回复已经很好了,你可以在上面过程的基础上实现一下,我觉得可能真到不了20行。

评分 Rate

参与人数
Participants 1
eV +4 收起 理由
Reason
算一算 + 4

查看全部评分 View all ratings

93

帖子

2

威望

252

eV
积分
385

Level 3 能力者

23#
发表于 Post on 2019-3-1 16:54:46 | 只看该作者 Only view this author
本帖最后由 tjchkj 于 2019-3-1 16:57 编辑

这个就是角度渐变的gjf文件,每隔2.5度做一个gjf。在gaussian view中自动去按照间隔改变角度,然后自动存文件。

QQ图片20190301165145.png (113.28 KB, 下载次数 Times of downloads: 61)

QQ图片20190301165145.png

QQ图片20190301165614.png (22.6 KB, 下载次数 Times of downloads: 70)

QQ图片20190301165614.png

93

帖子

2

威望

252

eV
积分
385

Level 3 能力者

24#
发表于 Post on 2019-3-1 17:00:37 | 只看该作者 Only view this author
其实,你这个只有40度的间隔,每隔2度形成一个文件,只有20个文件就够了,还用的上编程?我们都是一个分子就73个文件,同时做几十个分子,形成几千上万个gif才需要编程。

198

帖子

0

威望

450

eV
积分
648

Level 4 (黑子)

25#
 楼主 Author| 发表于 Post on 2019-3-1 18:02:50 | 只看该作者 Only view this author
highlight 发表于 2019-3-1 16:28
任何账户都可以给自己装软件,这是显然的。不过这个和你现在的问题无关。
我可以简化一下他给你的命令, ...

谢谢提供关键词,这个seq确实能够实现文件里chk名字的不断变化,以及gjf名字的变化。等了这么久,终于看到能用的关键词了。我还没有把这个套用在角坐标的值上,不过我隐约感觉是可以的,我再想想。如果你觉得还有其它的关键词也可以实现同样的任务,也欢迎说出来。我会选出一个跑起来最省时的。你PS里说的对,有人纠结的点是错的。我在问题里已经强调生成文件是主要问题。键角我的话我还得再想想另外两个相关的键角要怎么变。

198

帖子

0

威望

450

eV
积分
648

Level 4 (黑子)

26#
 楼主 Author| 发表于 Post on 2019-3-1 18:09:52 | 只看该作者 Only view this author
tjchkj 发表于 2019-3-1 17:00
其实,你这个只有40度的间隔,每隔2度形成一个文件,只有20个文件就够了,还用的上编程?我们都是一个分子 ...

嗯,你们这个量确实比我的大,但是我代的这门课,我不想让本科生在gaussview上一个一个生成文件,因为太费时间了,这门实践课还有好几个事情要完成,不能把时间费在这一个项目上,再说这个项目的目的是让他们查看不同角度下分子性质的变化,我希望他们把时间花在这个上,而不是费时间生成文件。我不想拖堂。
你能提供几个关键词吗?比如22楼提供的seq就很有用,如果你能提供其他的,我都会去试试,最后找一个跑起来最快的。

185

帖子

1

威望

4133

eV
积分
4338

Level 6 (一方通行)

27#
发表于 Post on 2019-3-1 20:30:23 | 只看该作者 Only view this author
算一算 发表于 2019-3-1 18:02
谢谢提供关键词,这个seq确实能够实现文件里chk名字的不断变化,以及gjf名字的变化。等了这么久,终于看 ...

我觉得你会错意了
真不是什么有营养的问题
指的就是“生成文件”这个问题。
相反直接生成渐变结构,虽然有重复造轮子的嫌疑,但确实看上去比较“有趣”。
如果你觉得还有其它的关键词也可以实现同样的任务,也欢迎说出来。
当然有换汤不换药的其他写法,但请你搞清楚,是我再给你留作业(代码改错),不是你给我。
我会选出一个跑起来最省时的。
我不知道你有没有去搜索,但你八成没有运行过这段代码。它运行的时间绝对比你敲键盘的快。
键角我的话我还得再想想另外两个相关的键角要怎么变
人家给你计算了半天,你来一句:忘了说了啊、是带十个正电荷的正离子。
感觉这两句看上去就很搭。

如果你的问题可以简化为7楼的第一句,真的不需要什么其他关键词了。
如果从看到我的回复开始直接干,现在估计早就解决了。

评分 Rate

参与人数
Participants 1
eV +5 收起 理由
Reason
Mikasa + 5 严重同意

查看全部评分 View all ratings

220

帖子

0

威望

5707

eV
积分
5927

Level 6 (一方通行)

跳跳猪

28#
发表于 Post on 2019-3-1 22:46:20 | 只看该作者 Only view this author
算一算 发表于 2019-3-1 14:56
我没有动软件的权限,那个机器给我的是临时账户,我也就是给人代课用这一次。
我没google一下是因为我根 ...

倒是去搜啊
最简单的就用Google搜“xxx如何用shell实现”,你肯定能找到某个能满足你要求的“关键词”
有这问关键词的功夫脚本早写完了,即使是想用Python也早搞定了
流年似水,浮生如梦。

16

帖子

0

威望

5163

eV
积分
5179

Level 6 (一方通行)

29#
发表于 Post on 2019-3-3 12:02:59 | 只看该作者 Only view this author
tjchkj 发表于 2019-3-1 16:54
这个就是角度渐变的gjf文件,每隔2.5度做一个gjf。在gaussian view中自动去按照间隔改变角度,然后自动存文 ...

请问这个操作如何在gaussview中实现?

93

帖子

2

威望

252

eV
积分
385

Level 3 能力者

30#
发表于 Post on 2019-3-5 20:05:53 | 只看该作者 Only view this author
vizq 发表于 2019-3-3 12:02
请问这个操作如何在gaussview中实现?

先定义二面角的4个原子,然后手动输入二面角的角度,然后存下gjf,这一步只能是手动了

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-23 15:49 , Processed in 0.193472 second(s), 24 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list