• Aucun résultat trouvé

«Uningénieur,desordinateurs,desnombres»«Uningénieur,desordinateurs,desnombres» 08/12/2017 LaydineYoussouf AssemblagedematricesdetypedifférencesfiniessousMATLAB/Octave:algorithmesetperformances

N/A
N/A
Protected

Academic year: 2022

Partager "«Uningénieur,desordinateurs,desnombres»«Uningénieur,desordinateurs,desnombres» 08/12/2017 LaydineYoussouf AssemblagedematricesdetypedifférencesfiniessousMATLAB/Octave:algorithmesetperformances"

Copied!
31
0
0

Texte intégral

(1)Problème modèle. Algorithmes de remplissage. Benchmarking. Assemblage de matrices de type différences finies sous MATLAB/Octave: algorithmes et performances Laydine Youssouf Mαthémαtiques Appliquées et Cαlcul Scieηtifiquε. 08/12/2017. «Un «Un ingénieur, ingénieur, des des ordinateurs, ordinateurs, des des nombres» nombres» 1/31.

(2) Problème modèle. Algorithmes de remplissage. Benchmarking. Equation de Laplace 1D Conditions limites mixtes. a. b. −κu 00 (x) = f (x). ∀x ∈]a, b[. (1a). 0. (1b). 0. (1c). α1 u(a) + β1 u (a) = γ1 α2 u(b) + β2 u (b) = γ2. 2/31.

(3) Problème modèle. Algorithmes de remplissage. Benchmarking. Schéma numérique Discrétisation à l’ordre 2. ui+1 − 2ui + ui−1 = −h2 fi ν1 u0 + 4β1 u1 − 2β1 u2 = 2hγ1 ν2 un − 4β2 un−1 + 2β2 un−2 = 2hγ2. ∀i ∈ J1, nJ. (2a) (2b) (2c). Ecriture matricielle associée : AU = Fb. (3). 3/31.

(4) Problème modèle. Algorithmes de remplissage. Benchmarking. Forme matricielle Avec conditions limites.   ν1 4β1 −2β1 0 0  ..   1 −2 1 0 .     .. .. A =  0 ...  . . 0    ..  . 0 1 −2 1 0 0 2β2 −4β2 ν2     u0 2hγ1  u1   −h2 f1          .. U =  ...  , Fb =      2.  un−1  −h fn−1  un 2hγ2 4/31.

(5) Problème modèle. Algorithmes de remplissage. Benchmarking. Objectif : construire rapidement et efficacement A et Fb sans les conditions limites.    2  −2 1 0 0 0 h f0   ..  2  1 −2 1   0 .    h f1      . A =  0 . . . . . . . . . 0  , Fb = −  ..     2   ..  h fn−1   . 0 1 −2 1  h2 fn 0 0 0 1 −2. 5/31.

(6) Problème modèle. Algorithmes de remplissage. Algorithme 1 Fonction initsyscore1d [alisc-nsnv] Entrée(s) : x, κ, f Sortie(s) : A, Fb 1: Fonction initsyscore1d(x, κ, f ) 2: n ←taille(x) 3: A ←zeros(n, n), Fb ←zeros(n, 1) 4: c ← −(x(2) − x(1))2 /κ 5: A(1, 1) = −2, A(1, 2) = 1 6: A(n, n) = −2, A(n, n − 1) = 1 7: Pour i = 2 à n − 1 Faire 8: A(i, i − 1) ← 1 9: A(i, i) ← −2 10: A(i, i + 1) ← 1 11: Fb(i) ← c ∗ f (x(i)) 12: Fin Pour 13: Fin Fonction. Benchmarking. . arbitraire . arbitraire. 6/31.

(7) Problème modèle. Algorithmes de remplissage. Algorithme 2 Fonction initsyscore1d [alisc-snv] Entrée(s) : x, κ, f Sortie(s) : A, Fb 1: Fonction initsyscore1d(x, κ, f ) 2: n ←taille(x) 3: A ←sparse(n, n), Fb ←zeros(n, 1) 4: c ← −(x(2) − x(1))2 /κ 5: A(1, 1) = −2, A(1, 2) = 1 6: A(n, n) = −2, A(n, n − 1) = 1 7: Pour i = 2 à n − 1 Faire 8: A(i, i − 1) ← 1 9: A(i, i) ← −2 10: A(i, i + 1) ← 1 11: Fb(i) ← c ∗ f (x(i)) 12: Fin Pour 13: Fin Fonction. Benchmarking. . arbitraire . arbitraire. 7/31.

(8) Problème modèle. Algorithmes de remplissage. Benchmarking. Algorithme 3 Fonction initsyscore1d [alisc-sv] Entrée(s) : x, κ, f Sortie(s) : A, Fb 1: Fonction initsyscore1d(x, κ, f ) 2: n ←taille(x) 3: c ← −(x(2) − x(1))2 /κ 4: Fb ← c ∗ f (x) 5: i = [1 : n, 2 : n, 1 : n − 1] 6: j = [1 : n, 1 : n − 1, 2 : n] 7: nz = [−2∗ones(1, n), ones(1, n − 1), ones(1, n − 1)] 8: A ←sparse(i, j, nz) 9: Fin Fonction. 8/31.

(9) Problème modèle. Algorithmes de remplissage. Benchmarking. Algorithme 4 Fonction initsyscore1d [alisc-svs] Entrée(s) : x, κ, f Sortie(s) : A, Fb 1: Fonction initsyscore1d(x, κ, f ) 2: n ←taille(x) 3: c ← −(x(2) − x(1))2 /κ 4: Fb ← c ∗ f (x) 5: i = [1 : n, 2 : n] 6: j = [1 : n, 1 : n − 1] 7: nz = [−ones(1, n), ones(1, n − 1)] 8: A ←sparse(i, j, nz)+sparse(j, i, nz) 9: Fin Fonction. 9/31.

(10) Problème modèle. Algorithmes de remplissage. Benchmarking. Algorithme 5 Fonction initsyscore1d [alisc-svt] Entrée(s) : x, κ, f Sortie(s) : A, Fb 1: Fonction initsyscore1d(x, κ, f ) 2: n ←taille(x) 3: c ← −(x(2) − x(1))2 /κ 4: Fb ← c ∗ f (x) 5: A ←sparse(1 : n, 1 : n, −2 ∗ ones(1, n)) +sparse(2 : n, 1 : n − 1, −ones(1, n − 1), n, n) +sparse(1 : n − 1, 2 : n, −ones(1, n − 1), n, n) 6: Fin Fonction. 10/31.

(11) Problème modèle. Algorithmes de remplissage. Benchmarking. Cas test. uex (x) = sin(x cos(x)), x ∈ [0, 2π] f (x) =. 00 −uex (x),. x ∈]0, 2π[. −u 00 (x) = f (x), x ∈]0, 2π[ γ1 = uex (0) γ2 =. 0 uex (2π). (4a) (4b) (5a) (5b) (5c). Configurations matérielles : Processeur : Intel Core i9-7940X CPU @ 3.10GHz Mémoire : 62.6 Go OS : Ubuntu 17.10 11/31.

(12) Problème modèle. Algorithmes de remplissage. Benchmarking. MATLAB R2017a. All modes Assemblage. 12/31.

(13) Problème modèle. Algorithmes de remplissage. Benchmarking. MATLAB R2017a. All modes Résolution. 13/31.

(14) Problème modèle. Algorithmes de remplissage. Benchmarking. MATLAB R2017a. All modes Assemblage + résolution. 14/31.

(15) Problème modèle. Algorithmes de remplissage. Benchmarking. MATLAB R2017a. All modes Taille mémoire matrice de discrétisation. 15/31.

(16) Problème modèle. Algorithmes de remplissage. Benchmarking. MATLAB R2017a. Sparse modes Assemblage. 16/31.

(17) Problème modèle. Algorithmes de remplissage. Benchmarking. MATLAB R2017a. Sparse modes Résolution. 17/31.

(18) Problème modèle. Algorithmes de remplissage. Benchmarking. MATLAB R2017a. Sparse modes Assemblage + résolution. 18/31.

(19) Problème modèle. Algorithmes de remplissage. Benchmarking. MATLAB R2017a. Vectorized sparse modes Assemblage. 19/31.

(20) Problème modèle. Algorithmes de remplissage. Benchmarking. MATLAB R2017a. Vectorized sparse modes Résolution. 20/31.

(21) Problème modèle. Algorithmes de remplissage. Benchmarking. MATLAB R2017a. Vectorized sparse modes Assemblage + résolution. 21/31.

(22) Problème modèle. Algorithmes de remplissage. Benchmarking. Octave 4.2.1. All modes Assemblage. 22/31.

(23) Problème modèle. Algorithmes de remplissage. Benchmarking. Octave 4.2.1. All modes Résolution. 23/31.

(24) Problème modèle. Algorithmes de remplissage. Benchmarking. Octave 4.2.1. All modes Assemblage + résolution. 24/31.

(25) Problème modèle. Algorithmes de remplissage. Benchmarking. Octave 4.2.1. All modes Taille mémoire matrice de discrétisation. 25/31.

(26) Problème modèle. Algorithmes de remplissage. Benchmarking. Octave 4.2.1. Sparse modes Assemblage. 26/31.

(27) Problème modèle. Algorithmes de remplissage. Benchmarking. Octave 4.2.1. Sparse modes Résolution. 27/31.

(28) Problème modèle. Algorithmes de remplissage. Benchmarking. Octave 4.2.1. Sparse modes Assemblage + résolution. 28/31.

(29) Problème modèle. Algorithmes de remplissage. Benchmarking. Octave 4.2.1. Vectorized sparse modes Assemblage. 29/31.

(30) Problème modèle. Algorithmes de remplissage. Benchmarking. Octave 4.2.1. Vectorized sparse modes Résolution. 30/31.

(31) Problème modèle. Algorithmes de remplissage. Benchmarking. Octave 4.2.1. Vectorized sparse modes Assemblage + résolution. 31/31.

(32)

Références

Documents relatifs

• Pour comprendre les erreurs associées à un schéma, il faut réaliser une analyse plus poussée, dans une situation encore plus simple!. C’est l’objet de

Pour appeler le programme sur lequel vous travaillez, appeler main (sans le .m) depuis la console octave dans le r´ epertoire courant.. – Afin de palier les probl` emes

Dans le désert de Judée (IMAGE) : pour tous ceux et celles qui se sentent seuls ou abandonnés pendant cette période de pandémie, afin que la joie du Christ ressuscité leur

C’est un ensemble industriel, localisé sur un même site, qui transforme la biomasse agricole et forestière en une diversité de produits biosourcés (alimentation humaine et

Ce cours a pour but d’apprendre les bases pour l’utilisation d’un logiciel de calcul scientifique, ici Octave.. Des logiciels comme Matlab, Octave ou Scilab sont utilis´ es en

Dans l´antiquité, Pythagore a tenté de déterminer le rapport de fréquence entre les notes en les exprimant en fractions de nombres entiers (tableau ci-contre).. Le Sol est

Début d’une amitié indéfectible pour Claude Monet et Auguste Rodin, dont il est le premier à décrire la Porte de l’Enfer.. Se lie aussi avec Henry Becque, Henri Lavedan,

Nous distinguons les fonctions math´ ematiques (applicables sur tous types de variables), les fonctions concernant sp´ ecifiquement les vecteurs et les matrices, les fonctions