24小时热门版块排行榜    

查看: 824  |  回复: 4

qishiyy

银虫 (小有名气)

[求助] molpro 的SAPT 中出错

这是输入文件
basis=aug-cc-pvtz

ca=2101.2
cb=2102.2

dist=[2.4,2.5,2.6,2.7,2.8,2.9,3.0,3.1,3.2,3.3] ang

do i=1,#dist
   r=dist(i)

   hf
   edm=energy

   dummy,Ne
   {hf; save,$ca}
   ema=energy
   sapt;monomerA

   dummy,Ar
   {hf; start,atdens; save,$cb}
   emb=energy
   sapt;monomerB

   sapt,SAPT_LEVEL=3;intermol,ca=$ca,cb=$cb

   eint_hf=(edm-ema-emb)*1000. mH
   delta_hf=eint_hf-e1pol-e1ex-e2ind-e2exind

   elst(i)=E1pol; exch(i)=E1ex
   ind(i)=E2ind; exind(i)=E2exind
   disp(i)=E2disp; exdisp(i)=E2exdisp
   etot(i)=E12tot;eint_sapt(i)=eint_hf+e2disp+e2exdisp

   data,truncate,$ca
enddo

{table,dist,elst,exch,ind,exind,disp,exdisp,etot,eint_sapt
ftyp,d,d,d,d,d,d,d,d,d,d
plot}

错误信息
i=1 算完后,算i=2 时,出现
?DUMP RECORD  2101.2 CORRESPONDS TO DIFFERENT BASIS OR MOLECULE
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fmklz

木虫 (正式写手)

搞电器工业化的化学打工仔

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
cenwanglai: 金币+2, 谢谢回复~ 2012-11-07 15:58:25
qishiyy: 金币+10, ★★★很有帮助 2012-11-07 19:26:53
当i=2时,{hf; save,$ca}这是地址会默认从最近计算找,即上步的$cb,建议
{hf;save,$ca+i;start,$ca+i-1;}
或者你不想继承·,可以类似{hf; start,atdens; save,$cb},用start,atdens;这样每个循环都自己猜
宁在一思进,莫在一思停
2楼2012-11-07 11:20:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qishiyy

银虫 (小有名气)

引用回帖:
2楼: Originally posted by fmklz at 2012-11-07 11:20:01
当i=2时,{hf; save,$ca}这是地址会默认从最近计算找,即上步的$cb,建议
{hf;save,$ca+i;start,$ca+i-1;}
或者你不想继承·,可以类似{hf; start,atdens; save,$cb},用start,atdens;这样每个循环都自己猜

如果两个单体都是有多个原子的分子,设定 r 是单体A中的一个原子和单体B中的一个原子的距离。给定r不同的值,让两个单体逐渐靠近,那么单体中其它的原子会自动平移而保持单体的构型不发生变化吗?
3楼2012-11-07 19:25:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fmklz

木虫 (正式写手)

搞电器工业化的化学打工仔

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
qishiyy: 金币+20, ★★★★★最佳答案 2012-11-10 14:48:11
我没有完全明白你的意思。简单说两句吧
1.你要是想达到这个目的呢?-----那只设R为变量即可,其他为常数,就可以了。
2.个人觉得实际情况,R较远时,构型变化不大,但较近时,构型肯定有些变化,在固定r值时,优化其他参数,来观察其他是否变化,若变化,便说明单体构型要变。
对于2情况,你要想保持hf波涵连续性,用个for循环。假设每一个R对应其他参数(固定R优化后)有r2,r3,alpha1,alpha2等等。
R=[,,,,,,,,]
distance1=[,,,,,,,]
distance2=[,,,,,,,,]
angle1=[,,,,,,,,]
angle2=[,,,,,,,]                            !这下面几个数组与相应的R保持一一对应
i=0;
do ith=1,#R
i=i+1
r1(i)=R(ith)
r2(i)=distance1(ith)
r3(i)=distance2(ith)
alpha1(i)=angle1(ith)
alpha2(i)=angle2(ith)
.......

enddo

这样就把不同r的移动写入一个文件,再用start,save波涵,来继承上一个构型的波涵。
宁在一思进,莫在一思停
4楼2012-11-07 21:41:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qishiyy

银虫 (小有名气)

引用回帖:
4楼: Originally posted by fmklz at 2012-11-07 21:41:52
我没有完全明白你的意思。简单说两句吧
1.你要是想达到这个目的呢?-----那只设R为变量即可,其他为常数,就可以了。
2.个人觉得实际情况,R较远时,构型变化不大,但较近时,构型肯定有些变化,在固定r值时,优化 ...

感谢你的帮助,问题解决了
5楼2012-11-10 14:50:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 qishiyy 的主题更新
信息提示
请填处理意见