Electromagnétisme 1 Equations de Poisson et de Laplace 2

publicité
Lycée Newton - PT
EM - AN2 - Equations de Poisson et de Laplace - Résolution numérique
Electromagnétisme
Approche numérique : Equations de Poisson et de
Laplace - Résolution numérique
1
1.1
Equations de Poisson et de Laplace
Démonstration
En électrostatique, le rotationel du champ électrique est nul :
∇∧E =0
Le champ électrostatique dérive donc d’un potentiel V :
E = −∇ V
L’équation de Maxwell-Gauss peut alors s’écrire :
∇ · (−∇ V) =
ρ
ε0
or, la définition intrinsèque du laplacien scalaire est :
∆ f = ∇ · (−∇ V)
On obtient donc :
∆V = −
ρ
ε0
Equations de Poisson et de Laplace
Le potentiel électrostatique V associé à une distribution de charge ρ est donnée par la relation suivante,
appelée équation de Poisson :
ρ
∆V =
ε0
Dans une zone vide de charge, cette équation est alors appelée équation de Laplace :
∆V = 0
1.2
Intérêt
L’équation de Poisson est très utile pour déterminer le champ électrique créé par des distributions compliquées,
pour lesquelles le Théorème de Gauss n’est pas utilisable. La distribution de charges étant connue, on résout
l’équation de Poisson par ordinateur (résolution numérique). Une fois le potentiel connu, on dérive pour trouver le
champ électrique.
2
2.1
Résolution numérique de l’équation de Laplace 2D
Principe de la résolution
On se place en coordonnées cartésiennes. L’équation s’écrit alors :
∂2 V ∂2 V
+
=0
∂x2
∂y2
2014/2015
1/3
Lycée Newton - PT
EM - AN2 - Equations de Poisson et de Laplace - Résolution numérique
Pour trouver les solutions de l’équations aux dérivées partielles, on applique la méthode des différences finies qui
consiste à faire une approximation des dérivées en utilisant des différences finies, c’est à dire par exemple :
δ
∂V 1
δ
=
V x+ ,y −V x−
δ
2
2
∂x
δ doit etre le plus petit possible pour que l’approximation soit exacte car en procédant de cette manière il se crée une
erreur qui va se propager et s’amplifier à chaque nouvelle itération. Pour une dérivée seconde l’expression devient :
1
∂2
= 2 V(x + δ, y) + V(x − δ, y) − 2V(x, y)
2
∂x
δ
Exprimons donc le potentiel V(x, y) à partir de l’équation de Laplace :
.
1
V(x + δ, y) + V(x − δ, y) + V(x, y + δ) + V(x, y − δ) − 4V(x, y) = 0
2
δ
V(x, y) =
V(x + δ, y) + V(x − δ, y) + V(x, y + δ) + V(x, y − δ)
4
Il faut donc trouver une fonction dont la valeur en chaque point M(x, y) est égale à la moyenne de la valeur de
cette fonction sur les 4 points les plus proches :
– le point de droite A(x + δ, y) ;
– le point de gauche C(x − δ, y) ;
– le point du haut D(x, y + δ) ;
– le point du bas B(x, y − δ).
L’astuce pour trouver cette fonction est de partir d’une fonction quelconque, on part des points aux conditions
limites, c’est à dire les points dont le potentiel est déjà connu. Puis on remplace les valeurs prisent par chacun des
points du plan de sorte que la valeur de chaques points M du plan soit égale à la moyenne des valeurs des quatres
points voisins A, B, C et D. En répétant cette opération un très grand nombre de fois sur tout les points du plan, on
atteint une assez bonne approximation du potentiel en chaque point.
Dans ce qui suit, on appliquera l’algorithme à l’équation de Poisson, pour laquelle le potentiel est donné par
l’équation :
ρ(x,y)
V(x + δ, y) + V(x − δ, y) + V(x, y + δ) + V(x, y − δ) + ε0
V(x, y) =
4
2.2
Mise en œuvre
On a un tableau V de taille N × N des potentiels et un tableau rho des charges. On a préalablement initialisé
les tableaux à 0 partout et placé des points chargés dans le tableau rho des charges. Par exemple pour une charge
centrée : on doit initialiser rho[N/2, N/2] = rho0.
Le programme présente ensuite les résultats en traçant les équipotentielles dans un graphique.
from numpy import *
import matplotlib
import matplotlib . pyplot as plt
L=2.1 # largeur
N=20 # nombre de points du maillage
h=L/(N -1) # pas ( distance entre deux points du maillage )
# Creation de la matrice des charges en chaque point
Q=5.0 # charge totale
rho0=Q/h**2 # charge en un point
rho = zeros ((N,N)) # matrice des charges n x n remplie de zeros
# Matrice initiale
V = zeros ((N,N))
# Points ou placer les charges
# armatures chargees :
2014/2015
2/3
Lycée Newton - PT
EM - AN2 - Equations de Poisson et de Laplace - Résolution numérique
#for k in arange (N/6 ,5*N/6):
#
rho [2*N/5,k] = rho0
#
rho [3*N/5,k] = -rho0
# charge ponctuelle au centre :
rho[N/2,N/2] = rho0
iterations =0
seuil =1e -9 # seuil d’erreur
erreur =2* seuil # valeur arbitraire pour initialiser l’erreur
while iterations < 1e5 and erreur > seuil :
V_copie = copy(V)
erreur = 0.0
for j in range (1, N -1) :
for i in range (1, N -1) :
V[i,j] = 0.25*( V_copie [i+1,j] + V_copie [i-1,j]
+ V_copie [i,j -1] + V_copie [i,j+1] + rho[i,j])
erreur += abs(V[i,j]- V_copie [i,j])
iterations += 1
erreur /= float(N**2)
# partie servant dessiner le graphique
plt.clf ()
x = linspace (0,N-1,N)
y = linspace (0,N-1,N)
X, Y = meshgrid (x,y)
plt. contour (X ,Y ,V ,20)
plt. imshow (-abs(rho ))
plt. set_cmap (‘‘gray ’’)
plt.show ()
On obtient ainsi les équipotentielles ci-dessous, dans le cas de deux armatures portant des charges opposées et
dans celui d’une charge ponctuelle. La direction du champ électrique peut être visualisée en traçant les perpendiculaires aux équipotentielles.
(a) Armatures
2014/2015
(b) Charge ponctuelle
3/3
Téléchargement