24小时热门版块排行榜    

查看: 3150  |  回复: 12
【奖励】 本帖被评价10次,作者小虫009增加金币 9.2

小虫009

金虫 (初入文坛)


[资源] 【分享】一个将CASTEP的.cell文件转换为POSCAR的简单脚本

在CASTEP下建立好结构模型,保存文件,找到*.cell文件(存有结构信息)
拷贝到LINUX下,输入perl cell2poscar.pl .cell, 生成POSCAR文件;
或者将 cell2poscar.pl放在~/bin下,输入chmod +x cell2poscar.pl转为可执行形式,直接输入cell2poscar.cell .cell即可。

目前只是半成品,生成的POSCAR没有告诉原子数,可以自己手动加上去,不支持Selective模式
不过基本达到转换目的。
哎偶的perl水平太太菜了,希望各位高手多提宝贵意见!



cell2poscar.pl脚本内容:

eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q' if 0;
#;-*- Perl -*-

#  used to convert .cell(Castep) to POSCAR(vasp)
#
#  usage: cell2poscar.pl
#
@args=@ARGV;
@args==1 || die "usage: cell2poscar.pl \n";

open (IN,@args[0]) || die ("Can't open the file $!";
open (OUT,">POSCAR";
print " Please input the first line of your POSCAR\n";

$filename=;

print " Plesse tell me what you want for (Direct) or (Selective dynamic)   \n";

$Direct_or_selectivedynamic="Direct";
chomp($yourchose=;
if ($yourchose=~ m/^(d|D)/)
   {$Direct_or_selectivedynamic="Direct";}
      elsif($yourchose=~m/^(s|S)/)
           {$Direct_or_selectivedynamic="Selective dynamic";}
            else{$Direct_or_selectivedynamic="Direct";}
$i=1;
while(
{
      @header[0]=$filename;
      @header[1]="1\n";
      if (/\%BLOCK LATTICE_CART/)
      { $_="\n";}
        elsif (/\%ENDBLOCK POSITIONS_FRAC/)
           { $_="\n"; last;}
           elsif (/\%ENDBLOCK LATTICE_CART/)
           {$_=" ";}
           elsif (/\%BLOCK POSITIONS_FRAC/)
           {@header[6]="$Direct_or_selectivedynamic\n";  $i++;}
           else
              {  if(/[a-z]/i){ s/[a-z][a-z]//i;@header[$i+1]=$_; $i++;}
                 else{@header[$i+1]=$_; $i++;}
              }
}

print OUT @header;
close OUT;
close IN;

[ Last edited by zxzj05 on 2009-12-4 at 21:42 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

★★★★★ 五星级,优秀推荐

呵呵,不错!!!
2楼2009-12-04 21:37:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fanchen021

铁杆木虫 (正式写手)


★★★★★ 五星级,优秀推荐

呵呵,我发过一个类似的帖子,LZ可以去看一下
http://muchong.com/bbs/viewthread.php?tid=1663483&fpage=1
4楼2009-12-05 00:08:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wjhwoods

铜虫 (正式写手)


t

对不起,本贴要求 金币高于 500 个 才可浏览,请返回
9楼2010-02-05 04:52:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cjinf0614

金虫 (小有名气)


★★★★★ 五星级,优秀推荐

顶一个
12楼2012-05-03 14:20:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

★★★★★ 五星级,优秀推荐

★★★★★ 五星级
13楼2014-10-20 09:58:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
zxzj053楼
2009-12-04 21:42   回复  
 
2009-12-05 11:19   回复  
 谢谢分享
akakcolin6楼
2009-12-05 13:12   回复  
2009-12-06 09:34   回复  
 
0303deer8楼
2009-12-07 10:16   回复  
 谢谢分享!
2011-04-01 11:09   回复  
五星好评  
huyuxiav11楼
2011-04-15 11:28   回复  
五星好评  谢谢分享!
相关版块跳转 我要订阅楼主 小虫009 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 2026国自然函评费到账 +18 羊腰板 2026-08-21 21/1050 2026-08-25 10:24 by ma0526
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +5 process2012 2026-08-23 7/350 2026-08-25 09:42 by huixian257
[基金申请] 今天基金会出结果吗?20260819 +17 kkkl_v 2026-08-19 18/900 2026-08-25 09:41 by windflowerwy
[基金申请] 范进中举一文的中心思想 +7 炎黄贵胄 2026-08-22 8/400 2026-08-25 08:48 by ZJTJZ
[基金申请] 只有每年这种时候来逛逛小木虫 +25 yaoyewhu2008 2026-08-20 27/1350 2026-08-25 08:01 by Equinoxhua
[基金申请] 明天应该可查了!? +5 chengyan1220 2026-08-23 5/250 2026-08-24 23:28 by 我4大白菜
[基金申请] 没有任何消息-是不是就凉了 +7 图啦图啦 2026-08-24 8/400 2026-08-24 22:00 by maomao_da
[基金申请] 能否退出参与的面上项目解除限项 +21 koalala 2026-08-24 24/1200 2026-08-24 19:25 by 家与远方
[基金申请] filecode,4个jtjc了 +14 ziyangfang 2026-08-19 17/850 2026-08-24 18:37 by 哈哈蛤?
[基金申请] 建议基金发布提前给出明确的时间点 +13 kulium 2026-08-21 16/800 2026-08-24 16:27 by superceng
[基金申请] 放榜前的不淡定 20+4 snowwithsea 2026-08-19 17/850 2026-08-24 10:20 by echo8914667
[基金申请] 什么时候开奖? +10 CrisMessi 2026-08-18 11/550 2026-08-24 06:50 by 开心的小狮子
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
[基金申请] 今天放榜吗? +15 布布和一二 2026-08-19 16/800 2026-08-23 09:55 by 张春生
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
信息提示
请填处理意见