24小时热门版块排行榜    

Znn3bq.jpeg
查看: 899  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 化学工程调剂289 +44 yang婷 2026-04-07 50/2500 2026-04-12 02:36 by 秋豆菜芽
[考研] 291求调剂 +7 关忆北. 2026-04-11 7/350 2026-04-11 23:48 by baobaoye
[考研] 290求调剂 +13 luoziheng 2026-04-10 13/650 2026-04-11 23:15 by labixiaoqiao
[考研] 一志愿厦大0856,306求调剂 +15 Bblinging 2026-04-11 15/750 2026-04-11 22:53 by 314126402
[考研] 药学专硕调剂 +8 ? 一路生?花? 2026-04-10 10/500 2026-04-11 21:21 by zhouxiaoyu
[考研] 070300化学279求调剂 +19 哈哈哈^_^ 2026-04-08 20/1000 2026-04-11 20:43 by stoner78
[考研] 343求调剂 +9 王国帅 2026-04-10 9/450 2026-04-11 20:31 by dongdian1
[考研] 283求调剂,工科! +12 苏打水7777 2026-04-08 12/600 2026-04-11 10:28 by 逆水乘风
[考研] 297求调剂 +9 Kwgyz 2026-04-09 9/450 2026-04-11 10:09 by zhq0425
[考研] 材料与化工调剂 +12 否极泰来2026 2026-04-10 13/650 2026-04-11 00:28 by wangjihu
[考研] 265求调剂 +12 风说她早忘了 2026-04-10 13/650 2026-04-10 18:56 by chemisry
[考研] 一志愿 江南大学 085602 化工专硕 338分求调剂 +16 路痴小琪 2026-04-05 16/800 2026-04-10 08:08 by kangsm
[考研] 生物学调剂,一志愿西南大学348,Top期刊一区二作、二区三作,三等奖学金三次 +4 candyyyi 2026-04-09 4/200 2026-04-09 18:39 by l_paradox
[考研] 一志愿中国科学院上海有机所,有机化学356分找调剂 +11 Nadiums 2026-04-09 11/550 2026-04-09 18:04 by lijunpoly
[考研] 085400电子信息类(川大控制工程)求调剂可跨专业 求老师联系 +3 626776879 2026-04-08 3/150 2026-04-09 16:05 by 猪会飞
[考研] 0860004 求调剂 309分 +6 Yin DY 2026-04-09 6/300 2026-04-09 10:19 by 啊李999
[考研] 270求调剂 +3 031127 2026-04-06 4/200 2026-04-08 21:00 by 逆水乘风
[考研] 275 求调剂 +8 Lei812514 2026-04-07 8/400 2026-04-08 12:46 by chemisry
[考研] 326分,一志愿沪9,求生物学调剂 +4 刘墨墨 2026-04-05 4/200 2026-04-08 06:22 by lijunpoly
[考研] (调剂)一志愿报考哈尔滨工业大学0857资源与环境专业378分考生 +7 狠狠加油 2026-04-05 8/400 2026-04-06 16:52 by momo皓
信息提示
请填处理意见