Stencil (analyse numérique)

De testwiki
Aller à la navigation Aller à la recherche

Modèle:Homonyme

Le stencil de la méthode de Crank-Nicolson en une dimension.

En mathématiques, un stencil est une représentation géométrique d'un réseau nodal illustrant les points d'intérêt utilisés dans un schéma de discrétisation pour la résolution numérique des équations différentielles, notamment des équations aux dérivées partielles combinant variables temporelles et spatiales.

Les stencils peuvent être compacts ou non, selon les niveaux utilisés autour du point d'intérêt.

Étymologie

Les représentations graphiques d'arrangements nodaux et les coefficients associés sont vite apparus dans l’étude des équations aux dérivées partielles. Certains auteurs utilisent des termes différents comme « schémas de relaxation », « instructions opérantes », « logenzes » ou « schémas de points »[1]Modèle:,[2]. Le mot « stencil » a été retenu pour de tels schémas pour refléter l'utilisation d'un stencil sur une grille de calcul afin de repérer uniquement les points utiles[2].

Calcul de coefficients

Les coefficients de différences finies pour un stencil donné dépendent du choix des points. Ils peuvent s'obtenir par le calcul des dérivées des polynômes de Lagrange interpolant ces points[3], par résolution d'un système linéaire obtenu à partir d'un développement de Taylor autour de chaque point[4] ou en imposant que le stencil est exact pour chaque monôme jusqu'au degré du schéma[3]. Dans le cas des points équirépartis, on peut également utiliser efficacement l'approximant de Padé de Modèle:Math, avec Modèle:Mvar l'ordre de dérivation recherché et Modèle:Mvar la « distance » entre les nœuds de calcul les plus à gauche sur les deux étages du stencil[5].

Avec les polynômes interpolateurs de Lagrange

Un moyen d'obtenir les poids des différences finies est de passer par la dérivation du polynôme interpolateur de Lagrange aux nœuds de calcul du stencil choisi. Pour un stencil de longueur n, on note les polynômes d'interpolation :

j(ξ)=i=0,ijnξxixjxi,

On obtient ainsi un polynôme Modèle:Math de degré n interpolant Modèle:Math en ces n points

pn(x)=j=0nf(xj)j(x)

et de son polynôme dérivé

pn(x)=j=0nf(xj)'j(x).

Ainsi, on a l'approximation de la dérivée première au point Modèle:Mvar avec :

f(xc)=j=0nf(xj)'j(xc)+O(hn).

Le calcul des coefficients (j(xc)) permet de retrouver les coefficients obtenus auparavant.

On remarque que la formule est totalement définie sans un pas de discrétisation, ce qui la rend directement applicable aux grilles non uniformes.

Avec les approximants de Padé

Les coefficients de pondération des schémas peuvent être également déterminés par un approximant de Padé, dans le cas où le schéma est semi-implicite.

On considère un stencil de la forme :

k=0mbkf(d)(xk)j=sncjf(xj)

où les points Modèle:Mvar sont sur une grille régulière de pas Modèle:Mvar, soit donc Modèle:Math. On remplace Modèle:Math :

k=0mbk(iω)deiωxk=j=sncjeiωxj  eiωx(iω)dk=0mbkeiωkh=eiωxj=sncjeiωjh=eiωxeiωshj=0n+scjseiωjh

On pose Modèle:Math. Le schéma se réécrit alors, par abus de notation :

ξs(lnξh)d=j=0ncjξjk=0mbkξk.

Les coefficients optimaux s'obtiennent donc en calculant l'approximant de Padé d'ordre Modèle:Math autour de Modèle:Math.

Compacité du stencil

Un stencil compact 2D utilisant le nœud central (en rouge) et les 8 nœuds adjacents.

Un stencil compact n'utilise que neuf points pour la discrétisation en 2D, en l'occurrence le nœud central et les nœuds adjacents. Ainsi, sur une grille structurée utilisant un stencil compact en dimension 1, 2 ou 3, le nombre maximum de nœuds utilisés est de 3, 9 ou 27 respectivement.

Les stencils compacts sont couramment utilisés et sont au cœur de plusieurs solveurs basant leurs modèles sur des équations aux dérivées partielles[6]Modèle:,[7]

Un stencil non compact 2D.

À l'inverse, un stencil non compact peut faire intervenir tout nœud du voisinage du nœud d'intérêt. Le principal désavantage est que l’utilisation de points éloignés va augmenter le temps de calcul nécessaire à la résolution.

Modèle:Clr

Stencils en une dimension

À deux points

Le stencil à deux points pour la dérivée première d'une fonction est donné par :

f(x0)=f(x0+h)f(x0h)2h+O(h2).

qui est obtenu classiquement par un développement limité autour de Modèle:Math :

f(x0)=f(x0+h)f(x0)hf(2)(x0)2!hf(3)(x0)3!h2f(4)(x0)4!h3+f(x0)=f(x0h)f(x0)h+f(2)(x0)2!hf(3)(x0)3!h2+f(4)(x0)4!h3+
À trois points

Le stencil à trois points pour la dérivée seconde d'une fonction est donné par :

f(x0)=f(x0+h)2f(x0)+f(x0h)h2+O(h2).

Ce stencil compact est le plus usuel pour cette dérivée.

À cinq points

Le stencil à 5 points en une dimension s'étend sur la grille

 {x02h,x0h,x0,x0+h,x0+2h}.

Le stencil pour la dérivée première est donné par :

f(x0)f(x0+2h)+8f(x0+h)8f(x0h)+f(x02h)12h

Il est obtenu à partir des développements limités autour de Modèle:Math de Modèle:Math et Modèle:Math jusqu'à l'ordre 3 (5 si on cherche également une estimation de l'erreur) et en recombinant les quatre équations obtenues. On remarque ainsi qu'on a :

f(x+h)f(xh)=2hf(x)+h33f(3)(x)+O(h4)f(x+2h)f(x2h)=4hf(x)+8h33f(3)(x)+O(h4)

dont on tire :

8(f(x+h)f(xh))(f(x+2h)f(x2h))=12hf(x)+O(h4)

Formellement, on devrait avoir des O(h 5) mais on peut l'écrire ainsi sans perte de généralités dans ce cadre.

Le jeu de coefficients (8, -8,-1,1) obtenu ici est un cas spécifique de l'algorithme de Savitzky-Golay.

Estimation de l'erreur

En utilisant les termes d'ordre supérieur (négligés pour l'obtention du stencil), on a une estimation de l'erreur de ce schéma [8] :

f(x+2h)+8f(x+h)8f(xh)+f(x2h)12h=f(x)130f(5)(x)h4+O(h5).

Dérivées d'ordres supérieurs

Sur un schéma à cinq points, on peut obtenir des formules centrées (avec une symétrie dans les coefficients autour du nœud central) pour les dérivées d'ordres supérieurs[8] :

f(x)f(x+2h)+16f(x+h)30f(x)+16f(xh)f(x2h)12h2+O(h4)f(3)(x)f(x+2h)2f(x+h)+2f(xh)f(x2h)2h3+O(h2)f(4)(x)f(x+2h)4f(x+h)+6f(x)4f(xh)+f(x2h)h4+O(h2)

Deux dimensions

Sur une grille régulière 2D, le stencil à 5 points autour du nœud (xy) est donc donné par :

{(xh,y),(x,y),(x+h,y),(x,yh),(x,y+h)},

Il forme donc un quinconce.

Il apparait dans le calcul du laplacien discret d'une fonction à deux variables[9]:

Δf(x,y)f(xh,y)+f(x+h,y)+f(x,yh)+f(x,y+h)4f(x,y)h2+O(h2).

Stencils des schémas numériques usuelles

Modèle:…

Les stencils sont représentés graphiquement sur une grille : le nœud Modèle:Math correspond au point Modèle:Math utilisé dans le schéma.

Références

Modèle:Traduction/Référence Modèle:Traduction/Référence Modèle:Traduction/Référence Modèle:Références

Voir aussi

Bibliographie

Articles connexes

Modèle:Palette

Modèle:Portail

  1. Modèle:Article
  2. 2,0 et 2,1 Modèle:Ouvrage
  3. 3,0 et 3,1 Modèle:Ouvrage
  4. Modèle:Lien web
  5. Modèle:Article
  6. W. F. Spotz. High-Order Compact Finite Difference Schemes for Computational Mechanics. PhD thesis, University of Texas at Austin, Austin, TX, 1995.
  7. Communications in Numerical Methods in Engineering, Copyright © 2008 John Wiley & Sons, Ltd.
  8. 8,0 et 8,1 Abramowitz & Stegun, Table 25.2
  9. Abramowitz & Stegun, 25.3.30