🖥️ Inductance mutuelle entre deux spires

Notebook Capytale de cet exercice : 6e41-7604729

On cherche à calculer numériquement l’inductance mutuelle entre deux spires circulaires coplanaires de même rayon 𝑅, dont les centres 𝑂1 et 𝑂2 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.

Coup de pouce 1
Quel système de coordonnées est le plus adapté pour étudier ce problème ?
Corrigé
La distribution de courant dans la spire 1 est invariante par rotation autour de l’axe perpendiculaire au plan des spires passant par leur centre 𝑂1, donc d’après le principe de Curie, le champ magnétique ne dépend pas de 𝜃 : 𝐵⃗1(𝑟,𝜃,𝑧).

2/ Quelle est la direction du champ magnétique dans le plan des spires ?

Coup de pouce 1
On s’intéresse uniquement à un point 𝑀 situé dans le plan des spires.
Coup de pouce 2
Chercher un plan de symétrie passant par 𝑀.
Corrigé
Le plan contenant les deux spires est un plan de symétrie de la distribution de courant. Donc le champ magnétique dans ce plan est perpendiculaire à ce plan, c’est-à-dire selon 𝑒⃗𝑧.

Pour 𝑑≫𝑅, on peut approximer le champ magnétique créé dans le plan des spires par la spire 1, parcourue par un courant 𝐼1, par celui d’un dipôle magnétique de moment 𝑚⃗=𝜋𝑅2𝐼1𝑒⃗𝑧. Dans ce plan et hors de la spire 1, ce champ est opposé au moment : 𝐵⃗1=−𝐵1𝑒⃗𝑧 avec 𝐵1=𝜇04𝜋𝜋𝑅2𝐼1𝑟13, où 𝑟1=𝑂1𝑀.

3/ Exprimer 𝑟1 en fonction de 𝑟2, 𝜃2 et 𝑑.

Coup de pouce 1
Décomposer 𝑂1𝑀⃗ avec la relation de Chasles en fonction de 𝑂1𝑂2⃗ et 𝑂2𝑀⃗.
Coup de pouce 2
Quelle relation lie 𝑟1 et 𝑂1𝑀⃗ ?
Corrigé
𝑟1=‖𝑂1𝑀⃗‖=‖𝑂1𝑂2⃗+𝑂2𝑀⃗‖=𝑑2+𝑟22+2𝑑𝑟2cos𝜃2

4/ Montrer que le flux du champ magnétique 𝐵⃗1 à travers la spire 2 est donné par Φ1→2=𝐴∫02𝜋d𝜃2∫0𝑅d𝑟2𝑟2(𝑑2+𝑟22+2𝑑𝑟2cos𝜃2)32

Coup de pouce 1
Utiliser la définition du flux magnétique à travers une surface comme une intégrale.
Corrigé

La spire 2 est orientée selon −𝑒⃗𝑧, comme le champ 𝐵⃗1 dans le plan des spires : 𝐵⃗1⋅d𝑆⃗=𝐵1d𝑆. Le flux du champ magnétique à travers la spire 2 est

Φ1→2=∫spire2𝐵⃗1⋅d𝑆⃗=∫02𝜋d𝜃2∫0𝑅d𝑟2𝑟2𝐵1(𝑟2,𝜃2)

avec 𝐵1(𝑟2,𝜃2)=𝜇04𝜋𝜋𝑅2𝐼1(𝑑2+𝑟22+2𝑑𝑟2cos𝜃2)32. On en déduit l’expression demandée avec 𝐴=𝜇04𝑅2𝐼1.

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 ∫𝑎𝑏d𝑥∫𝑐𝑑d𝑦func(𝑦,𝑥). 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 ...
Corrigé
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égrale

6/ Tracer l’évolution de l’inductance mutuelle 𝑀 en fonction de la distance 𝑑 entre les deux spires. On prendra 20 points avec 𝑑 variant de 5𝑅 à 50𝑅.

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()
Corrigé
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()