6. Construction de la matrice PETSc#

6.1. Modèle de données PETSc#

PETSc propose un type de données Mat. Ce type de données suppose, en parallèle, que la matrice est répartie sur les processeurs disponibles par groupe de lignes contiguës.

Il faut donc redistribuer la matrice Code_Aster . On construit une nouvelle numérotation globale pour PETSc. Dans cette numérotation, un degré de liberté qui n’appartient qu’à un processeur est affecté à ce processeur et un degré de liberté partagé par plusieurs processeurs appartient au processeur de rang inférieur.

Remarque :

PETSc stocke la matrice en entier (pas de stockage symétrique).

PETSc utilise la convention C d’indiçage des tableaux (de 0 à N-1 pour un tableau de taille N).

6.2. Descripteur de matrice pour la modélisation B#

La correspondance entre la numérotation locale de la matrice et sa numérotation globale pour PETSc est donnée par le tableau NUML.NLGP. On indique dans le tableau suivant les trois numérotations pour la modélisation B: \({i}_{l}\) est l’indice local, \({i}_{g}\) l’indice global pur la numérotation Code_Aster et \({i}_{\mathit{gp}}\) l’indice global pour PETSc.

_images/100000000000080300000C83D4BC74F82FEFE6BB.png