77范文网 - 专业文章范例文档资料分享平台

高斯常见问题(3)

来源:网络收集 时间:2018-12-09 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

在一个机器上加几组计算任务

windows下高斯多步计算,不知道该怎么弄? 就是先优化完一个结构之后,自动开始下一个优化(和第一个不是同一个文件),谢谢 有没有输入文件的例子啊? %chk=a.chk %mem=800mb # hf/3-21g opt optA 0 1

A结构坐标 (空格) --link--

%chk=b.chk %mem=800mb # hf/3-21g opt optB 0 1

B结构坐标

用bcf文件就可以啊 如

! !user created batch file list !start=1 !

e:\\cal\\CH4-td-opt.gjf , e:\\cal\\CH4-td-opt.out e:\\cal\\C2H6-631g-opt.gjf , e:\\cal\\C2H6-631g-opt.out

【原创】几个处理输入输出文件的shell 脚本。

Linux 下的shell 脚本是一种批处理语言,可以把单个的命令组合起来,又能够进行判断循环等流程控制。

当面对成百上千个的输入输出文件需要操作时候,除了shell,你还能选择什么呢?这里列出几个常用的操作,并给出相应的解析,希望能对大家有所帮助。 2-5楼

1 把当前目录下所有的

gjf 文件用g03 计算

2 修改gjf 的开头

3 把out文件的能量提取出来,存储到get_energy.log 中,同时生成以能量值为文件名的

out文件,便于排序筛选

4 把out文件的最后一个坐标做成gjf 文件,并赋予新的关键词

10楼 使用方法

all_g03.sh #!/bin/bash for inf in *.gjf do

outf=`echo ${inf}|tr\ g03 < ${inf} >${outf} done

该文件可以把当前目录下所有的gjf文件用g03 计算,文件名后缀自动改为out。 解析 #!/bin/bash

在shell 脚本中,以#开头的行是注释,但在文件最开始的以#! 开头的行指定解析这个脚本所用的程序。此处是bash,还可以是csh,python, tcl等若干。 for inf in *.gjf do ? ? Done

循环,变量为inf,变量取值为当前目录下的所有*.gjf 文件。 outf=`echo ${inf}|tr\

${inf}: shell中变量取值时候需要在前面加$, 当变量名为多个字符时候最好用{} echo ${inf}: 显示inf 的值,此处在每次循环时候为某一个*.gjf 的文件名

echo ${inf}|tr \把inf 替换为out,为同windows 下的g03兼容,用out做后缀 outf=`echo ${inf}|tr \给outf 赋值 g03 < ${inf} >${outf}

用g03 计算,从inf 输入,outf 输出

change_keyword.sh #!/bin/bash dir=ckout mkdir ${dir}

for i in *.gjf do

echo \

echo \ echo \ echo \ echo \

sed '1,5d' ${i} >> ${dir}/${i} echo \ done

此脚本可以批量修改gjf 的开头,输出文件在一个新的文件夹中,文件名不变。 解析 dir=ckout mkdir ${dir}

创建一个叫ckout 的目录,用于存放新生成的文件。

echo \ echo \ echo \ echo \ echo \

新gjf 文件的开头部分,可以根据需要修改。 echo\:写入一个空行

sed '1,5d' ${i} >> ${dir}/${i} 把旧的gjf 文件的坐标部分写入新文件,

'1,5d' 删除(d) 文件的1-5行,5 可以根据需要修改。

echo \ 在文件末尾写入新的空行

get_energy.sh #!/bin/bash dir=get_energy

mkdir ${dir}

for i in *.out do

en=`more ${i} | grep 'Energy'| tail -n 1 | cut -c 13-20` cp -- ${i} ${dir}/${en}_${i} echo \ done

此脚本可以把out文件的能量提取出来,存储到get_energy.log 中,同时生成以能量值为文件名的out文件,便于排序筛选。 解析

en=`more ${i} | grep 'Energy'| tail -n 1 | cut -c 13-20` 获取能量值。

grep'Energy': 对不同的文件,能量的表达不同,am1用”Energy”,hf 用E(RHF),可以根据实际选择。 Tail –n 1: 对于opt 任务,此处可以选择最后一个能量值

cut -c 13-20:截取能量值,13-20个字符,未必就是这么多,可以通过试用得到。注意前面不要有空格和减号。

cp ${i} ${dir}/${en}_${i} 复制文件到新的目录,并命名为 能量_原文件名

echo \ 统计能量到新的文件。

out2gjf.sh

#!/bin/bash dir=out2gjf mkdir ${dir}

for i in *.out do

fil=`echo ${i}|tr \

n=`more ${i}|cat -n|grep Number|tail -n 1|cut -c 1-8` ((n=n+2))

echo \ echo \ echo ${i} >> ${dir}/${fil}

echo \ echo \ ido=0

while((${ido} < 30)) do

((m=n+ido))

more -- ${i} |head -n${m}|tail -n 1|cut -c 14-99 >> ${dir}/${fil}

((ido=ido+1)) done

echo \ done

此脚本可以把out文件的最后一个坐标做成gjf 文件,并赋予新的关键词。 解析

fil=`echo ${i}|tr \

给变量fil 赋值,输入文件的后缀名改变为gjf n=`more ${i}|cat -n|grep Number|tail -n 1|cut -c 1-8` 寻找最后一个坐标所在的位置,n为行号。 ido=0

while((${ido} < 30)) do

((m=n+ido))

more -- ${i} |head-n ${m}|tail -n 1|cut -c 14-99 >> ${dir}/${fil}

((ido=ido+1)) done

把分子坐标写入新的gjf 文件

这里30 为分子的原子数,使用时根据体系原子数修改

说一说这些脚本的使用方法。

以第一个为例

首先给那个all_g03 加上可执行权限 chmod u+x all_g03.sh

然后把它放到一个PATH 包含的路径下面,进入存放gjf 的目录,输入all_g03.sh &,

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库高斯常见问题(3)在线全文阅读。

高斯常见问题(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/354598.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: