next up previous contents
suivant: Calcul de l'erreur d'une monter: Présentation de la méthode précédent: Historique   Table des matières

Sous-sections


Aspects Théoriques


Cas d'un espace à une dimension

On introduit la fonction g(x) définie sur le domaine \(\Omega\), dans l'espace de coordonnées X. Dans le cas d'un espace à une dimension, X signifie x; (x,y) dans un espace à 2 Dimensions et (x,y,z) en 3D.
Dans un premier temps, il faut choisir une base de fonctions qui servira à construire l'interpolation. Cette base est constituée de monômes définis dans l'espace X. on note cette base P(X). On note m la dimension de cette base.
Voici, dans des espaces à 1 ou 2 dimensions des exemples de bases :

Construisons alors l'interpolation d'une fonction g(x) en dimension 1 :

Supposons connues les valeurs nodales \(g_{I}\)=g(\(x_{I}\))

Figure 4.1: Les N valeurs nodales de la fonction
\scalebox{0.6}{\includegraphics{images/fct_mlsa2.eps}}

On définit ensuite pour chacun de ces noeuds un domaine d'influence caractérisé par son diamètre d'influence \(d_{infl,I}\). On introduit aussi à chaque noeud une fonction de poids, \(w_{I}(X)\)= \(w_{I}(X-X_{I})\) qui est positive sur le domaine d'influence du noeud, vaut 1 en \(X=X_{I}\), et est nulle en dehors du domaine.

\scalebox{0.8}{\includegraphics{images/fct_mlsa8.eps}}

Déterminons l'approximation de la fonction g en un point \(X^{*}\). Pour cela, on calcule en ce point les valeurs des fonctions de poids des n points qui influencent \(X^{*}\). (Ce sont tous les noeuds contenant \(X^{*}\) dans leur domaine d'influence.) (\(n\leq N\)).

Figure 4.2: Noeuds influents
\scalebox{0.60}{\includegraphics{images/fct_mlsa3.eps}}

L'approximation des moindres carrés pondérés au voisinage de \(X^{*}\) peut s'écrire :

$\displaystyle (L^{X^{*}})(X)=\{p(X)\}^{T}\cdot\{a*\}$     (4.1)

On détermine les coefficients a* en minimisant l'expression suivante par rapport aux composantes \(a_{i}\) de a* :

$\displaystyle min_{ \{a*\}}\sum^{n}_{i=1}w_{i}(X^{*})\cdot(\{p(X_{i})\}^{T}\cdot\{a*\}-g_{i})^{2}$     (4.2)

On remarque que la spécificité de l'interpolation par moindres carrés pondérés est que le poids (donc l'influence d'un noeud) augmente si celui-ci est proche de X*. On obtient donc une courbe (dont l'ordre dépend de la base) qui ajuste au mieux les n noeuds influençant X*.
Le cas suivant est obtenu avec une base linéaire :

\scalebox{0.60}{\includegraphics{images/fct_mlsa4.eps}}

On peut ensuite réitérer cette approximation en un point X** quelconque :

\scalebox{0.60}{\includegraphics{images/fct_mlsa5.eps}}
Si on appelle \(g^{h}(X*)=(L^{X^{*}})(X*)\), on peut écrire cette fonction de X* comme une fonction de X, et donc :


$\displaystyle g^{h}(X)=\{p(X)\}^{T}\cdot\{a(X)\}$     (4.3)

\(\{a(X)\}\) est évalué pour tout X en minimisant la norme \(L^{2}\) pondérée discrète suivante :

$\displaystyle J=\frac{1}{2}\sum^{n(X)}_{i=1}w_{i}(X^{*})\cdot(\{p(X_{i})\}^{T}\cdot\{a(X)\}-g_{i})^{2}$     (4.4)

avec \(n(X)\in \mathbf{N}\), le nombre de noeuds influençant le point de coordonnées X.
Il faut remarquer que les coefficients de {a(X)} sont variables. L'interpolation \(g^{h}(X)\) est donc une fonction non rationnelle et non polynomiale même si sa base l'est. Dans le cas présenté, la fonction interpolée est l'enveloppe de la famille de droites définies en tout point X.

\scalebox{0.60}{\includegraphics{images/fct_mlsa6.eps}}
Résultat d'une interpolation par moindres carrés pondérés à coefficients variables.


Détermination du vecteur {a(X)}

Pour déterminer les coefficients \(a_{k}\) de {a(X)} (coefficients d'interpolation), il faut minimiser la norme J définie plus tôt (4.4). Cette minimisation s'écrit :
$\displaystyle \frac{\partial J}{\partial a_{k}}=0$ $\textstyle \forall k=1...m$   (4.5)

En dévéloppant cette expression sous forme matricielle, on trouve :
$\displaystyle \{a(X)\}=\left[A(X)\right]^{-1}\cdot \left[C(X)\right]\cdot \{g\}$     (4.6)

Avec : \(\left[A(X)\right]\), matrice de (m x m)


$\displaystyle [A(X)]=\sum^{n}_{i=1}[w_{i}(X)\cdot \{p(X_{i})\} \cdot \{p(X_{i})^{T}]$     (4.7)

et \(\left[C(X)\right]\), matrice de (m x m) :


$\displaystyle [C(X)]=[w_{i}(X)\cdot \{p(X_{i})\},\cdots, w_{n}(X)\cdot \{p(X_{n})\}]$     (4.8)


Expression des fonctions de forme

Connaissant {a(X)}, on peut maintenant obtenir \(g^{h}(X)\) en fonction des valeurs à interpoler {g} :


$\displaystyle g^{h}(X)=\{p(X)\}^{T} \cdot \left[A(X)\right] \cdot \left[C(X)\right] \cdot \{g\}$     (4.9)

On peut donc définir les fonctions de forme par le vecteur :


$\displaystyle \{N_{1}(X),\cdots,N_{n}(X)\}=\{p(X)\}^{T} \cdot \left[A(X)\right] \cdot \left[C(X)\right]$     (4.10)

Donc :

$\displaystyle N_{i}(X)=\{\{p(X)\}^{T} \cdot \left[A(X)\right]^{-1} \cdot \left[C(X)\right]\}_{i}$     (4.11)

La fonction interpolée en X peut donc s'écrire classiquement sous la forme :

$\displaystyle g^{h}(X)=\sum _{i=1}^{n} N_{i}(X).g_{i}$     (4.12)

On peut montrer que cette interpolation est consistante. La consistance quantifie la capacité d'une interpolation à représenter exactement toute fonction engendrée par l'espace {p(X)}.
De plus, il faut noter que \(N_{i}(x_{j}) \neq \delta_{ij} \). On ne peut donc pas simplement forcer un déplacement, comme en éléments finis. C'est pourquoi on a introduit les multiplicateurs de Lagrange dans la formulation du problème (Chapitre 3.6).


Passage en 2D

On peut ensuite facilement passer de l'exemple 1D à l'exemple 2D, en procédant de la même façon qu'en EF pour passer d'une modélisation poutre à une modélisation 2D.

Cette fois-ci, le domaine d'influence est un cercle (ce n'est pas obligatoire. En effet, tout polygone convexe comme les carrés, les rectangles peut être utilisé pour délimiter les domaines d'influence).

Figure: Domaines d'influence à 2 Dimensions
\scalebox{0.70}{\includegraphics{images/fct_mlsa7.eps}} \scalebox{0.70}{\includegraphics{images/fct_mlsa9.eps}}

Figure 4.4: Fonction de Poids en 2D (domaine d'influence circulaire)
\scalebox{0.60}{\includegraphics{images/fct_poids.eps}}

Le vecteur des pressions nodales est noté \(\{p\}^{T}\) :

$\displaystyle \{p\}^{T}=\{p_{1},p_{2},\cdots,p_{n-1},p_{n}\}$     (4.13)

On a, de plus : \(p^{h}=\sum p_{i} N_{i}\). Ce qui donne, comme en EF la relation matricielle suivante :


$\displaystyle p^{h}(x,y)=\{N_{1}(x,y),N_{2}(x,y),\cdots,N_{n}(x,y)\} \cdot
\left\{
\begin{array}{c}
p_{1}\\
p_{2}\\
\vdots p_{n}
\end{array}\right\}$     (4.14)

On peut aussi écrire (4.14) sous cette forme :

$\displaystyle p^{h}(x,y)=\left[N(x,y)\right] \cdot \{p\}_{d}$     (4.15)

Avec :

$\displaystyle N_{i}(x,y)=\{ \{p(x,y)\}^{T} \cdot \left[A(x,y)\right]^{-1} \cdot \left[C(x,y)\right]\}_{i}$ $\textstyle i=1 \cdots n$   (4.16)


Condition nécessaire d'existence

On a vu précédemment (4.16) que le calcul des fonctions de formes imposait l'inversion de la matrice m x m \( \left[A(x,y)\right] \), mais cette matrice n'est pas toujours inversible. On remarque cependant (4.7) qu'elle est la somme de n matrices de rang 1. Pour qu'elle soit inversible, il faut que son rang soit égal à m. Une condition nécessaire à cela est que chaque point soit influencé par au moins m noeuds. En effet, le rang d'une somme de matrices est inférieur ou égal à la somme des rangs de ces matrices, le rang de A est donc inférieur ou égal à n.
Il faudra donc avoir une taille de domaines telle que \fbox{\(n\geq m\)}

Ce qui est équivalent à :
Pour que l'interpolation par moindres carrés pondérés à coefficients variables soit définie sur tout le domaine considéré, il faut que le nombre de noeuds influençant tout point X soit au moins égal à la dimension de la base choisie pour l'interpolation.


Application au problème d'acoustique.

On approximera la pression et sa variation par :

$\displaystyle p^{h}(x,y)=\left[N(x,y)\right] \cdot \{p\}$ $\textstyle \delta p^{h}(x,y)=\left[N(x,y)\right] \cdot \{\delta p\}$   (4.17)

On approximera aussi les multiplicateurs de Lagrange par :

$\displaystyle \lambda ^{h}=\left[\mathcal{N} \right] \cdot \{\lambda \}$ $\textstyle \delta \lambda^{h}=\left[\mathcal{N} \right] \cdot \{\delta \lambda\}$   (4.18)

avec \(\mathcal{N}\) l'interpolant des multiplicateurs de Lagrange, qui ne doit pas obligatoirement être le même que pour N.

En introduisant (4.17) et (4.18) dans la formulation variationnelle, on obtient le système suivant :

$\displaystyle \left[
\begin{array}{cc}\left[K\right]+j\:\rho\:c\:k\:\left[C\rig...
...ight\}
=
\left\{
\begin{array}{cc}-j\:\rho\:c\:k\:f\\
b\\
\end{array}\right\}$     (4.19)

Avec :


La résolution d'un problème d'acoustique en EFGM peut donc s'écrire sous forme de la résolution d'un système linéaire (4.19) (Comme en EF).
La présence de multiplicateurs de Lagrange augmente sensiblement la taille du système, donc son temps de résolution. Cependant, il est très rare qu'un cas où la pression est fixée se présente dans la réalité. L'utilisation de ces multiplicateurs, ne sera donc, dans la plupart des cas pas nécessaire.


Approximation d'onde localement plane.

On a vu précédemment que l'un des avantages de la méthode meshless était de pouvoir intégrer dans sa base une forme de la solution exacte du problème. C'est, pour un grand nombre de méthodes de calculs numériques en dynamique un des axes de recherche actuels. Des articles ([15]) ont déjà présenté des moyens d'annuler l'erreur de pollution en acoustique 1D. Cette méthode se proposait d'utiliser une base :


Cependant, ces méthodes n'annulent l'erreur que pour un nombre fini d'angles de propagation (voir [13]) . Afin d'éliminer l'erreur quelque soit la direction de propagation, il faudrait que l'onde soit plane, et que l'on connaisse en chaque point \(\widetilde{\alpha}\).
Or, une hypothèse physique commune consiste à considérer la propagation d'une onde quelconque comme plane localement. On peut donc écrire en chaque point M(x,y) :

$\displaystyle P(x,y)=P\cdot e^{j\underline{k} \cdot \underline{X}}$     (4.26)

Avec:

$\displaystyle \underline{k}=
\left\vert
\begin{array}{c}
k\cdot cos(\alpha)\\
k\cdot sin(\alpha)\\
\end{array}\right.$     (4.27)

d'où :


$\displaystyle P(x,y)=P\cdot cos(k\:(x\cdot cos(\alpha)+y\cdot sin(\alpha)))+j\:sin(k\:(x\cdot cos(\alpha)+y\cdot sin(\alpha)))$     (4.28)

En posant :
$\displaystyle \theta(x,y)=x\cdot k\:cos(\alpha)+y\cdot k\:sin(\alpha)$     (4.29)

On obtient finalement :
$\displaystyle P(x,y)=P\cdot e^{j\: \theta(x,y)}$     (4.30)
$\displaystyle P(x,y)=P_{Re}(x,y)+j\:P_{Im}(x,y)$     (4.31)

On peut donc determiner \(\theta(x,y)\) en tout point, une fois que l'on connaît le champ de pression :

$\displaystyle cos(\theta(x,y))=\frac{P_{Re}(x,y)}{Module}$ $\textstyle et$ $\displaystyle sin(\theta(x,y))=\frac{P_{Im}(x,y)}{Module}$ (4.32)

La démonstration de l'existence de cet angle \(\theta\) est donnée dans [VLacr]
On construira donc une base \(\{1,cos(\theta(x,y)),sin(\theta(x,y))\}\), ce qui permet une erreur minimale dans la solution approchée du problème. Une approche multiniveaux procédera donc ainsi :

Figure 4.5: Organigramme de l'approche Multiniveaux
\scalebox{0.6}{\includegraphics{images/organi_multiniv.eps}}

Le critère utilisé dans cet algorithme peut être de deux types :

En conclusion, on peut dire que cette méthode est prometteuse ([3]). En effet, elle permet d'annuler toute erreur de pollution sur le domaine considéré, mais cela, au prix d'un temps de calcul plus long qu'en meshless linéaire.


next up previous contents
suivant: Calcul de l'erreur d'une monter: Présentation de la méthode précédent: Historique   Table des matières
greg 2001-08-07