On introduit la fonction g(x) définie sur le domaine , 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(
)
On définit ensuite pour chacun de ces noeuds un domaine d'influence caractérisé par son diamètre d'influence . On introduit aussi à chaque noeud une fonction de poids,
=
qui est positive sur le domaine d'influence du noeud, vaut 1 en
, et est nulle en dehors du domaine.
Déterminons l'approximation de la fonction g en un point . Pour cela, on calcule en ce point les valeurs des fonctions de poids des n points qui influencent
. (Ce sont tous les noeuds contenant
dans leur domaine d'influence.) (
).
L'approximation des moindres carrés pondérés au voisinage de peut s'écrire :
![]() |
(4.1) |
On détermine les coefficients a* en minimisant l'expression suivante par rapport aux composantes de a* :
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 :
On peut ensuite réitérer cette approximation en un point X** quelconque :
![]() |
(4.3) |
est évalué pour tout X en minimisant la norme
pondérée discrète suivante :
![]() |
![]() |
(4.5) |
![]() |
(4.6) |
![]() |
(4.8) |
![]() |
(4.9) |
On peut donc définir les fonctions de forme par le vecteur :
![]() |
(4.10) |
Donc :
![]() |
(4.11) |
La fonction interpolée en X peut donc s'écrire classiquement sous la forme :
![]() |
(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
. 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).
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).
Le vecteur des pressions nodales est noté :
![]() |
(4.13) |
On a, de plus :
. Ce qui donne, comme en
EF la relation matricielle suivante :
On peut aussi écrire (4.14) sous cette forme :
![]() |
(4.15) |
Avec :
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.
On approximera la pression et sa variation par :
On approximera aussi les multiplicateurs de Lagrange par :
En introduisant (4.17) et (4.18) dans la formulation variationnelle, on obtient le système suivant :
Avec :
![]() |
(4.20) |
![]() |
(4.21) |
![]() |
(4.22) |
![]() |
(4.23) |
![]() |
(4.24) |
![]() |
(4.25) |
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.
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
.
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) :
![]() |
(4.26) |
![]() |
(4.27) |
![]() |
(4.28) |
![]() |
(4.29) |
![]() |
(4.30) | ||
![]() |
(4.31) |
On peut donc determiner en tout point, une fois que l'on connaît le champ de pression :
![]() |
![]() |
![]() |
(4.32) |
Le critère utilisé dans cet algorithme peut être de deux types :
![]() |
(4.33) |
![]() |
(4.34) |
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.