On cherche à calculer numériquement l’inductance mutuelle entre deux spires circulaires coplanaires de même rayon , dont les centres et sont distants de . On note le vecteur unitaire normal au plan des spires, dirigé vers le lecteur sur la figure. Les deux spires sont orientées en sens inverse l’une de l’autre (voir figure) : la spire 1 est orientée selon , la spire 2 selon . On se place dans le régime quasi-stationnaire.
1/ Déterminer les invariances du champ magnétique créé par une des spires.
2/ Quelle est la direction du champ magnétique dans le plan des spires ?
Pour , on peut approximer le champ magnétique créé dans le plan des spires par la spire 1, parcourue par un courant , par celui d’un dipôle magnétique de moment . Dans ce plan et hors de la spire 1, ce champ est opposé au moment : avec , où .
3/ Exprimer en fonction de , et .
4/ Montrer que le flux du champ magnétique à travers la spire 2 est donné par
La spire 2 est orientée selon , comme le champ dans le plan des spires : . Le flux du champ magnétique à travers la spire 2 est
avec . On en déduit l’expression demandée avec .
La fonction dblquad de la bibliothèque scipy.integrate permet de calculer numériquement des intégrales doubles. L’appel dblquad(func, a, b, c, d) calcule . Attention à l’ordre : func prend d’abord la variable y de l’intégrale intérieure, qui va de c à d, puis la variable x de l’intégrale extérieure, qui va de a à b. dblquad retourne un couple dont le premier élément est la valeur de l’intégrale.
5/ Compléter le programme Python suivant pour calculer numériquement l’inductance mutuelle.
from scipy.integrate import dblquad
from math import cos, pi
mu_0 = ... # Perméabilité du vide en H/m
R = 1e-2 # Rayon des spires en m
def M(d):
"""Inductance mutuelle (en H) de deux spires dont les centres sont distants de d (en m)."""
def f(r_2, theta_2):
return ... # Fonction à intégrer
intégrale, _ = dblquad(f, ..., ..., ..., ...)
return ...from scipy.integrate import dblquad
from math import cos, pi
mu_0 = 4e-7 * pi # Perméabilité du vide en H/m
R = 1e-2 # Rayon des spires en m
A = mu_0 / 4 * R**2
def M(d):
# dblquad intègre func(y, x) : r_2 est la variable interne
def f(r_2, theta_2):
return r_2 / ((d**2 + r_2**2 + 2 * d * r_2 * cos(theta_2))**(3/2))
intégrale, _ = dblquad(f, 0, 2 * pi, 0, R)
return A * intégrale6/ Tracer l’évolution de l’inductance mutuelle en fonction de la distance entre les deux spires. On prendra points avec variant de à .
import numpy as np
import matplotlib.pyplot as plt
distances = np.linspace(..., ..., ...) # Distances en m
inductances = [... for d in distances] # Inductances mutuelles en H
plt.plot(..., ...)
plt.xlabel('Distance d (m)')
plt.ylabel('Inductance mutuelle M (H)')
plt.show()import numpy as np
import matplotlib.pyplot as plt
distances = np.linspace(5*R, 50*R, 20) # Distances en m
inductances = [M(d) for d in distances] # Calcul des inductances mutuelles
plt.plot(distances, inductances)
plt.xlabel('Distance d (m)')
plt.ylabel('Inductance mutuelle M (H)')
plt.title('Inductance mutuelle entre deux spires en fonction de la distance')
plt.show()