| 查看: 966 | 回复: 2 | |||
[交流]
【求助】紧急求教读取CHGCAR的matlab脚本,谢谢
|
| 现在需要深入研究vasp的CHGCAR,希望用matlab读取它,但对矩阵的读取一直没查到相关资料,求教哪位有读能提供取CHGCAR的matlab小脚本,谢谢。 |
» 猜你喜欢
青C资助名额大幅增加!
已经有12人回复
重磅!青年科学基金项目(C类)资助增幅预计超过50%
已经有6人回复
有带发论文的吗
已经有3人回复
导师各种操作恶心咋办
已经有13人回复
本人最近太闲了,谁有问题可以提,每天会统一回复
已经有12人回复
护理论文 晋升
已经有5人回复
求助大佬sci投稿哪个好中
已经有4人回复
评审感受-评审感受-评审感受
已经有14人回复
这年头没有找到涵评专家,还有中面上的可能吗
已经有6人回复
2026博士申请求助
已经有10人回复
» 本主题相关价值贴推荐,对您同样有帮助:
继续求助Matlab绘图!
已经有8人回复
弱弱问一下:stereochemical activity 是什么意思? 谢谢
已经有5人回复
紧急求助翻译一篇德文文献~翻译其中合成的一部分~急求~谢谢~
已经有4人回复
matlab 计算过程中工作空间变量保存及读取 求解决内存不足的方法
已经有5人回复
帮翻译几段文献,请不要在线翻译,谢谢
已经有2人回复
用matlab统计图片中某种颜色成分占总图片中所有颜色成分的比率
已经有4人回复
【求助】弱弱的问一下Matlab数据提取的问题
已经有5人回复
【求助】用matlab编程,需要将数据自检分类(高手进来指点下)
已经有5人回复
【求助】CHGCAR用什么来读取
已经有10人回复
【求助】matlab如何只读取图像的一部分?
已经有11人回复
【求助】有哪位大侠做过次氯酸叔丁酯啊?帮帮我啊!谢谢
已经有6人回复
【求助】matlab读取fortran输出的txt文件【已解决】
已经有3人回复
【求助】求教matlab解非线性方程组
已经有9人回复
【求助】Weickert的各向异性扩散方程的滤波方法的matlab程序代码
已经有8人回复
» 抢金币啦!回帖就可以得到:
坐标上海,找女朋友,感兴趣的来
+1/965
重庆很认真地征女友
+2/100
检测XPS/XRD/SEM/拉曼/ICPQQ:3392739119
+1/89
苏州科技大学国家高层次青年人才团队诚聘副教授/讲师(事业编)和科研助理数名
+1/80
【急,最后两天】还有名额,湖南工业大学招收2026级生物医学工程博士研究生
+1/47
上海大学招收博士研究生多名
+1/32
华南理工大学微电子学院招电子信息专业博士研究生(2026年秋季入学)
+1/32
双一流大学湘潭大学“化工过程模拟与强化”国家地方联合工程研究中心招收博士生
+1/30
重庆大学药学院沈宏城课题组招聘弘深青年教师/博士后/科研助理
+1/30
双一流高校-南京林业大学-化学工程学院-国家海外优青团队招青年师资(正式事业编制)
+1/24
南昌大学药学院熊小东题组招收2026级博士生
+1/22
坐标南京
+1/20
天津大学 合成生物技术全国重点实验室 国家级青年人才团队常年招收博士后
+1/14
南京邮电大学邓超教授课题组招收2026博士生(5月18日前有效)
+1/14
南昌大学 物理与材料学院招收2026年申请考核博士1名 化学、材料、催化相关专业
+1/13
山东大学集成电路学院招收2026年9月入学的博士研究生
+1/11
高校急招科研助理
+1/9
哈尔滨工业大学(深圳)——急招能动/材料/机械——26年9月份博士
+1/7
中山大学招收2027年秋季入学的博士研究生(计算机视觉/机器学习)
+1/7
知名外资仪器厂家急招Application Scientist(2名
+1/1
★ ★
sunyang1988(金币+2): 谢谢帮助。这样直接粘贴可能有格式错误,如果方便请上传到网盘 2011-01-16 14:10:22
雁儿霏霏(金币+20): 谢谢大虾,能给提供个程序文件吗?粘贴有一些格式错误。邮箱:shangyan2009@gmail.com ,谢谢! 2011-01-16 19:37:24
sunyang1988(金币+2): 谢谢帮助。这样直接粘贴可能有格式错误,如果方便请上传到网盘 2011-01-16 14:10:22
雁儿霏霏(金币+20): 谢谢大虾,能给提供个程序文件吗?粘贴有一些格式错误。邮箱:shangyan2009@gmail.com ,谢谢! 2011-01-16 19:37:24
|
% Read in CHG file to 3D matrix. fid = fopen('CHG','r'); % Read POSCAR part of CHG file: sysname = fgetl(fid); lconst = fscanf(fid,'%f',1); basisvec = fscanf(fid,'%f',[3,3])'; temp1 = fgetl(fid); temp2 = fgetl(fid); species = sscanf(temp2,'%i'); Natoms = sum(species); temp3 = fgetl(fid); atompos_f3 = fscanf(fid,'%f',[3,Natoms])'; volume = abs(dot(basisvec(1, ,cross(basisvec(2, ,basisvec(3, )))*lconst^3;% Read charge density data. (i,j,k) value in i+(j+k*Ny)*Nx, with coordinate % system defined by basis vectors!: gridsize = fscanf(fid,'%i',3); Nx = gridsize(1); Ny = gridsize(2); Nz = gridsize(3); temp4 = fscanf(fid,'%f',[Nx*Ny*Nz,1]); density_sub_h1_surf=reshape(temp4,Nx,Ny,Nz)/volume; % % Magnitization (if present): % temp5 = fscanf(fid,'%i',3); % temp6 = fscanf(fid,'%f',[Nx*Ny*Nz,1]); % magn_lowacc_t2_N�蕆eshape(temp6,Nx,Ny,Nz)/volume; % minval = min(min(min(density))); % maxval = max(max(max(density))); % For rectangular unit cell, unit axes: % Plot isosurface: % prect = patch(isosurface(density,7.5), 'FaceColor', 'red', 'EdgeColor', 'none'); % isonormals(density,prect); % %axis tight; % camlight; lighting phong; % Non-rectangular (general) unit cell: % Need to created position 3D matrices xtemp = zeros(Nx*Ny*Nz,1); ytemp = zeros(Nx*Ny*Nz,1); ztemp = zeros(Nx*Ny*Nz,1); for k = 0:Nz-1 for j = 0:Ny-1 for i = 0:Nx-1 xtemp(1+i+(j+k*Ny)*Nx) = i/Nx*basisvec(1,1)+j/Ny*basisvec(2,1)+k/Nz*basisvec(3,1); ytemp(1+i+(j+k*Ny)*Nx) = i/Nx*basisvec(1,2)+j/Ny*basisvec(2,2)+k/Nz*basisvec(3,2); ztemp(1+i+(j+k*Ny)*Nx) = i/Nx*basisvec(1,3)+j/Ny*basisvec(2,3)+k/Nz*basisvec(3,3); end end end X = reshape(xtemp,Nx,Ny,Nz)*lconst; Y = reshape(ytemp,Nx,Ny,Nz)*lconst; Z = reshape(ztemp,Nx,Ny,Nz)*lconst; z = squeeze(Z(1,1, );ave_z_h1 = squeeze(sum(sum(density_sub_h1_surf,1),2))/(Nx*Ny); %(sqrt(2)*Nx*Ny)*lconst^2; figure %subplot(211) plot(z,ave_z_h1,'k') % figure % p = patch(isosurface(X,Y,Z,density,7.5), 'FaceColor', 'red', 'EdgeColor', 'none'); % isonormals(density,p); % % maxx = max(basisvec(:,1))*lconst; % % minx = min(basisvec(:,1))*lconst; % % maxy = max(basisvec(:,2))*lconst; % % miny = min(basisvec(:,2))*lconst; % % maxz = max(basisvec(:,3))*lconst; % % minz = min(basisvec(:,3))*lconst; % % axis([minx maxx miny maxy minz maxz]) % camlight; lighting phong; % Extract charge density along certain lines: ------------------------------ |
2楼2011-01-16 12:51:04
3楼2011-12-30 22:59:32












回复此楼
,cross(basisvec(2,