本帖最后由 Warm_Cloud 于 2018-1-4 20:26 编辑
冻芯近似是给post-hf方法用的,正常做完HF后,在做posh-hf的时候,以前求和是从1到Nocc(占据轨道数),使用了冻芯近似后,改成FCstar+1到Nocc,FCstar是你冻结的轨道数,举个例子,对于CO2,一共22个电子,Nocc就是11,对于C和O,分别冻结2个电子,总共就是冻结6个电子,3个占据轨道,因此,求和由原来的1到11,变成4到11,你可以看这段代码:
Tempc = 0.0d0
Tempk = 0.0d0
do k = FCstar+1,Nocc
do l = FCstar+1,Nocc
do a = Nocc+1,Nbas
do b = Nocc+1,Nbas
Temp = (En(k)+En(l)-En(a)-En(b))
Tempc = Tempc + g_Mo(EI(b,l),EI(a,k))*g_Mo(EI(l,b),EI(k,a))/Temp
Tempk = Tempk + g_Mo(EI(b,l),EI(a,k))*g_Mo(EI(l,a),EI(k,b))/Temp
end do
end do
end do
end do
这是做MP2的代码,不使用冻芯近似的时候,FCstar=0,使用的时候,FCstar就是每个原子的冻芯轨道数目加起来。上面的例子就是1(C)+1(O)+1(O)=3
另外,你说的在SCF中的有类似思想的那叫赝势。
|