24小时热门版块排行榜    

查看: 875  |  回复: 1

Joannaouc

木虫 (著名写手)

[交流] 利用Grimme D2 scheme 手动计算dispersion (by MATLAB) 已有1人参与

好久之前写的东西,可能对大家有用。欢迎自行修改。请轻拍砖。
P.S. Dmol5.0 (not quite sure) 以上和VASP5.2以上可以利用程序在结构驰豫的时候就把dispersion加进去。这个当初是针对没有dispersion的dmol写的,刚写完没多久程序就更新到自带了。


function [Edisp] = Edisperse(filename)
%define the function to calculate dispersion energy
%modified on 09-03-2011

%open file and read
fid = fopen(filename,'r');

%following is the matrix storing Ro and C6 information
%of the atoms in the system
%
%first column is C6, second column is Ro
%
%line 1 for H
para(1,1) = 0.14;
para(1,2) = 1.001;
%line 2 for C
para(2,1) = 1.75;
para(2,2) = 1.452;
%line 3 for N
para(3,1) = 1.23;
para(3,2) = 1.397;
%line 4 for Li
para(4,1) = 1.61;
para(4,2) = 0.825;
%line 5 for Ti
para(5,1) = 10.80;
para(5,2) = 1.562;

%following is some other parameters
s6 = 0.75;
d = 20;

%read in coordinates and atom type of the atoms
[atype, x, y, z] = textread(filename, '%s %f %f %f');
l=length(x);

%allocate integer number to identify each atom kind
for i=1:l
    if (strcmp(atype(i),'H')==1)
        atomtype(i) = 1;
    elseif (strcmp(atype(i),'C')==1)
        atomtype(i) = 2;
    elseif (strcmp(atype(i),'N')==1)
        atomtype(i) = 3;
    elseif (strcmp(atype(i),'Li')==1)
        atomtype(i) = 4;
    else atomtype(i) = 5;
    end
end
atomtype = atomtype';

Edisp = 0;
for i = 1: (l-1)
    for j = (i+1):l
        Rr = para(atomtype(i),2) + para(atomtype(j),2);
        C6ij = sqrt (para(atomtype(i),1).* para(atomtype(j),1));
        Rij = sqrt ((x(i)-x(j)).^2+(y(i)-y(j)).^2+(z(i)-z(j)).^2);
        fdmpij = 1./(1+exp(-d*((Rij./Rr)-1)));
        Edisp = Edisp + (C6ij .* fdmpij) ./ (Rij.^6);
    end
end

Edisp = - Edisp .* s6;
%unit here is k kJ/mol
Edisp = Edisp .* 1000;
%unit here is kJ/mol
Edisp = Edisp ./ 2625.5 .*27.211;
%unit here is eV
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hwying

新虫 (初入文坛)

谢谢!
重新开始
2楼2013-05-08 17:09:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 Joannaouc 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 311求调剂 +4 冬十三 2026-03-18 4/200 2026-03-18 21:47 by 尽舜尧1
[考研] 328求调剂,英语六级551,有科研经历 +3 生物工程调剂 2026-03-16 10/500 2026-03-18 20:41 by Wangjingyue
[考研] 070300化学319求调剂 +6 锦鲤0909 2026-03-17 6/300 2026-03-18 13:22 by Iveryant
[考研] 0703化学求调剂 总分331 +3 ZY-05 2026-03-13 3/150 2026-03-18 10:58 by macy2011
[考研] 考研化学学硕调剂,一志愿985 +4 张vvvv 2026-03-15 6/300 2026-03-17 17:15 by ruiyingmiao
[考研] 梁成伟老师课题组欢迎你的加入 +8 一鸭鸭哟 2026-03-14 10/500 2026-03-17 15:07 by 一鸭鸭哟
[考研] 一志愿苏州大学材料工程(085601)专硕有科研经历三项国奖两个实用型专利一项省级立项 +6 大火山小火山 2026-03-16 8/400 2026-03-17 15:05 by 无懈可击111
[考研] 机械专硕325,寻找调剂院校 +3 y9999 2026-03-15 5/250 2026-03-16 19:58 by y9999
[考研] 304求调剂 +3 曼殊2266 2026-03-14 3/150 2026-03-16 16:39 by houyaoxu
[考研] 070303 总分349求调剂 +3 LJY9966 2026-03-15 5/250 2026-03-16 14:24 by xwxstudy
[考研] 277材料科学与工程080500求调剂 +3 自由煎饼果子 2026-03-16 3/150 2026-03-16 14:10 by 运气yunqi
[考研] 326求调剂 +3 mlpqaz03 2026-03-15 3/150 2026-03-16 07:33 by Iveryant
[考博] 东华理工大学化材专业26届硕士博士申请 +6 zlingli 2026-03-13 6/300 2026-03-15 20:00 by ryzcf
[基金申请] 现在如何回避去年的某一个专家,不知道名字 +3 zk200107 2026-03-12 6/300 2026-03-14 17:13 by zk200107
[考研] 328求调剂 +3 5201314Lsy! 2026-03-13 6/300 2026-03-14 15:31 by hyswxzs
[考研] 招收0805(材料)调剂 +3 18595523086 2026-03-13 3/150 2026-03-14 00:33 by 123%、
[考研] 材料与化工(0856)304求B区调剂 +6 邱gl 2026-03-12 7/350 2026-03-13 23:24 by 邱gl
[考研] 0856材料与化工301求调剂 +5 奕束光 2026-03-13 5/250 2026-03-13 22:00 by 星空星月
[考研] 304求调剂 +7 7712b 2026-03-13 7/350 2026-03-13 21:42 by peike
[硕博家园] 085600 260分求调剂 +3 天空还下雨么 2026-03-13 5/250 2026-03-13 18:46 by 天空还下雨么
信息提示
请填处理意见