Ce document montre le calcul de l'effet de peau dans un fil rectiligne parcouru par un courant de fréquence donnée, dans le but de déterminer l'influence de la fréquence sur la résistance du fil.
Le modèle adopté est celui d'un fil rectiligne de longueur infinie, très loin de tout autre fil. Il ne s'applique pas à un fil qui serait à proximité d'autres fils.
Un fil rectiligne de section circulaire et de rayon a est assimilé à un fil de longueur infinie. Soit (0z) l'axe de symétrie du fil. Un point de l'espace est repéré par ses coordonnées cylindriques (r,θ,z).
Figure pleine pageL'intensité de courant dans le fil varie à la pulsation ω :
Le métal a une perméabilité magnétique μ. Pour un métal non magnétique comme le cuivre, cette perméabilité est très proche de celle du vide (μ0).
Si on se limite à une distance r petit devant la longueur d'onde du rayonnement électromagnétique de pulsation ω (300 mètres pour 100 kHz), on peut appliquer l'approximation des régimes quasi stationnaires.
Les équations de Maxwell (dans le métal et dans le vide) s'écrivent :
Dans le vide, on a et . Dans le métal, on utilise la loi d'Ohm . Si le métal est magnétique, on suppose que la courbe d'aimantation est linéaire (fer doux loin de la saturation), ce qui permet d'écrire .
L'équation suppose que la densité de charge est nulle, ce qui est évidemment vrai dans le vide. Dans le métal, la dernière équation s'écrit , ce qui implique que donc que la densité de charge est nulle.
La symétrie axiale du problème implique que la densité de courant dans le métal est de la forme :
et le champ magnétique de la forme :
Des équations de Maxwell, on déduit une équation aux dérivées partielles pour le champ magnétique :
Compte tenu de la forme du champ, l'équation s'écrit :
On se place en régime sinusoïdal de pulsation ω. Tous les champs sont complexes et proportionnels à . L'équation à résoudre dans le métal est alors :
Une fois le champ magnétique dans le métal déterminé, on calcule la densité de courant par la relation , qui s'écrit :
En courant en continu (fréquence nulle), les équations et permettent de démontrer que la densité de courant est uniforme. Elle s'écrit :
Le rapport des deux densités s'écrit :
L'équation est une équation différentielle à conditions limites. L'intervalle de résolution est [0,a]. En r=0 on a Bθ=0. La condition limite en r=a (dans le métal) s'obtient aisément par application du théorème d'Ampère pour le cercle (C) de rayon a représenté sur la figure (cercle situé dans le métal) :
On obtient ainsi :
Il est important de remarquer que la possibilité d'obtenir la condition limite aussi simplement résulte de la symétrie axiale de ce problème. Le champ magnétique sur la surface du fil est indépendant de la distribution du courant dans le fil et ne dépend que de l'intensité I. Cette propriété ne serait évidemment pas vérifiée pour le problème de deux fils parallèles : dans ce cas, il serait impossible de trouver a priori le champ sur la surface des fils car celui-ci dépendrait de la distribution de courant, qui est inconnue.
Considérons la puissance moyenne dissipée dans une longueur de fil :
Cette puissance moyenne permet d'obtenir la résistance R de la portion de fil car :
La résistance R doit être comparée à la résistance en courant continu (résistance DC) :
Le rapport des deux résistances s'écrit :
La distance de pénétration dans le métal est définie par :
Si on introduit la variable réduite r'=r/a, l'équation s'écrit, après développement des dérivées :
Posons :
et le champ réduit :
La condition limite en r=a s'écrit B'θ=1 et le rapport des densités de courant s'écrit :
Lorsque , . Le terme est donc indéterminé en r'=0. La valeur de A(0) sera obtenu par continuité.
Le rapport des résistances s'écrit alors :
L'équation diférentielle à conditions limites est linéaire. Elle peut donc se résoudre numériquement par la méthode des différences finies.
On cherche les valeurs approchées de B'θ pour r'=kh avec h=1/(N-1) et k=0,1,..N-1. Notons Bk ces valeurs approchées. L'écriture des dérivées sous forme de différence finie conduit à :
où u=a/δ. Cette équation s'applique pour k allant de 1 à N-2. Les conditions limites s'écrivent :
L'équation s'écrit aussi :
Nous obtenons N-2 équations et 2 conditions limites, soit N équations linéaires pour N inconnues. Il s'agit d'un système tridiagonal, qui peut être résolu efficacement par un algorithme d'élimination spécifique (voir Équation de diffusion à une dimension). Si N n'est pas trop grand, nous pouvons néanmoins utiliser la fonction scipy.linalg.solve, qui implémente sans doute une méthode d'élimination de Gauss, non optimisée pour ce type de système. Le système linéaire étant mis sous la forme MB=P, il faut remplir les matrices M et P.
from scipy.linalg import solve import numpy as np def champB(N,u): M = np.zeros((N,N),dtype=np.complex64) P = np.zeros(N,dtype=np.complex64) h = 1/(N-1) M[0,0] = 1 M[N-1,N-1] = 1 P[N-1] = 1 for k in range(1,N-1): M[k,k-1] = 1-1/(2*k) M[k,k] = -2-1/k**2-2*1j*u**2*h**2 M[k,k+1] = 1+1/(2*k) B = solve(M,P) r = np.arange(N)*h return r,B
from matplotlib.pyplot import * u=10 N=1000 r,B = champB(N,u) figure() plot(r,np.absolute(B)) grid() xlabel(r"$r/a$") ylabel(r"$|B_{\theta}|/B_0$")champB-u10.pdf
Pour calculer le rapport de la densité de courant sur la densité en courant continu, donné par la relation , nous calculons la dérivée de Bθ(r') par la différence finie . Cette différence ne permet pas de calculer la dérivée en r'=0 et l'expression comporte r' au dénominateur. En conséquence, les tableaux renvoyés par cette fonction ne contiennent pas ce point et commencent donc à r'=h.
from scipy.signal import convolve def rapportJ(B): N = len(B) h = 1/(N-1) r = np.arange(1,N)*h dB = convolve(B,[1,-1],mode='same')/h A = 0.5*(dB[1:N]+B[1:N]/r) return r,A
r,A = rapportJ(B) figure() grid() plot(r,np.absolute(A)) xlabel(r"$r/a$") ylabel(r"$|J_z|/J^{DC}$") ylim(0,10)rapportJ-u10.pdf
Pour calculer le rapport des résistances , nous évaluons l'intégrale avec la méthode des trapèzes :
def rapportR(r,A): N = len(A) h = 1/(N-1) y = r*np.absolute(A)**2 S = np.sum(y[1:N-1]) S += 0.5*(y[0]+y[N-1]) return 2*S*h K = rapportR(r,A)
print(K) --> 5.219770203027197
Voici le rapport de la résistance par la résistance en courant continu, en fonction de a/δ :
u = np.logspace(-1,2,100) K = np.zeros(len(u)) N = 1000 for i in range(len(u)): r,B = champB(N,u[i]) r,A = rapportJ(B) K[i] = rapportR(r,A) figure(figsize=(8,6)) plot(u,K) grid() xlabel(r"$\frac{a}{\delta}$",fontsize=18) ylabel(r"$\frac{R}{R^{DC}}$",fontsize=18) xscale('log')rapportR.pdf
Pour un fil de cuivre de rayon a=0,5 mm, voici le rapport des résistances en fonction de la fréquence :
a = 0.5e-3 mu = 4*np.pi*1e-7 g = 6e7 f = np.logspace(3,7,500) delta = np.sqrt(1/(np.pi*f*mu*g)) u = a/delta K = np.zeros(len(u)) N = 1000 for i in range(len(u)): r,B = champB(N,u[i]) r,A = rapportJ(B) K[i] = rapportR(r,A) figure(figsize=(8,6)) plot(f,K) grid() xlabel(r"$f\ (\rm Hz)$",fontsize=18) ylabel(r"$\frac{R}{R^{DC}}$",fontsize=18) xscale('log') title("a = 0,5 mm") ylim(0,12)rapportR-freq-1.pdf
Pour une fréquence de 1 MHz, voici les parties réelle et imaginaire du rapport de la densité de courant dans le fil par la densité en courant continu :
f = 1e6 delta = np.sqrt(1/(np.pi*f*mu*g)) u = a/delta r,B = champB(N,u) r,A = rapportJ(B) figure(figsize=(10,8)) subplot(211) title("a = 0,5 mm, f = 1 MHz") plot(r,np.real(A)) grid() xlim(0,1) ylabel(r"$Re(J_z)/J^{DC}$",fontsize=18) subplot(212) plot(r,np.imag(A)) ylabel(r"$Im(J_z)/J^{DC}$",fontsize=18) xlabel(r"$\frac{r}{a}$",fontsize=18) grid() xlim(0,1)rapportJ-1MHz.pdf
Pour un fil de cuivre de rayon a=1 mm, voici le rapport des résistances en fonction de la fréquence :
a = 1e-3 mu = 4*np.pi*1e-7 g = 6e7 f = np.logspace(3,7,500) delta = np.sqrt(1/(np.pi*f*mu*g)) u = a/delta K = np.zeros(len(u)) N = 1000 for i in range(len(u)): r,B = champB(N,u[i]) r,A = rapportJ(B) K[i] = rapportR(r,A) figure(figsize=(8,6)) plot(f,K) grid() xlabel(r"$f\ (\rm Hz)$",fontsize=18) ylabel(r"$\frac{R}{R^{DC}}$",fontsize=18) xscale('log') title('a = 1 mm')rapportR-freq-2.pdf
Pour un fil de cuivre de rayon a=2 mm, voici le rapport des résistances en fonction de la fréquence :
a = 2e-3 mu = 4*np.pi*1e-7 g = 6e7 f = np.logspace(3,7,500) delta = np.sqrt(1/(np.pi*f*mu*g)) u = a/delta K = np.zeros(len(u)) N = 1000 for i in range(len(u)): r,B = champB(N,u[i]) r,A = rapportJ(B) K[i] = rapportR(r,A) figure(figsize=(8,6)) plot(f,K) grid() xlabel(r"$f\ (\rm Hz)$",fontsize=18) ylabel(r"$\frac{R}{R^{DC}}$",fontsize=18) xscale('log') title('a = 2 mm')rapportR-freq-3.pdf