6.2 Résolution numérique du problème électronique
155
représentatifs : le premier système considéré (CH 3 -NH-CH=CH-NO 2 ) est une
molécule organique standard, le second (Cr 2 ) et le troisième ([Fe(H 2 O) 6 ]
2+ )
contiennent des éléments métalliques (Chrome et Fer) pour lesquels les algorithmes SCF rencontrent généralement des difficultés (comme en témoignent
les calculs effectués sur ces atomes, voir figure 8.2). La deuxième colonne fournit l’énergie totale du point de départ D 0 , les deuxième et troisième colonnes,
celles obtenues à la convergence avec les algorithmes DIIS et ODA respectivement ; ces trois énergies sont en Hartree. La quatrième colonne reproduit la
différence d’énergie entre le résultat obtenu avec DIIS (algorithme par défaut
dans quasiment tous les codes antérieurs à 2002) et celui obtenu avec ODA en
kcal/mol (une liaison covalente CH a une énergie de l’ordre de 100 kcal/mol).
On voit que l’erreur commise par DIIS est loin d’être négligeable puisqu’elle
est parfois comparable à l’énergie de liaison d’un ou plusieurs atomes.
Système
E
HF (D 0 ) Min DIIS Min ODA
∆E
(kcal/mol)
CH 3 –NH–CH=CH–NO 2 −374.0038 −375.3869 −375.3869
0
base 6-31G
−322.2373 Ne cv pas −375.3869 Non défini
Dichrome
−2069.5400 −2085.5449 −2085.8060
163.71
Cr2, base 6-31G
−2051.4339 −2085.4042 −2085.8060
251.93
Ion [Fe(H 2 O) 6 ]
2+ ,
−1700.7596 −1717.8928 −1718.0151
76.68
178 fonctions de base −1538.7283 −1717.7355 −1718.0151
175.31
Comparaison des algorithmes ODA et DIIS. Les énergies du point de départ D0
(deuxième colonne), du minimum obtenu par l’algorithme DIIS (troisième colonne),
et de celui obtenu par ODA (quatrième colonne) sont en unités atomiques. La différence d’énergie entre les deux minima est exprimée en kcal/mol (une liaison covalente : ∼ 100 kcal/mol, une liaison hydrogène : ∼ 5 kcal/mol).
Pour accélérer l’algorithme ODA, il est naturel de garder en mémoire la suite
des itérés D 0 , D 1 , ..., D n+1 (ou tout au moins une partie d’entre eux), et
de remplacer la minimisation sur le segment Seg[
D n , D n+1 ] intervenant dans
ODA par une minimisation sur le simplexe formé par les (D i ) 0≤i≤n+1 . La
procédure ainsi obtenue constitue l’algorithme EDIIS pour Energy Direct
Inversion in the Iterative Subspace :
155
représentatifs : le premier système considéré (CH 3 -NH-CH=CH-NO 2 ) est une
molécule organique standard, le second (Cr 2 ) et le troisième ([Fe(H 2 O) 6 ]
2+ )
contiennent des éléments métalliques (Chrome et Fer) pour lesquels les algorithmes SCF rencontrent généralement des difficultés (comme en témoignent
les calculs effectués sur ces atomes, voir figure 8.2). La deuxième colonne fournit l’énergie totale du point de départ D 0 , les deuxième et troisième colonnes,
celles obtenues à la convergence avec les algorithmes DIIS et ODA respectivement ; ces trois énergies sont en Hartree. La quatrième colonne reproduit la
différence d’énergie entre le résultat obtenu avec DIIS (algorithme par défaut
dans quasiment tous les codes antérieurs à 2002) et celui obtenu avec ODA en
kcal/mol (une liaison covalente CH a une énergie de l’ordre de 100 kcal/mol).
On voit que l’erreur commise par DIIS est loin d’être négligeable puisqu’elle
est parfois comparable à l’énergie de liaison d’un ou plusieurs atomes.
Système
E
HF (D 0 ) Min DIIS Min ODA
∆E
(kcal/mol)
CH 3 –NH–CH=CH–NO 2 −374.0038 −375.3869 −375.3869
0
base 6-31G
−322.2373 Ne cv pas −375.3869 Non défini
Dichrome
−2069.5400 −2085.5449 −2085.8060
163.71
Cr2, base 6-31G
−2051.4339 −2085.4042 −2085.8060
251.93
Ion [Fe(H 2 O) 6 ]
2+ ,
−1700.7596 −1717.8928 −1718.0151
76.68
178 fonctions de base −1538.7283 −1717.7355 −1718.0151
175.31
Comparaison des algorithmes ODA et DIIS. Les énergies du point de départ D0
(deuxième colonne), du minimum obtenu par l’algorithme DIIS (troisième colonne),
et de celui obtenu par ODA (quatrième colonne) sont en unités atomiques. La différence d’énergie entre les deux minima est exprimée en kcal/mol (une liaison covalente : ∼ 100 kcal/mol, une liaison hydrogène : ∼ 5 kcal/mol).
Pour accélérer l’algorithme ODA, il est naturel de garder en mémoire la suite
des itérés D 0 , D 1 , ..., D n+1 (ou tout au moins une partie d’entre eux), et
de remplacer la minimisation sur le segment Seg[
D n , D n+1 ] intervenant dans
ODA par une minimisation sur le simplexe formé par les (D i ) 0≤i≤n+1 . La
procédure ainsi obtenue constitue l’algorithme EDIIS pour Energy Direct
Inversion in the Iterative Subspace :
