next up previous contents
Next: Une fonction de Up: LEÇON : Frontières Previous: Fichier pour la triangulation

Renumérotations

Si l'on souhaite résoudre les systèmes linéaires par une méthode de Gauss il est indispensable de renuméroter les noeuds et éventuellement les éléments d'un maillage (méthode frontale).

De nombreuses méthodes existent pour effectuer ce type d'opérations. Nous allons décrire en détails la méthode de Gibbs qui est entièrement automatique et nous mentionnerons très brièvement d'autres approches.

Afin de pouvoir décrire cet algorithme, nous allons introduire (ou rappeler) les notations suivantes:

La renumérotation des noeuds, selon la méthode de Gibbs, comprend formellement trois étapes consistant en:

Nous allons maintenant détailler ces trois phases; en premier lieu nous définissons les notations supplémentaires suivantes:

Les trois phases consistent alors en:

Le résultat nous donne un noeud y, extrémité d'un pseudo-diamètre dont l'autre extrémité x est un point du dernier niveau de la descendance de y tel que son degré soit minimal.

La phase deux de la méthode est alors entreprise:

x et D(x) = (N1(x),...,Np(x) )

y et D(y) = {N1(y),...,Np(y))

les descendances des points du pseudo-diamètre; on cherche à construire D=( N1,...,Np ) qui nous donnera la nouvelle numérotation des noeuds. Ce processus se décompose en plusieurs phases:

Si G = 0 aller à l'étape finale (Numérotation selon C.McK.)

Sinon on classe selon leur cardinal les t composantes connexes Ck du graphe G et on cherche à répartir les noeuds restants dans les niveaux Ni comme suit:

Soient h0 = max(m=1...p)( hm tel que hm-nm positif ) et

l0 = max(m=1...p)(lm tel que lm-nm positif)

Fin de boucle.

Ainsi une bonne répartition des noeuds est obtenue dans les différents niveaux.

Si d(y) est pus petit que d(x) , on échange x et y et on renverse les niveaux associés:

N(p-i+1) = Ni pour i=1...p

Notons NEW(x) le nouveau numéro correspondant à l'ancienne valeur n du noeud x. On pose:

NEW(x) = 1

Initialisation: n=1 et N0 = (x)

On boucle alors sur les p niveaux de la descendance:

Fin de boucle.

Alors :

c'est le renversement de la renumérotation dont l'intérêt est dû au résultat suivant: la largeur du profil est globalement meilleure ou au moins aussi bonne que la largeur avant renversement.

Cet algorithme est très performant pour réduire le profil d'une matrice, c'est-à-dire pour minimiser la différence entre les numéros des noeuds d'un même élément.

Pour illustrer cette propriété, nous allons donner quelques exemples. Nous introduisons les définitions suivantes:

Le profil total est la somme du nombre de colonnes (resp. lignes) comprises entre la première colonne (resp. ligne) non vide et la diagonale (dans le cas d'une matrice symétrique).

Le profil moyen est le quotient de cette valeur par le nombre de colonnes (lignes).

La largeur (ou largeur de bande) est le maximum des écarts entre la première colonne (ligne) remplie et la diagonale (dans le cas symétrique encore une fois). Cette largeur est la quantité que l'on cherche à minimiser dans le cas des méthodes de résolution directe.


tabular461

Tableau 13.1 : Profil initial et profil après renumérotation.


tabular465
Tableau : Renumérotation effectuée sur un maillage déjà renuméroté.




next up previous contents
Next: Une fonction de Up: LEÇON : Frontières Previous: Fichier pour la triangulation

Pironneau Olivier
Jeudi 12 mars 1998 16:24:39