24小时热门版块排行榜    

查看: 3002  |  回复: 3

xiehui0608

金虫 (小有名气)

[求助] 求,vasp计算自旋密度作图方法,急! 已有1人参与

本人是vasp初学者,最近在算一个带有自旋的体系,想做一下它的自旋密度图,在网上看了很多,看到有人说用CHGCAR 文件通过VESTA软件可以做成,但是没有具体的步骤方法,还是不会做,有哪位高手指点一下,急需要!谢谢!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Athena0218

新虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
xiehui0608(漫天飘雪代发): 金币+5, 谢谢交流 2018-06-13 15:08:45
在网上下载chgsplit.pl脚本,将CHGCAR生成CHGCAR_mag以及CHGCAR_tot.直接用VESTA打开CHGCAR_mag,这个是Alpha-Beta。调节VESTA工具栏objects的property里的isosurface。调节这个值显示的更清楚。懒得传附件了,chgsplit.pl脚本直接复制过来.

#!/usr/bin/env perl
#;-*- Perl -*-

@ARGV>=1 || die "usage: chgsplit.pl <CHGCAR> \n";

open (IN1,$ARGV[0]) || die ("Can't open file $!";
open (OUT,">CHGCAR_tot";

# read the header of the CHGCAR
for ($i=0; $i<6; $i++) {
    $line1 = <IN1>;
    $header1 .= $line1;
}

$atoms1 = <IN1>;
$header1 .= $atoms1;

@atoms1 = split(/\s+/,$atoms1);

$sum1 += $_ for @atoms1;

print "Atoms in file: ".$sum1."\n";

for ($i=0; $i<$sum1+2; $i++) {
    $header1 .= <IN1>;
}

# start reading the total charge density (spin up plus spin down) part
$points1 = <IN1>;
$header1 .= $points1;

@points1 = split(/\s+/,$points1);
$psum1 = 1;

for ($i=1; $i<@points1; $i++) {
    $psum1 *= $points1[$i];
}

print "Points in total charge density: ".$psum1."\n";

print OUT $header1;

for ($i=0; $i<$psum1/5; $i++) {
    $line1 = <IN1>;
    @line1 = split(/\s+/,$line1);
    printf OUT "%18.11E %18.11E %18.11E %18.11E %18.11E\n",$line1[1],$line1[2],$line1[3],$line1[4],$line1[5];  
}
close(OUT);

# start reading the magnetization density (spin up minus spin down) part
open (OUT,">CHGCAR_mag";

$line1 = <IN1>;
while($line1 != $points1){
    $line1 = <IN1>;
}

$points2 = $line1;
@points2 = split(/\s+/,$points2);
$psum2 = 1;

for ($i=1; $i<@points2; $i++) {
   $psum2 *= $points2[$i];
}

print "Points in magnetization density: ".$psum2."\n";
if ($psum1 != $psum2) {die ("Number of points not same in two parts!";}

print OUT $header1;
for ($i=0; $i<$psum1/5; $i++) {
    $line1 = <IN1>;
    @line1 = split(/\s+/,$line1);
    printf OUT "%18.11E %18.11E %18.11E %18.11E %18.11E\n",$line1[1],$line1[2],$line1[3],$line1[4],$line1[5];
}

close(OUT);
close(IN1);

.
2楼2018-06-12 01:53:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Athena0218

新虫 (正式写手)

【答案】应助回帖

内容已删除

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : chgsplit.pl
  • 2018-06-12 01:55:10, 1.6 K
3楼2018-06-12 01:55:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

heyong0104

金虫 (正式写手)

硕士研究生

★ ★
xiehui0608(漫天飘雪代发): 金币+2, 谢谢交流 2018-06-13 15:08:55
用王老师的vaspkit可以处理得到。

发自小木虫IOS客户端
待人要好,做事要专心,少说话,多做事。
4楼2018-06-13 15:06:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xiehui0608 的主题更新
信息提示
请填处理意见