function L = laplacian(nu,dx1,dx2,N1,N2) % % Cette fonction construit la matrice de l'opérateur Laplacien 2D anisotrope % % Inputs % ------ % % nu : nu=[nu1;nu2], coefficients de diffusivité dans les dierctions x1 et x2. % % dx1 : pas d'espace dans la direction x1. % % dx2 : pas d'espace dans la direction x2. % % N1 : nombre de points de grille dans la direction x1. % % N2 : nombre de points de grilles dans la direction x2. % % Outputs: % ------- % % L : Matrice de l'opérateur Laplacien (dimension N1N2 x N1N2) % % g1 = -nu(1)/dx1^2; g2 = -nu(2)/dx2^2; a = -2*(g1+g2); e = ones(N1*N2, 1); e_inf = e; e_inf([N1:N1:N1*N2-1]) = 0; e_sup = e; e_sup([N1+1:N1:N1*N2-1]) = 0; L = spdiags([g1*e g2*e_inf a*e g2*e_sup g1*e], [-N2 -1 0 1 N2], N1*N2, N1*N2); end