Stockage matriciel

Pages: 7 (1613 mots) Publié le: 13 mars 2011
Techniques de stockage matriciel pour la simulation numérique des phénomènes de transfert

M. El Gadari1, M. Saffi2 et A. Cheddadi3*

1ENSAM, Université Moulay Ismail, Meknès
2EST, Université Mohamed V, Rabat
3EMI, Université Mohamed V, Rabat
*auteur correspondant : cheddadi@emi.ac.ma

Introduction 

La présente étude vise la mise en évidence de la contribution de différentes méthodesde stockage matriciel à augmenter l’efficacité des codes de calcul numérique mettant en œuvre l’inversion de matrices, pour la simulation des phénomènes de transfert, notamment : Red & Black, Compressed Sparse Row (CSR), Compressed Sparse Column (CSC), Block Compressed Row Storage (BCRS), Compressed Diagonal Storage (CDS), Jagged Diagonal Storage (JDS) et Skyline Storage. Pour illustrer lesdivers aspects de cette étude, nous avons traité le problème de conduction thermique morte dans une plaque, en régime non stationnaire. La méthode des Différences Finies a été utilisée. Les résultats, ont été comparés avec les solutions issues d’un logiciel de simulation de la diffusion thermique 2D.

Discrétisation

On considère une plaque rectangulaire de longueur b suivant x et largeur a suivanty. On suppose connues les conditions aux limites T(x,0), T(x,b),T(a,y) et T(0,y). La méthode des différences finies discrétise l’espace en une grille de points régulièrement espacés suivant x d’une distance hx (hx = b/n, n étant le nombre de pas suivant x) et suivant y d’une distance hy (hy = a/m, m étant le nombre de pas suivant y); tels que m>2 et n>2.

Le temps est également discrétisé. Lasolution est calculée en un nombre fini de pas espacés d’une durée τ. La température est ici une fonction de trois variables : T(x,y,t) c’est à dire T(i.hx, j.hy , p.τ) = Tp(i,j). La condition initiale est donnée par : T0(i,j).
Pour la résolution, on envisage le schéma implicite :

D.Tp(i,j)= A.Tp+1(i,j) − B.Tp+1(i+1,j) − B. Tp+1(i−1,j) - C. Tp+1(i,j+1) − C.Tp+1(i,j−1)

Où : A=2/hx2+2/hy2+1/K.τ ; B=1/hx2;C=1/hy2 ; D= 1/K.τ

Résultats :

Avec la méthode de stockage direct (sans réduction de la taille de matrice) [1], nous avons constaté que la résolution du problème bloque lorsque la taille de la matrice dépasse 2500x2500 avec un nombre d’itérations égal à 2500. Ceci est dû aux limitations de la RAM (2Go), qui ne peut stocker 6,25.106 floats en une seule itération temporelle. Letemps de calcul atteint 5minutes, pour une taille de 1600x1600 avec 2000 itérations.

La matrice obtenue (exemple 402x402=1600x1600) est de forme : [pic] avec : A=[pic] et B=[pic]. A et B sont de dimension 40x40.

Pour soulager la mémoire allouée au stockage matriciel, et donc augmenter la capacité du stockage, nous avons songé au premier temps à la méthode de stockage par skyline [2], qui apu réduire les éléments nuls de 80% (nombre des « 0 » non enregistrés/ nombre des « 0 » totaux). Par contre, sous l’effet du problème de « remplissage », qui implique une occupation de mémoire accrue pour permettre le stockage des éléments supplémentaires non nuls, l'apparition de ces éléments augmente le nombre d'opérations effectuées pendant la factorisation.

Pour contourner ce problème, nousavons opté pour la technique de renumérotation des nœuds, c'est-à-dire, comparer (2,56.106 !) numérotations différentes, ce qui nous a poussés à s’orienter vers les méthodes probabilistes. L’idée, est d’utiliser l’opérateur random() pour la numérotation des nœuds, qui est une fonction définie, dans la bibliothèque C++. Cependant, il fallait compléter cette fonction pour éviter les nombres répétés.Mais vu le nombre immense des configurations à comparer, nous nous sommes contentés de fixer le nombre des itérations à 104 opérations random() différentes, et de choisir la meilleure numérotation qui correspond à un écart maximal entre les numéros des nœuds successifs. Le résultat issu de cette méthode conduit à une numérotation optimale où le maximum des écarts 889 et le minimum 858, avec un...
Lire le document complet

Veuillez vous inscrire pour avoir accès au document.

Vous pouvez également trouver ces documents utiles

  • Stockage
  • Stockage
  • Calcul matriciel
  • Métaloprotéases matricielles
  • Calcul matriciel
  • Stockage energie
  • Self stockage
  • stockage de blé

Devenez membre d'Etudier

Inscrivez-vous
c'est gratuit !