ВУЗ:
Составители:
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,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 эВ
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 эВ