24小时热门版块排行榜    

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

fdd096030079

新虫 (小有名气)

[交流] vasp_bnd的Matlab改进版,更方便~ 已有1人参与

今天看到一个帖子是关于vasp_bnd的matlab版本,我看了下,里面不能直接输入费米能,需要手动修改;另外就是需要把文件放到Matlab的同一个工作目录下才能运行,我这个程序只需要通过一个对话框来选择文件即可~需要强调的是,我这个程序在绘图时,利用了数值插值来绘图,画出来的图像更光滑~
我这个程序,是自己前几个星期写的,当时没想到这个也可以分享,有什么需要改进的,还望大家向我提出~
另外,我想说明的是,我这个是参照网上一个Fortran的程序改编过来的,不知为什么,自旋的还不能处理,谅解啊~
运行程序后,要求输入费米能级:

之后,弹出一个对话框,请选择EIGENVAL文件

进行插值绘图

对于K点较少的能带图,插值出来的图像很光滑的,K点较多,看起来会有点杂,当然自己可以对绘图部分进行修改~
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

171713294

木虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
麻烦楼主传一下,分享分享呗
坚持,不放弃
4楼2012-12-03 09:33:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

fdd096030079

新虫 (小有名气)

额。。。忘记上传文件了~
搞了很久,上传不了啊~
我把代码贴在这里啦~
文件与处理程序,文件名为dataeigenval,文件名不要搞错了啊,待会儿要调用的!!!
clc;
flag = 0;
ef=input('请输入费米能级:');
[filename path] = uigetfile('*.*','选择EIGENVAL文件');
if filename == 0
    disp('请选择EIGENVAL文件!');
    flag = 1;
    return;
end
files = [path filename];
file = fopen(files);
if file == -1
    disp('文件打开失败!!!');
    return;
end
temp = fgetl(file);
temp = str2num(temp);
ispin = temp(4);
for i=1:4
    fgetl(file);
end
temp = fgetl(file);
temp = str2num(temp);
nn = temp(1);
nk = temp(2);
nbands = temp(3);

e=zeros(nk,nbands);
k=zeros(nk,3);

if ispin==2
    for i=1:nk
        fgetl(file);
        temp = fgetl(file);
        temp = str2num(temp);
        for j=1:3
            k(i,j)=temp(j);
        end
        for j=1:nbands
            temp = fgetl(file);
            temp = str2num(temp);
            eup(i,j)=temp(2);
            edn(i,j)=temp(3);
        end
    end
%     temp = fgetl(file);
%     temp = str2num(temp);
%     for n=1:nbands
%         e(i,n)=temp(n);
%     end
else
    for i=1:nk
        fgetl(file);
        temp = fgetl(file);
        temp = str2num(temp);
        for j=1:3
            k(i,j)=temp(j);
        end
        for j=1:nbands
            temp = fgetl(file);
            temp = str2num(temp);
            e(i,j)=temp(2);
        end
    end
end
fclose(file);
file2 = fopen('bnd.dat','w');
for j=1:nbands
    dk = 0;
    for i=1:nk
        if i==1
            k0 = k(i,;
        end
        a = k(i,-k0;
        dk = dk+sqrt(dot(a,a));
        
        if ispin==2
            fprintf(file2,'%f  %f  %f\n',dk,eup(i,j)-ef,edn(i,j)-ef);
        else
            fprintf(file2,'%f  %f\n',dk,e(i,j)-ef);
        end
        k0=k(i,;
    end
    fprintf(file2,'\n');
end
fclose(file2);
clear a ans dk e ef file file2 i ispin j k k0 nn temp


作图程序,插值法~
文件名:eigenvaluesman
clc;
dataeigenval;%调用dataeigenval,数据预处理
if flag == 1
    return;
end
X=load('bnd.dat');%读取dataeigenvla中产生的数据,也就是K点跟能量的数据,可用txt文件程序打开~
xi=X(1,1)X(nk,1)-X(1,1))/200:X(nk,1);
figure;
for i=1:nbands
     yi=interp1(X((i-1)*nk+1:i*nk,1),X((i-1)*nk+1:i*nk,2),xi,'spline');
     plot(X((i-1)*nk+1:i*nk,1),X((i-1)*nk+1:i*nk,2),'.',xi,yi,'linewidth',1)
     hold on;
end
title('The Bands');
xlabel('K Points');
ylabel('Energy(eV)');



突然发现图片上传错误了一张,晕死~
补上了~


再补充下,程序中的,在复制到代码中是冒号加上左小括号,是冒号加右小括号,这是网页代码转换冲突了~另外,有问题可以问我~

[ Last edited by fdd096030079 on 2012-12-3 at 09:45 ]
3楼2012-12-03 09:21:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 11/550 2026-08-30 07:57 by gouxfjh
[硕博家园] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 gy1nBQXYQJqL 2026-08-29 5/250 2026-08-30 06:55 by ZPa0EcMwuECS
[找工作] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 ASdOkHsho7FD 2026-08-28 8/400 2026-08-30 06:13 by ZPa0EcMwuECS
[找工作] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +5 ASdOkHsho7FD 2026-08-28 8/400 2026-08-30 05:51 by ZPa0EcMwuECS
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 G6APbkg8SA6w 2026-08-29 5/250 2026-08-30 02:40 by ZPa0EcMwuECS
[公派出国] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 gy1nBQXYQJqL 2026-08-29 4/200 2026-08-30 01:45 by ZPa0EcMwuECS
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 gy1nBQXYQJqL 2026-08-29 7/350 2026-08-30 01:36 by ZPa0EcMwuECS
[博后之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +7 ASdOkHsho7FD 2026-08-28 8/400 2026-08-30 01:14 by ZPa0EcMwuECS
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +15 晴天加油 2026-08-26 16/800 2026-08-29 18:28 by symmetry
[基金申请] 有没有仍没收到信息的 +5 德尚中行 2026-08-27 6/300 2026-08-29 18:10 by manplx
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +9 苏东坡二世 2026-08-23 9/450 2026-08-29 14:41 by hustersqt
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +12 Kittylucky 2026-08-27 13/650 2026-08-29 00:04 by superceng
[基金申请] 基金不中,共勉 +11 eulota 2026-08-26 11/550 2026-08-28 14:22 by 火星超人xi
[基金申请] 怎么查啊 +6 huang1991js 2026-08-26 6/300 2026-08-28 08:42 by winsaint
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +5 yuleib84 2026-08-26 6/300 2026-08-28 00:02 by yudaoqian88
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 国合现在查不到了吗? +10 chengyan1220 2026-08-24 20/1000 2026-08-26 08:57 by peasantsprig
[基金申请] 在坚冰还盖着北海的时候,我看到了怒放的梅花。 (金币+10) +6 ziyangfang 2026-08-25 9/450 2026-08-25 20:26 by huagongfeihu
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
信息提示
请填处理意见