• Aucun résultat trouvé

5.3 Traitement de la self-consistence

5.3.1 Considérations générales

La convergence d’un point SCF pose trois problèmes de nature très différente entre lesquels existe parfois une certaine confusion :

– Le premier réside dans l’existence non pas de un, mais d’une multitude d’états de champ moyen possibles, c’est-à-dire de matrices densités représentant un détermi- nant et vérifiant la condition 5.12. Si ces états sont moins nombreux dans les zones de

géométrie compacte du système (au sens de l’ordre de grandeur relatif des termes monoélectroniques de saut et des contributions électrostatiques), ce problème se pose toujours à la dissociation, même pour les systèmes qui se comportent bien par ailleurs [217]. Cette situation est assez similaire à celle posée par l’existence de plusieurs points stationnaires sur une surface de potentiel (voir le chapitre suivant), et le problème se résout en choisissant un algorithme de convergence continu et en spécifiant une condition initiale bien choisie, et/ou en posant certaines contraintes sur le système, en particulier sa symétrie (et les méthodes Restricted (Open-Shell) Hartree Fock en sont un bon exemple). L’ignorance de cette possibilité peut réserver un certain nombre de surprises.

– Le second problème est relatif à la vitesse plus ou moins grande de la convergence. Ce problème est lui aussi très similaire à celui qui se pose pour une optimisation locale de géométrie (voir le chapitre suivant). Il se pose assez bien en considérant le problème de convergence SCF comme un problème d’optimisation, et en étudiant son conditionnement (toujours selon des arguments que nous présentons dans le pro- chain chapitre). Il a donné lieu au développement de diverses méthodes pour mener la convergence (algorithmes quadratiques, méthodes d’accélération de convergence [218, 219]). Comme pour l’optimisation de géométrie, l’utilisation de méthodes de convergence avancées est en générale réservée pour les étapes finales de la conver- gence, et elle peut se révéler dangereuse si le début de cette convergence n’est pas évident, ce qui relie cette question au troisième problème. Elle ne pose, du reste, pas de difficultés particulières en elle-même, et est assez bien traitée dans la littérature, qu’il s’agisse de livres ou de publications, contrairement aux deux autres.

– Un troisième problème pour la convergence SCF est très souvent confondu avec le problème précédent, alors qu’il n’a pas grand chose à voir : il réside dans le fait que parfois (dans notre cas, assez souvent), même si on ajuste les coefficients de mélange (voir plus bas), et d’autant plus si on tente de le résoudre par des méthodes d’accé- lération, la convergence du déterminant oscille entre plusieurs valeurs de l’énergie, tandis que la norme du commutateur de l’équation 5.12 sature, oscille, voire évolue un peu n’importe comment. Ce dernier problème ne se pose pas pour tous les types de systèmes, et jamais vraiment de la même façon pour toutes les géométries. Il est lié à l’existence, au niveau strictement monoélectronique, de plusieurs déterminants dégénérés ou quasi-dégénérés (c’est-à-dire de couches de symétrie ouvertes) qui sont à la fois couplés ou réordonnés par les termes électrostatiques (par exemple, l’un a le contenu orbitalaire du fondamental de l’opérateur de Fock de l’autre et vice- versa). Ce problème joue à la fois à la dissociation (où les termes électrostatiques restent finis, tandis que les termes de saut sont pratiquement nuls) et pour les géo- métries autour des points très symétriques de l’espace des configurations, mais pas seulement : presque chaque fois qu’un ou plusieurs états excités seront trop proches de l’état fondamental, et que les différences énergétiques entre ces états sont gou- vernés par le jeu de la délocalisation électronique (qui fait apparaître des charges sur les atomes) et l’électrostatique (en particulier le U qui pénalise ces charges), ce problème est susceptible de se poser.

Dans la suite, on notera V la matrice (en colonnes) des orbitales du déterminant qu’on considère, virtuelles comprises, p le vecteur de leurs populations, P la matrice avec p sur

la diagonale et les termes hors-diagonaux nuls, ρ la matrice densité, avec ρ = VPVT.

On note S le recouvrement donné par VTV (= I pour les matrices de vecteurs V ortho-

normés). On note F l’opérateur de Fock, avec ρ entre parenthèses ou un indice commun pour spécifier sur quelle matrice densité il est évalué, ou à quelle étape cet opérateur cor- respond, e le vecteur des énergies des orbitales (qui sont les multiplicateurs de Lagrange, voir le chapitre 2) et E la matrice contenant ces énergies sur la diagonale, comme pour les populations. On note également T la partie monoélectronique de l’opérateur de Fock, indépendante de ρ. On note E l’énergie électronique, et on a en particulier

E = 1 2Tr



[F(ρ) + T]ρ .

Partant d’un déterminant initial V0, de matrice densité ρ0 (obtenu par exemple par diago-

nalisation ordonnée de T, qu’on appellera, dans la suite, le guess Hückel), il y a plusieurs manières simples de réaliser la condition 5.12. Une méthode variationnelle consiste à utiliser le fait qu’on minimise la fonctionnelle

f (V) = E − VTEV dont le gradient par rapport une colonne de V, ~v, est

∂f

∂~v = [F(V)− E]~v.

Cette méthode pose problème, car on ne sait pas trop quoi mettre dans la matrice E, a priori. Il faut remarquer ici que dans la fonctionnelle f, le terme VTEVjoue le rôle d’un

potentiel quadratique appliqué aux vecteurs V, qui contraint leur orientation mutuelle et leur norme. On peut donc imaginer abandonner ce terme pour ne garder que le gradient de E, et réaliser à chaque étape l’orthogonalisation par d’autres moyens (on note O cette opération). En utilisant un coefficient α similaire au coefficient des algorithmes de steepest descent du prochain chapitre, l’algorithme revient à réaliser

(Tant que [F(ρ), ρ] > ǫ)

Fi = F(ρi)( la condition d’arrêt se calcule ici)

Vi+1 = O(Vi+ αFiVi)

ρi+1 = Vi+1PVTi+1

Si α est petit, ce qui est toujours le cas (α ∼ 0.1 en général), il faut veiller à ne pas ortho- gonaliser selon une procédure symétrique (en particulier éviter S−1

2), car celle-ci annihile

le (petit) mélange avec les virtuelles courantes réalisé par F et l’algorithme n’avance plus. Une méthode de mélange sur l’opérateur de Fock consiste à réajuster en perma- nence l’opérateur de Fock courant Fi avec l’opérateur de Fock obtenu à partir des vecteurs

qui le diagonalisent, avec un coefficient de mélange α : (Tant que [F(ρ), ρ] > ǫ)

˜

F = F(ρi)( la condition d’arrêt se calcule ici)

Fi+1 = (1− α)Fi+ α˜F

On diagonalise Fi+1 → Vi+1

ρi+1 = Vi+1PVi+1T

Il faut faire attention au fait que même si la diagonalisation de Fiest ordonnée (les vecteurs

sont triés en sortie), les orbitales dégénérées peuvent a priori sortir dans n’importe quel ordre.

Une méthode de mélange sur la matrice densité consiste à mélanger en perma- nence la matrice densité obtenue après diagonalisation de l’opérateur de Fock courant à la matrice densité courante, soit :

(Tant que [F(ρ), ρ] > ǫ)

Fi = F(ρi)( la condition d’arrêt se calcule ici)

On diagonalise F → Vi+1

˜

ρ = Vi+1PVTi+1

ρi+1 = (1− α)ρi+ α˜ρ

Cette méthode est soumise aux même défaut que la méthode précédente.

Une méthode de perturbation, dans laquelle la partie non-diagonale de l’opérateur de Fock écrit dans la base des vecteurs qui servent à le construire est traitée comme une perturbation à l’ordre le plus bas, soit :

(Tant que [F(ρ), ρ] > ǫ)

Fi = F(ρi)( la condition d’arrêt se calcule ici)

˜ F = VTi FiVi W = I e = diag(˜F) ∀ i, ~wi = ~wi+ X j ˜ Fij ei− ej Vi+1 = (1− α)Vi+ αViW

ρi+1 = Vi+1PVTi+1

Cette méthode peut nécessiter des diagonalisations partielles dans les cas où il y a des orbitales dégénérées. Elle a le mérite d’être continue dans les vecteurs, aux diagonalisations près, et on verra qu’elle peut permettre de résoudre les pathologies de convergence quand elles se posent.

Pour le reste du traitement, on note NF la méthode d’extrapolation par l’opérateur de Fock, NR la méthode par la matrice densité, NV celle qui utilise l’application de l’opérateur de Fock aux vecteurs, et NP la méthode par perturbation.