TP-equation-derivees-partie.../TP1/laplacian.m

40 lines
818 B
Mathematica
Raw Permalink Normal View History

2023-06-10 18:51:59 +00:00
function L = laplacian(nu,dx1,dx2,N1,N2)
%
% Cette fonction construit la matrice de l'op<EFBFBD>rateur Laplacien 2D anisotrope
%
% Inputs
% ------
%
% nu : nu=[nu1;nu2], coefficients de diffusivit<EFBFBD> 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<EFBFBD>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