Квантовая теория молекул (Часть 1). Шунина В.А - 28 стр.

UptoLike

28
61.
f[[µ,µ]]=h[[µ,µ]]-0.5*p[[µ,µ]]*γ[[a,a]]+
Sum[Pat[[b]]* γ[[a,b]],{b,na}];
62.
For[ν=1,ν≤µ,ν++,
63.
If[ν==µ,Continue[]];
64.
b=IntegerPart[nbnlms[[ ν]]/10000];
65.
f[[µ,ν]]=h[[µ,ν]]-0.5*p[[µ,ν]]*γ[[a,b]];
66.
f[[ν,µ]]=f[[µ,ν]]]];
67.
]; (* If *)
68.
{e,ct}=Chop[Eigensystem[f]];
69.
c=Transpose[ct];
70.
For[µ=1,µ≤no,µ++,
71.
For[ν=1,ν<=no,ν++,
72.
p[[µ,ν]]=2*Sum[c[[µ,i]]*c[[ν,i]],{i,nocc}]]];
73.
E1=Sum[e[[i]],{i,nocc}];
74.
E2=0.5*Sum[p[[
µ
,
ν
]]*h[[
µ
,
ν
]],{
µ
,no},{
ν
,no}];
75.
Etot=E1+E2+Enuc;
76.
If[it0,Continue[]];
77.
Print["Iteration=",PaddedForm[it,3],
" Etot=",PaddedForm[Etot,{8,5}]];
78.
If[Abs[Etot-Etot0]< δ,Break[]];
79.
]; (* it *)
80.
For[b=1,bna,b++,Q[[b]]=Zcore[[b]]-Pat[[b]]];
81.
If[Abs[Etot-Etot0]> δ,Return[{1,Etot,e,c,Q}]];
82.
Return[{0,Etot,e,c,Q}];
83.
]; (* end of CNDO2 *)
84.
{ierr,Etot,e,c,Q}=CNDO2[DatIn];
85.
Print["Код завершения: ",ierr];
86.
Print["Одноэлектронные энергии"];
87.
e=Sort[e,#1<=#2&];
88.
For[i=1,ino,i++,Print[PaddedForm[i,2], ") ",
PaddedForm[e[[i]],{7,3}]," а.е. = ",
PaddedForm[27.212*e[[i]],{7,3}]," эВ"]];
89.
Print["Эффективные заряды"];
90.
Elem={"C","O","H","H"};
91.
For[a=1,a
na,a++,
92.
Print[Elem[[a]]," : ",PaddedForm[Q[[a]],{8,3}]]];
Iteration= 1 Etot= -13.02485
Iteration= 2 Etot= -13.25376
.
.
.
Iteration= 15 Etot= -13.23002
Iteration= 16 Etot= -13.23003
Код завершения: 0
Одноэлектронные энергии
1) -1.220 а.е. = -33.201 эВ
2) -0.816 а.е. = -22.216 эВ
3) -0.614 а.е. = -16.703 эВ
4) -0.526 а.е. = -14.325 эВ
5) -0.526 а.е. = -14.309 эВ
                                          28
61.       f[[µ,µ]]=h[[µ,µ]]-0.5*p[[µ,µ]]*γ[[a,a]]+
                    Sum[Pat[[b]]* γ[[a,b]],{b,na}];
62.       For[ν=1,ν≤µ,ν++,
63.        If[ν==µ,Continue[]];
64.        b=IntegerPart[nbnlms[[ ν]]/10000];
65.        f[[µ,ν]]=h[[µ,ν]]-0.5*p[[µ,ν]]*γ[[a,b]];
66.        f[[ν,µ]]=f[[µ,ν]]]];
67.     ]; (* If *)
68.     {e,ct}=Chop[Eigensystem[f]];
69.     c=Transpose[ct];
70.     For[µ=1,µ≤no,µ++,
71.      For[ν=1,ν<=no,ν++,
72.       p[[µ,ν]]=2*Sum[c[[µ,i]]*c[[ν,i]],{i,nocc}]]];
73.     E1=Sum[e[[i]],{i,nocc}];
74.     E2=0.5*Sum[p[[ µ,ν]]*h[[µ,ν]],{µ,no},{ν,no}];
75.     Etot=E1+E2+Enuc;
76.     If[it 0,Continue[]];
77.     Print["Iteration=",PaddedForm[it,3],
            "        Etot=",PaddedForm[Etot,{8,5}]];
78.   If[Abs[Etot-Etot0]< δ,Break[]];
79.  ]; (* it *)
80.  For[b=1,b≤na,b++,Q[[b]]=Zcore[[b]]-Pat[[b]]];
81.  If[Abs[Etot-Etot0]> δ,Return[{1,Etot,e,c,Q}]];
82.  Return[{0,Etot,e,c,Q}];
83. ]; (* end of CNDO2 *)

84.    {ierr,Etot,e,c,Q}=CNDO2[DatIn];
85.    Print["Код завершения: ",ierr];
86.    Print["Одноэлектронные энергии"];
87.    e=Sort[e,#1<=#2&];
88.    For[i=1,i≤no,i++,Print[PaddedForm[i,2], ")   ",
        PaddedForm[e[[i]],{7,3}]," а.е. = ",
        PaddedForm[27.212*e[[i]],{7,3}]," эВ"]];
89.    Print["Эффективные заряды"];
90.    Elem={"C","O","H","H"};
91.    For[a=1,a≤na,a++,
92.     Print[Elem[[a]]," : ",PaddedForm[Q[[a]],{8,3}]]];


Iteration=    1      Etot=          -13.02485
Iteration=    2      Etot=          -13.25376
.
.
.
Iteration=   15      Etot=          -13.23002
Iteration=   16      Etot=          -13.23003
Код завершения: 0
Одноэлектронные энергии
  1)        -1.220   а.е.   =   -33.201   эВ
  2)        -0.816   а.е.   =   -22.216   эВ
  3)        -0.614   а.е.   =   -16.703   эВ
  4)        -0.526   а.е.   =   -14.325   эВ
  5)        -0.526   а.е.   =   -14.309   эВ