24小时热门版块排行榜    

查看: 2904  |  回复: 24
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

秋雨子

金虫 (小有名气)

[求助] homo和lumo批量提取的脚本

最近在弄一批分子,一万个左右 ,想提取其中的homo和lumo能量值,但是发现很难实现,因为才接触脚本半年,还是自学的,所以搞不定了,有哪位大侠给个小脚本?我只会一点shell,提取个Energy还行,homo和lumo不好提取,若可以分享一下不胜感激!
回复此楼

» 收录本帖的淘帖专辑推荐

搜一搜,收一收

» 猜你喜欢

» 本主题相关商家推荐: (我也要在这里推广)

» 本主题相关价值贴推荐,对您同样有帮助:

To the time to life, rather than to life in time
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

asaka

银虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★
zhou2009(金币+5): 2011-12-11 20:10:45
秋雨子(金币+20): 谢谢您的费心!只怪我学艺不精,只会shell!仍然非常感谢 2011-12-11 20:28:37
说一下我的想法啊:

首先用grep把有用的输出信息过滤一下:
一个是分割各个计算结果,免得把好几个计算的信息混在一起,
另外也是楼主要求的,只输出最后的结果,
另一个就是各个轨道能的数据。

然后把占据轨道的能级收集起来,取最大值,就是HOMO
以及把空轨道的能级收集起来,取最小值,就是LUMO
但是shell没有数学计算的功能,只好借用一下python命令
CODE:
#!/bin/sh
block='Population'
eigen='eigenvalues'
occst='occ'
virst='vir'
sepst='--'
for file in $*; do
  echo "File : $file"
  grep "\($block\|$eigen\)" $file > tmp
  while read line; do
    case $line in
      *$block*)
        eocc='' ;
        evir='' ;;
      *$occst*)
        data=`echo $line | sed "s/^.*$sepst\(.*\)$/\1/"` ;
        eocc=`echo $eocc $data` ;;
      *$virst*)
        data=`echo $line | sed "s/^.*$sepst\(.*\)$/\1/"` ;
        evir=`echo $evir $data` ;;
    esac
  done < tmp
  data=`echo $eocc | sed "s/ /,/g"`
  echo "  HOMO :" `python -c "print max($data)"`
  data=`echo $evir | sed "s/ /,/g"`
  echo "  LUMO :" `python -c "print min($data)"`
  rm tmp
done

以上程序需要bash和python就可以运行,测试LZ的文件,输出如下:
$ sh homolumo Row1.log
File : Row1.log
  HOMO : -0.40657
  LUMO : 0.13145
其中homolumo是上面shell的文件名。

当然楼主可能有其他类型的输出文件,
修改shell程序中部分的关键字和流程,应该可以应付其他情况。
block='Population' #不同计算间的分割行
eigen='eigenvalues' #包含轨道能级的输出行
occst='occ' #标记占据轨道的字符
virst='vir' #标记空轨道的字符
sepst='--' #分割信息和能级数据的字符

» 本帖已获得的红花(最新10朵)

9楼2011-12-09 04:13:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 25 个回答

秋雨子

金虫 (小有名气)

没有人回复呢 ?!
To the time to life, rather than to life in time
2楼2011-12-06 14:11:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

秋雨子

金虫 (小有名气)

3楼2011-12-07 11:23:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

abbott

金虫 (著名写手)

不要用QQ问我东西

★ ★
小红豆(金币+2): 感谢交流。 2011-12-14 18:07:53
你先贴一个样板文件,,,,
否则谁知道你要从什么文档中提取你要的东西啊.
Chemistry[]==[]Chem[]is[]try!!!
4楼2011-12-08 10:57:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 316求调剂 +5 梁茜雯 2026-03-19 5/250 2026-03-20 21:26 by 你好你好666
[考研] 329求调剂 +8 想上学吖吖 2026-03-19 8/400 2026-03-20 21:07 by 无际的草原
[考研] 0817 化学工程 299分求调剂 有科研经历 有二区文章 +22 rare12345 2026-03-18 22/1100 2026-03-20 20:39 by zhukairuo
[考研] 材料学求调剂 +4 Stella_Yao 2026-03-20 4/200 2026-03-20 20:28 by ms629
[考研] 086500 325 求调剂 +3 领带小熊 2026-03-19 3/150 2026-03-20 18:38 by 尽舜尧1
[考研] 081700化工学硕调剂 +3 【1】 2026-03-16 3/150 2026-03-19 23:40 by edmund7
[考研] 一志愿南京理工大学085701资源与环境302分求调剂 +3 葵梓卫队 2026-03-18 5/250 2026-03-19 19:35 by 给你你注意休息
[考研] 一志愿西安交通大学材料工程专业 282分求调剂 +5 枫桥ZL 2026-03-18 7/350 2026-03-19 14:52 by 功夫疯狂
[考研] 求调剂,一志愿:南京航空航天大学大学 ,080500材料科学与工程学硕,总分289分 +3 @taotao 2026-03-19 3/150 2026-03-19 14:07 by peike
[考研] 08工科 320总分 求调剂 +5 梨花珞晚风 2026-03-17 5/250 2026-03-18 14:49 by haxia
[考研] 297求调剂 +8 戏精丹丹丹 2026-03-17 8/400 2026-03-18 14:30 by laoshidan
[考研] 312求调剂 +8 陌宸希 2026-03-16 9/450 2026-03-18 12:39 by Linda Hu
[考研] 268求调剂 +6 简单点0 2026-03-17 6/300 2026-03-18 09:04 by 无际的草原
[考研] 考研求调剂 +3 橘颂. 2026-03-17 4/200 2026-03-17 21:43 by 有只狸奴
[考研] 考研化学学硕调剂,一志愿985 +4 张vvvv 2026-03-15 6/300 2026-03-17 17:15 by ruiyingmiao
[考研] [导师推荐]西南科技大学国防/材料导师推荐 +3 尖角小荷 2026-03-16 6/300 2026-03-16 23:21 by 尖角小荷
[考研] 333求调剂 +3 文思客 2026-03-16 7/350 2026-03-16 18:21 by 文思客
[考研] 26考研一志愿中国石油大学(华东)305分求调剂 +3 嘉年新程 2026-03-15 3/150 2026-03-15 13:58 by 哈哈哈哈嘿嘿嘿
[考研] 289求调剂 +4 这么名字咋样 2026-03-14 6/300 2026-03-14 18:58 by userper
[考研] 297一志愿上交085600求调剂 +5 指尖八千里 2026-03-14 5/250 2026-03-14 17:26 by a不易
信息提示
请填处理意见