Résolution numérique d'une équation différentielle
(d'ordre 2 avec conditions aux limites)

Méthode pseudospectrale (Tchebychev),
sur les points de collocation de Gauss-Lobatto

1. Contexte, préambule, point de vue adopté,...

L'objectif, lorsqu'il s'agit de résoudre numériquement une équation différentielle, est d'évaluer (aussi précisément que possible) les valeurs prises par la solution (les valeurs nodales) en un certain nombre de points (les points de collocation). L'idée maîtresse sur laquelle repose cette approche est que, la solution numérique (celle obtenue aux points de collocation) tend vers la solution exacte du problème différentiel traité, l'approchant d'autant mieux que le nombre de valeurs nodales résolues est grand.
Dans le cadre de la méthode des différences finies, le degré d'approximation locale est fixe (typiquement d'ordre 2 ou 4) et la convergence, avec l'augmentation du nombre de points de collocation, vers la solution exacte est due au fait qu'une approximation de degré donné est d'autant plus précise que l'intervalle (la distance entre points de collocation voisins) sur lequel elle est construite est petit.
C'est sur ce point que diffère la méthode pseudospectrale: au lieu de figer le degré d'approximation local en chaque point de collocation et d'augmenter le nombre de ceux-ci, on construit une approximation globale (c.-à-d. basée sur l'ensemble de points de collocation). Cette approximation (polynômiale), de degré d'autant plus élevé que le nombre de point sur lequel elle est construite est grand, sera ainsi d'autant plus précise que le nombre de points de collocation employés est grand.

2. Procédure pour la résolution d'une équation différentielle avec conditions aux limites

La résolution numérique d'une équation différentielle linéaire, avec conditions aux limites, se résume à trois grandes étapes:
  1. La discrétisation du problème, c'est à dire le choix des points de collocation sur lesquels sera approximé l'équation différentielle. De ces points découle les expressions des dérivées (en ces mêmes points) qui permettent de construire le système linéaire liant les valeurs nodales entre elles.
  2. La prise en compte des conditions aux limites du problème: Au même tître que celles-ci complètent l'équation différentielle, leurs approximations numériques, injectées dans le système linéaire (relatif aux valeurs nodales) complètent ce dernier.
  3. La résolution du système linéaire liant les valeurs nodales entre elles.
Pour illustrer cela, considérons l'équation différentielle d'ordre deux suivante:
Equation différentielle d'ordre 2
Où les fonctions a2(x), a1(x), a0(x) et S(x) sont données (les jeux de conditions aux limites associés, et leur traitement, est discuté plus loin).

Etant donné qu'il s'agit en fin de compte de construire des approximations polynômiales de degré élevé, processus potentielement catastrophique (voir la page sur l'interpolation polynômiale), on est contraint d'utiliser des jeux de points de collocation adéquats.
On considère ici le jeu de points de collocation de Gauss-Lobatto (associés aux polynômes de Tchebychev).
Remarques:

2.1. Discrétisation du problème. Construction du système linéaire

Une fois le nombre de points de collocation (N+1), donc le degré polynômial (N) de l'approximation choisi, il faut retranscrire l'action de l'opérateur différentiel L aux valeurs nodales y i = y(x i), afin de construire le système matriciel L.y = S, où y est le vecteur contenant les valeurs nodales y i , S le vecteur source dont les éléments sont les S(x i). Les éléments de la matrice L sont donnés par: L ij = a2(x i) D ij(2) + a1(x i) D ij(1) + a0(x i) D ij(0) , où D(0) est la matrice identité, et D(1) et D(2) sont les matrices de dérivation première et seconde (dans l'espace physique) sur les points de Gauss-Lobatto.
Etant donné que l'expression de la matrice de dérivation première D(1) est connue, et que celle-ci permet de construire la matrice de dérivation seconde D(2) (puisque, dans le cadre de développements sur les polynômes de Tchebychev, cette dernière est simplement telle que: D(2)=D(1).D(1) ), la construction de la matrice L est immédiate.

2.2. Gestion des conditions aux limites

Le système linéaire L.yS ne rend compte que de l'équation différentielle étudiée. Or, celle-ci est assortie de conditions aux limites qu'il faut également retranscrire. Du point de vue du système linéaire, cela signifie que l'on dispose de deux contraintes complémentaires (sur les valeurs nodales extrêmes y0 et yN) à satisfaire. Ces contraintes, qui satisfont l'équation différentielle, sont à substituer aux expressions générales déduites ci-dessus. En clair, on remplace les équations relatives à y0 et yN (première et dernière lignes de la matrice L) par celles traduisant la discrétisation des conditions aux limites du problème.
Suivant la forme des conditions aux limites du problème à traiter, on distingue les types suivant:

Conditions aux limites de type Dirichlet
Les valeurs aux limites sont des données du problème: y(-1) = yA et y(1) = yB qui implique directement que les valeurs nodales y0 = yA et yN = yB sont connues. On peut donc aisément réécrire le système L.yS (système (N+1)×(N+1)) sous une forme plus réduite (système (N-1)×(N-1)) Lint.yintSred ne portant sur les valeurs nodales intérieures yi, i = 1,...,N-1, où Lint est simplement l'intérieur de la matrice L et Sred est le terme source modifié par l'injection des conditions aux limites, dont les éléments sont donnés par:
Lintij = L ij  pour i = 1,...,N-1 et j = 1,...,N-1
Sredi = S i - L i0 yA - L iN yB  pour i = 1,...,N-1

Conditions aux limites de type Neumann
Les valeurs des dérivées (premières) aux limites sont des données du problème: y'(-1) = y'A et y'(1) = y'B. En utilisant les relations entre les dérivés nodales y'0 = y'A et y'N = y'B et les valeurs nodales y i (les première et dernière lignes de la relation matricielle D(1).y = y'), on a:
Expression des conditions aux limites Neumann aux frontières des points de Gauss-Lobatto
Qu'il faut substituer aux première et dernière lignes du système L.yS.
Pour être tout à fait explicite, on construit donc le système (N+1)×(N+1): Lcl.yScl, dont les éléments sont:
Lcl0j = D(1)0j  pour j = 0,...,N
Lclij = L ij  pour i = 1,...,N-1 et j = 0,...,N
LclNj = D(1)Nj  pour j = 0,...,N
Scl0 = y'A  
Scli = S i  pour i = 1,...,N-1
SclN = y'B  

Conditions aux limites mixtes
Les valeurs aux limites et leurs dérivées sont donnéees par une relation linéaire entre elles, du type CA y(-1) + QA y'(-1) = KA et CB y(1) + QB y'(1) = KB; CA, QA, KA, CB, QB et KB étant des constantes connues.
En exprimant les dérivées nodales en fonction des valeurs nodales (comme pour le cas Neumann discuté ci-dessus), les relations aux frontières se traduisent par:
Expression des conditions aux limites mixtes aux frontières des points de Gauss-Lobatto
Ces expressions étant à substituer aux première et dernière lignes du système L.yS.
On construit donc le système (N+1)×(N+1): Lcl.yScl, dont les éléments sont:
Lcl00 = CA + QA D(1)00  
Lcl0j = QA D(1)0j  pour j = 1,...,N
Lclij = L ij  pour i = 1,...,N-1 et j = 0,...,N
LclNj = QB D(1)Nj  pour j = 0,...,N-1
LclNN = CB + QB D(1)NN  
Scl0 = KA  
Scli = S i  pour i = 1,...,N-1
SclN = KB  

2.3. Résolution du système linéaire

Une fois le système linéaire construit, il n'y a plus qu'à le résoudre (c.-à-d. à résoudre via votre solver linéaire préféré) pour en déduire les valeurs nodales yi recherchées.

3. Commentaires subsidiaires


  Liens connexes: Généralités sur les polynômes de Tchebychev, quadratures et points de collocation associés.
Expression des matrices de dérivation sur les points de collocation de Gauss-Lobatto.
Résolution numérique d'une équation différentielle par la méthode des différences finies.
Dernière mise à jour: 5/10/05
  Page: Arithmurgistan > Equations différentielles (résolution par méthode pseudospectrale)