Table des matières Python

Flux magnétique généré par un aimant permanent

1. Introduction

Ce document montre comment calculer le flux magnétique généré par un aimant permanent à travers une bobine, avec ou sans noyau. On se limite à une géométrie bi-dimensionnelle. Le cas d'une bobine sans noyau peut être traité par une méthode intégrale. En présence d'un noyau de ferromagnétique doux, l'équation de Poisson pour le potentiel vecteur est résolue numériquement par la méthode des éléments finis. La question du calcul de la force exercée sur l'aimant en présence de courant dans la bobine est aussi traitée.

2. Magnétostatique et matériaux ferromagnétiques

2.a. Équations de Maxwell

On se limite à un problème de magnétostatique, c'est-à-dire un problème où les courants électriques dans les bobines sont quasi stationnaires. On suppose par ailleurs que le champ de vecteur densité de courant J dans les conducteurs est connu a priori, ce qui en toute rigueur n'est vrai qu'en régime stationnaire stricte.

En tout point d'un milieu non magnétique, les équations de Maxwell permettant de calculer le champ magnétique B sont :

divB=0(1) rotB=μ0J (2)

Dans un matériau ferromagnétique (aimant permanent ou noyau de fer doux), le moyennage des champs à l'échelle mésoscopique conduit à un champ magnétique B moyen, qui par définition est un champ moyenné sur un volume contenant un très grand nombre d'atomes. L'aimantation M est aussi un champ moyen, qui définit la densité volumique de moment magnétique.

Le champ d'aimantation est équivalent à un vecteur densité de courant électrique égal au rotationnel de l'aimantation [1]. En régime quasi stationnaire, le champ magnétique créé par l'aimant obéit donc à l'équation de Maxwell-Ampère à laquelle ce courant équivalent est ajouté :

rotB=μ0(J+rotM)(3)

Le champ d'excitation magnétique est défini par :

H=Bμ0-M(4)

Dans un milieu magnétique, les deux équations fondamentales de la magnétostatique sont donc :

divB=0(5) rotH=J (6)

auxquelles il faut ajouter la définition (4).

Le champ d'excitation n'est pas à flux conservatif dans un milieu magnétique puisque :

divH=-divM(7)

Remarque : le champ H est souvent désigné comme champ magnétique et le champ B comme induction magnétique, une appelation qui peut introduire une confusion avec le phénomène d'induction électromagnétique. Dans ce document, nous nommons le champ H excitation magnétique et gardons la dénomination de champ magnétique pour le champ B . Les équations fondamentales de l'électromagnétisme sont écrites dans le vide et dans ce cas le champ magnétique est le champ B , même si on peut aussi définir H=B/μ0 par souci de cohérence avec les équations dans un milieu magnétique.

2.b. Potentiel vecteur

L'équation divB=0 implique l'existence d'un champ A (un potentiel vecteur) tel que :

B=rotA(8)

Le potentiel vecteur n'est pas unique puisque l'ajout du gradient d'une fonction scalaire à ce potentiel ne change pas son rotationnel. L'unicité du potentiel vecteur est obtenue en ajoutant la condition suivante (jauge de Coulomb) :

divA=0(9)

Cette dernière équation et l'équation (3) conduisent à l'équation suivante pour le potentiel vecteur :

2A=-μ0(J+rotM)(10)

2 désigne l'opérateur laplacien. Le champ d'aimantation est équivalent à un vecteur densité de courant défini par :

Jm=rotM(11)

Ce vecteur est défini si l'aimantation est dérivable. Dans le cas d'un aimant permanent présentant dans son volume une aimentation uniforme, le courant équivalent est nul dans le volume de l'aimant mais le rotationnel n'est pas défini sur la surface. Dans ce cas, on doit introduire un courant de surface de densité [1] :

Sm=Mn(12)

n désigne le vecteur unitaire orthogonale à la surface dans le sens sortant. L'équation (10) est l'équation de Poisson pour le potentiel vecteur. On peut démontrer d'après cette équation que le potentiel vecteur s'écrit sous la forme intégrale suivante [1] :

A(P)=μ04πVJ(Q)+Jm(Q)QPdv+μ04πSSm(Q)QPds(13)

2.c. Matériaux ferromagnétiques

D'un point de vue macroscopique, un matériau ferromagnétique est caractérisé par une relation entre B et H , ou de manière équivalente par une relation entre l'aimantation M et l'excitation magnétique H .

Dans un matériau isotrope, tous ces vecteurs ont la même direction en un point donné du matériau et on peut tracer une courbe B-H, qui représente la projection de ces deux vecteurs sur cette direction, ou bien une courbe M-H. Lorsqu'un aimant est fabriqué avec un matériau non isotrope, la direction d'aimantation est un axe propre et les trois champs sont aussi dans cette direction.

Pour tracer la courbe B-H, on utilise un barreau en forme de cylindre de révolution, de grande longueur par rapport à son diamètre, que l'on place dans une bobine solénoïdale. En pratique, on réalise plutôt l'expérience avec un tore, qui est équivalent à un barreau de longueur infinie (dans les deux cas, le champ magnétique est nul à l'extérieur).

mesure-BH-fig.svgFigure pleine page

Initialement, les champs H,B,M sont nuls. Le courant dans la bobine, d'intensité I, est progressivement augmenté. Si Oz désigne l'axe du solénoïde, les champs sont dans la direction de cet axe et H,B,M désignent les composantes sur cet axe. L'équation rotH=J a pour conséquence le théorème d'Ampère : la circulation de H sur une courbe fermée est égale à l'intensité du courant enlacé par cette courbe. Le théorème d'Ampère permet de déterminer le champ d'excitation magnétique dans le barreau lorsque le solénoïde est de longueur infinie et en supposant qu'il est nul en dehors du solénoïde; on obtient :

H=NI(14)

N est le nombre de spires de la bobine et sa longueur. L'excitation magnétique est directement contrôlée par le courant dans la bobine (d'où son nom). L'unité de H est l'ampère-tours par mètres; bien que le nombre de tours n'a pas de dimension, on le met dans l'unité pour se rappeler comment se calcule l'excitation.

Les trois champs sont uniformes dans le barreau. Le flux magnétique à travers une section droite du barreau s'obtient au moyen d'un fil bobiné autour du noyau, aux bornes duquel on mesure la force électromotrice lorsque le courant dans la bobine est augmenté. L'intégration de cette f.é.m. donne le flux, dont on déduit la densité de flux, c'est-à-dire B. Les résultats sont identiques dans un tore, mais les champs sont dans la direction orthoradiale.

Voici l'allure de la courbe B-H du fer doux, utilisé pour les noyaux des bobines et des moteurs :

magnetisation-fer-fig.svgFigure pleine page

Pour comparaison, on aurait en l'absence du barreau B=μ0H , soit B=2,5mT pour H=2000A⋅m-1.

Au début de l'augmentation du courant, B augmente avec H de manière à peu près linéaire. Cette région de la courbe correspond à une augmentation de l'aimantation M proportionnellement au champ magnétique. Lorsque B est de l'ordre de grandeur de 1 T, B/μ0 est de l'ordre 106 A/m. Il s'en suit que, d'après la relation (4), l'excitation magnétique est négligeable devant les deux autres champs :

MBμ0(15)

Le champ magnétique B continue à augmenter avec H mais moins vite. Vers environ 2 T, le fer atteint un état de saturation où le champ B n'augmente pratiquement plus. Cet état se produit lorsque tout le barreau a atteint son aimantation maximale, soit environ Ms1,7106Am-1 .

Le fer doux est la plupart du temps utilisé dans le domaine approximativement linéaire (loin de la saturation). Dans ce cas, on utilise la relation linéaire suivante :

B=μrμ0 H(16)

μr est la perméabilité magnétique relative, de l'ordre de 2000 pour la courbe ci-dessus. Le flux magnétique dans le fer doux est donc environ 2000 fois plus grand que dans l'air, à champ d'excitation (H) égal.

Lorsqu'on diminue le courant dans la bobine après avoir atteint une valeur importante de l'aimantation, on observe que la courbe B-H à H décroissant n'est pas la même que la courbe initiale. En effet, l'aimantation décroit plus lentement et il reste une aimantation rémanente Mr lorsque H s'annule. Il s'en suit que B présente une valeur rémanente Br0Mr, de l'ordre de 0,5 T pour le fer doux. Remarquons que le champ rémanent dépend de la valeur maximale de B qui a été atteinte avant de faire décroître H. Pour annuler le champ B, il faut changer le sens du courant afin d'appliquer un champ d'excitation H négatif. B s'annule pour une valeur négative de H nommée champ coercitif et notée Hc (la valeur donnée est positive). Pour le fer doux, cette valeur est très faible car, pour l'utilisation dans les noyaux de bobines, on veut que le flux s'annule rapidement lorsque H est négatif. Sa valeur est variable suivant l'alliage considéré mais son ordre de grandeur est 100 A/m, ce qui est très faible comparé au champ coercitif d'un matériau ferromagnétique dur (200000 A/m pour un aimant permanent en ferrite). Il est donc relativement facile de désaimanter un barreau en fer doux. Si on continue à augmenter H dans les valeurs négatives, le barreau s'aimante dans le sens négatif. On peut ainsi réaliser un cycle d'aimantation et de désaimantion avec alternance du sens qui présente la forme ci-dessous :

magnetisation-fer-hysteresis-fig.svgFigure pleine page

Le cycle est qualifié de cycle à hystérésis car la courbe suivie à H décroissante est différente de la courbe suivie à H croissante. La forme précise du cycle d'hystérésis dépend bien sûr du matériau mais aussi de la valeur maximale de B atteinte et de la fréquence du cycle. Les pièces en fer des bobines et des moteurs soumises à une excitation alternative parcourent effectivement ce cycle d'hystérésis au cours de leur fonctionnement. Cela a pour conséquence une dissipation d'énergie magnétique, proportionnelle à l'aire contenue dans le cycle. Pour cette raison, les matériaux doux utilisés pour les noyaux (alliages métalliques ou ferrites) doivent avoir un champ coercitif le plus faible possible. Notons pour finir sur le fer doux que la relation (16) est utilisée pour modéliser son comportement, à condition qu'on reste assez loin de la saturation. Cependant, cette relation ne prend pas en compte les pertes par hystérésis.

Les aimants permanents sont fabriqués avec des matériaux ferromagnétiques durs, qui par définition ont un champ coercitif très grand, plusieurs ordres de grandeur plus grands que ceux du fer doux. Les trois principaux matériaux ferromagnétiques utilisés dans les dispositifs électromécaniques sont les alliages Al-Ni-Co, les ferrites (céramiques à base d'oxydes de fer), les alliages néodyme-fer-bore et samarium-cobalt. Remarquons qu'il existe aussi des ferrites doux utilisés pour les bobines dans les applications à haute fréquence (par exemple les alimentations à découpage).

Il est intéressant de tracer B en fonction de μ0H (grandeurs en Tesla). Pour les ferromagnétiques doux, μ0Hc est plusieurs ordres de grandeur plus petit que Br (plus de 1000 fois plus petit). Pour les ferromagnétiques durs, μ0Hc et Br sont du même ordre de grandeur. Lorsque l'aimantation est à saturation, on a :

B=μ0H+μ0Ms(17)

et la courbe est donc une droite de pente 1.

L'aimantation dépend peu de H tant qu'on ne fait pas une inversion de son sens. La variation la plus grande est observée pour les aimants alnico et la plus faible pour les aimants néodymes, où elle ne dépasse pas 10% (voir courbes de désaimantation plus loin). On considère donc qu'un ferromagnétique dur idéal a une aimantation M constante (tant qu'elle ne s'inverse pas), égale à son aimantation à saturation. Le champ coercitif de l'aimantation est par définition la valeur de H à laquelle se fait l'inversion de l'aimantation; on la notera Hcm. Il est plus grand que le champ coercitif Hc, à l'exception de l'alnico pour lequel les deux sont à peu près égaux.

Le tableau suivant donne les valeurs typiques de champ rémanent, de champ coercitif de l'aimantation et de champ coercitif pour les quatre familles de ferromagnétiques :

Ferromagnétiques durs
MatériauBr (T)μ0Hcm (T)μ0Hc (T)(BH)max (kJ/m3)
AlNiCo1.30.060.0650
Ferrites0.40.40.3730
NdFeB1.31.51.25320
SmCo1.11.30.97220

Les propriétés des matériaux ferromagnétiques sont très sensibles à la température; les valeurs ci-dessus sont à température ambiante.

L'alnico a le champ coercitif le plus faible. Les aimants néodyme-fer-bore et samarium-cobalt ont un champ coercitif très fort, ce qui signifie qu'il est très difficile de changer leur aimantation. Les ferrites ont un champ rémanent plutôt faible mais leur champ coercitif est grand (par comparaison à l'alnico).

La courbe M(H) peut être tracée au moyen de deux fonctions tangente hyperbolique, une pour les valeurs croissantes de H, l'autre pour les valeurs décroissantes. Pour les valeurs décroissantes :

M=Brμ0tanh(α(H+Hcm))+βH(18) B=μ0H+μ0M(19)

Le paramètre α doit être choisi afin que B=0 pour H=Hc. Le paramètre β quantifie la variation de l'aimantation avec H sous la forme d'une variation linéaire. Pour les ferrites et NdFeB, cette variation est faible (voir courbes expérimentales données plus loin).

import numpy as np
from matplotlib.pyplot import *
H = np.linspace(-3,3,1000)
Br = 1.3
Hcm = 1.5
alpha = 8
beta = 0.05
M1 = Br*np.tanh(alpha*(H+Hcm))+beta*H
B1 = H+M1
M2 = Br*np.tanh(alpha*(H-Hcm))+beta*H
B2 = H+M2

figure(figsize=(8,8))
title("NdFeB")
x = np.linspace(-10,10)
plot(H,M1,'r',label=r"$\mu_0M$")
plot(H,M2,'r')
plot(H,B1,'b',label=r"$B$")
plot(H,B2,'b')
grid()
xlabel(r"$\mu_0 H\,(\rm T)$",fontsize=16)
ylabel("Tesla",fontsize=16)
legend(loc='upper left',fontsize=16)

                                          
fig1fig1.pdf

Lorsqu'un aimant n'est pas soumis à un champ extérieur (ou si celui-ci est négligeable), son point de fonctionnement se trouve dans le quadrant H<0, B>0. Cette partie de la courbe est nommée courbe de désaimantation. Voici la courbe de désaimantation du modèle de NdFeBe :

xlim(-2,0)
ylim(0,2)
                                           
fig2fig2.pdf

La courbe B(H) est pratiquement une droite passant par les points (H=-Hc,B=0) et (H=0,B=Br).

un aimant idéal est défini par une aimantation parfaitement constante :

H = np.linspace(-3,3,1000)
Br = 1.3
Hcm = 1.5
alpha = 1e3
beta = 0.00
M1 = Br*np.tanh(alpha*(H+Hcm))+beta*H
B1 = H+M1
M2 = Br*np.tanh(alpha*(H-Hcm))+beta*H
B2 = H+M2

figure(figsize=(8,8))
title("Aimant idéal")
x = np.linspace(-10,10)
plot(H,M1,'r',label=r"$\mu_0M$")
plot(H,M2,'r')
plot(H,B1,'b',label=r"$B$")
plot(H,B2,'b')
grid()
xlabel(r"$\mu_0 H\,(\rm T)$",fontsize=16)
ylabel("Tesla",fontsize=16)
legend(loc='upper left',fontsize=16)

                                          
fig3fig3.pdf

Pour un aimant idéal, on a Hc=Hcm et la courbe B(H) est parfaitement rectiligne.

Des courbes de désaimantation pour différents types d'aimants néodyme sont données ici. L'unité de H est le kOe (kilo oersted). Un oersted est égal à 1000/(4π) A/m donc 1 kOe correspond à une valeur de μ0 H égale à 0,1 tesla. L'unité de B est le kilo gauss, égal à 0,1 tesla. Voici les courbes de désaimantation de l'aimant néodyme type N42 pour différentes températures :

def desaimantation(deg):
    [H,B] = np.loadtxt("neodyme-N42-%ddeg.txt"%deg,unpack='True',skiprows=2,delimiter=',')
    H /= 10
    B /= 10
    plot(H[0:7],B[0:7],label=r"$\mu_0M, %d ^{\circ}C$"%deg)
    plot(H[6:],B[6:],label=r"$B, %d ^{\circ}C$"%deg)
figure(figsize=(12,8))
title("NdFeB (N42)")
grid()
desaimantation(20)
desaimantation(40)
desaimantation(60)
desaimantation(80)
xlabel(r"$\mu_0 H\,(\rm T)$",fontsize=16)
ylabel("Tesla",fontsize=12)
legend(loc='lower right',fontsize=16)
xlim(-1.5,0.5)
                                   
fig4fig4.pdf

Ces courbes montrent que le champ H coercitif diminue beaucoup lorsque la température augmente et que le champ B rémanent (donc l'aimantation) diminue un peu. À 20 et 40 degrés, la courbe B(H) est quasi rectiligne. La courbe de désaimantation d'un aimant NdFeB (aimant néodyme) est proche de celle de l'aimant idéal puisque l'aimantation dépend peu de H, mais la variation de l'aimantation avec H n'est pas pour autant négligeable.

L'énergie du champ magnétique généré par un aimant en dehors de lui-même et en l'absence d'autres objets magnétiques s'écrit :

Wm=-VBHdV(20)

V est le volume de l'aimant. Cette énergie est bien positive car dans l'aimant les champs H et B sont opposés. Le champ H est dans ce cas (en l'absence d'autres sources de champ) qualifié de champ démagnétisant. La force d'un aimant est quantifiée par cette énergie : elle est d'autant plus grande que le volume est grand et que le produit -BH est grand. Le point de fonctionnement sur la courbe de désaimantation qui donne le produit -BH maximal est obtenu pour B=-μ0 H , c'est-à-dire à l'intersection de la courbe avec la droite d'équation y=-x. La force d'un matériau ferromagnétique dur est quantifiée par le produit (BH) maximal (voir tableau ci-dessus). Les aimants NdFeCo et SmCo ont un produit (BH)max beaucoup plus grand que les aimants AlNiCo et ferrites.

3. Aimants uniformément aimantés

3.a. Charges magnétiques

Considérons un aimant permanent dans lequel l'aimantation est supposée connue et constante, ce qui vrai si l'aimant est proche d'un aimant idéal et s'il n'est pas soumis à des champs extérieurs très intenses qui pourraient changer son aimantation. L'aimant est alors défini par un champ d'aimantation M . En tout point de l'espace où aucun courant électrique n'est présent (en particulier à l'intérieur de l'aimant), le champ d'excitation magnétique obéit aux deux équations suivantes :

divH=-divM(21) rotH=0(22)

Ces équations sont analogues à celles vérifiées par le champ électrostatique. On peut donc faire appel à tous les outils de calcul et résultats relatifs au champ électrostatique en définissant une charge magnétique :

ρm=-divM(23)

qui est équivalente à ρ/ε0 , où ρ est la densité volumique de charge. Si le champ M est supposé uniforme dans tout le volume de l'aimant, la charge magnétique y est nulle mais sa surface porte une charge surfacique donnée par :

σm=Mn(24)

n est le vecteur normal unitaire sortant de l'aimant. Le champ H généré par un aimant uniformément aimanté en un point P de l'espace s'écrit donc (par analogie avec la loi de Coulomb en électrostatique) :

H(P)=14πSQP||QP||3Mn dS(25)

Cette expression est une intégrale sur la surface de l'aimant et le point Q est un point quelconque de cette surface.

L'excitation en un point P étant connue, le champ magnétique s'en déduit par :

B=μ0(H+M)dansl'aimant(26)B=μ0Hdansl'air (27)

Dans les situations de forte symétrie, on utilisera plutôt la forme intégrale de divH=ρm (analogue au théorème de Gauss). Pour une surface S fermée :

SHn=VρmdV(28)

On peut aussi faire appel au potentiel magnétique Vm , analogue du potentiel électrostatique :

H=-gradVm(29)

Ce potentiel s'obtient avec l'intégrale de surface :

Vm(P)=14πSMn||QP||dS(30)

3.b. Sphère uniformément aimantée

Soit une sphère de rayon a uniformément aimantée. En coordonnées sphériques dont l'axe polaire est défini par la direction d'aimantation, le potentiel magnétique associé au champ d'excitation créé par cette sphère s'écrit [1] :

Vm(r,θ)=13Ma2ra2cosθpourra(31) =13Ma2ar2cosθpourra (32)

À l'extérieur de la sphère, le champ H est exactement dipolaire (une propriété intéressante des aimants sphériques). Si l'on introduit le moment magnétique total de la sphère m=43πa3M on a en effet :

Vm(r,θ)=m4πcosθr3(33)

À l'intérieur de la sphère, on a :

Vm=13Mz(34)

Le champ dans la sphère est donc uniforme :

Hin=-13M(35)Bin=23μ0M(36)

Le point de fonctionnement sur la courbe de démagnétisation est donc défini par la condition :

B=-2μ0 H(37)

La dénomination de champ démagnétisant pour le champ H dans l'aimant se justifie par le fait que ce champ tend à démagnétiser l'aimant. Cette tendance à la démagnétisation d'un aimant permanent peut aussi se voir comme une conséquence de l'interaction dipolaire : deux éléments de volume de l'aimant situés en deux points P et P' tels que PP' est perpendiculaire à l'axe de magnétisation sont soumis à une force dipolaire qui tend à faire tourner les moments magnétiques de 180 degrés (pour les faire parvenir en orientation antiparallèle).

3.c. Plaque infinie aimantée

Une plaque d'épaisseur e et de taille infinie magnétisée perpendiculairement à ses faces est équivalente à un condensateur plan infini. L'une des surfaces de la plaque porte une densité surfacique de charge magnétique σm=M alors que la face opposée porte la charge σm=-M . Le champ à l'intérieur de la plaque est uniforme :

Hin=-M(38)Bin=0(39)

À l'extérieur, le champ est nul. Une plaque infinie aimantée ne génère aucun champ à l'extérieur et son champ démagnétisant à l'intérieur est maximal.

3.d. Barreau aimanté cylindrique

Le barreau est un cyclindre de révolution d'axe (Oz) et de rayon a. Le calcul numérique du champ généré par un tel aimant dans tout l'espace et le tracé des lignes de champ est exposé dans Aimant permanent : utilisation des intégrales elliptiques. Il est possible d'obtenir une expression simple du champ sur l'axe (Oz). En tout point de l'axe, le vecteur H est dans la direction de l'axe et le potentiel se calcule aisément. Notons la longueur du barreau et plaçons l'origine de z en son milieu. La face située en z=/2 porte une charge magnétique égale à M. Le potentiel créé par cette face en un point P(z) de l'axe est :

V+(z)=M4π0a2πrr2+(z-/2)2dr=M2((a2+(z-/2)2)12-((z-/2)2)12)(40)

d'où l'on déduit l'excitation magnétique créée par cette face :

H+(z)=-dVmdz=-M2(z-/2(a2+(z-/2)2)12-sign(z-/2))(41)

et pour l'autre face :

V-(z)=-M2((a2+(z+/2)2)12-((z+/2)2)12)(42) H-(z)=M2(z+/2(a2+(z+/2)2)12-sign(z+/2))(43)

Voici le tracé de H/M sur l'axe pour différentes valeurs du rapport a/ :

def H(z,a,l):
    return -1/2*(-(z-l/2)/np.abs(z-l/2)+(z+l/2)/np.abs(z+l/2)+(z-l/2)/np.sqrt(a**2+(z-l/2)**2)-(z+l/2)/np.sqrt(a**2+(z+l/2)**2))
figure(figsize=(16,6))
l= 1
z = np.linspace(-l,l,1000)
plot(z,H(z,0.1,l),label=r"$a/\ell=\frac{1}{10}$")
plot(z,H(z,0.5,l),label=r"$a/\ell=\frac{1}{2}$")
plot(z,H(z,1,l),label=r"$a/\ell=1$")
plot(z,H(z,10,l),label=r"$a/\ell=10$")
grid()
xlabel(r"$\frac{z}{\ell}$",fontsize=16)
ylabel(r"$\frac{H}{M}$",fontsize=16)
legend(loc='lower right',fontsize=16)
                        
fig5fig5.pdf

Le champ magnétique à l'extérieur sur la face (nord ou sud) de l'aimant (B=μ0H ) est d'autant plus intense que le barreau a une grande longueur par rapport à son rayon. Pour un aimant plat (faible longueur par rapport au rayon), le champ au voisinage des faces est beaucoup plus faible mais il a l'avantage d'être uniforme sur une grande région de l'espace. Pour un aimant plat, le champ démagnétisant (champ H à l'intérieur) est proche de -M, ce qui est en accord avec le résultat précédent pour une plaque infinie aimantée. On peut interpréter cette grande valeur du champ démagnétisant dans un aimant plat par le fait que cet aimant comporte beaucoup d'éléments disposés perpendiculairement à la direction d'aimantation et que l'interaction dipolaire tend à rompre le parallélisme de l'aimantation de ces éléments.

À l'intérieur de l'aimant et sur l'axe, l'excitation magnétique est :

H(z)=-M2(2+z-/2(a2+(z-/2)2)12-z+/2(a2+(z+/2)2)12)(44)

L'excitation magnétique est négative, c'est-à-dire de sens opposé à l'aimantation (champ démagnétisant). Il est intéressant de considérer la moyenne de H sur l'axe :

Hm=1-/2/2H(z)dz=1(Φm(-/2)-Φm(/2))=-M1(+a-2+a2)(45)

Voici le tracé de Hm/M en fonction de a/ :

def Hm(a,l):
    return -1/l*(l+a-np.sqrt(l**2+a**2))
figure(figsize=(16,6))
l=1
a=np.logspace(-2,2,100)
plot(a,Hm(a,l))
xscale('log')
yticks(np.linspace(-1,0,11))
xlabel(r"$\frac{a}{\ell}$",fontsize=16)
ylabel(r"$\frac{H_m}{M}$",fontsize=16)
grid()
                       
fig6fig6.pdf

Pour un barreau très long (a ), on a :

Hm-Ma(46)

À la limite , qui se réalise dans un barreau torique, le champ d'excitation est nul mais dans ce cas il n'y a aucun champ à l'extérieur et l'aimant est bien sûr inutile.

Pour un aimant plat (a ) on a :

Hm-M(47)

On peut situer le point de fonctionnement sur la courbe de démagnétisation en fonction de la longueur du barreau par rapport à son rayon :

aimantCylindrique.svgFigure pleine page

L'aimant sphérique et le tore sont aussi placés sur la figure.

Le maximum d'énergie magnétique en dehors de l'aimant est obtenu lorsque H=-μ0B , c'est-à-dire lorsque H=-M2 . Pour un aimant cylindrique, cela est obtenu pour la valeur moyenne de H lorsque a0,7 .

Remarquons que les calculs précédents ne sont valables, en toute rigueur, que si l'aimantation dans le barreau est uniforme. C'est à peu près le cas pour les aimants néodymes ou ferrites mais pour les aimants alnico l'aimantation dépend beaucoup de H et le calcul du champ d'excitation dans ce cas est plus complexe car l'aimantation n'est pas connue a priori. Un algorithme itératif permet de faire le calcul : on détermine le champ H en supposant que M est uniforme puis on calcul le champ M correspondant au champ H avant de refaire le calcul de H. Le calcul est répété jusqu'à convergence, c'est-à-dire lorsque le champ M n'évolue pratiquement plus.

4. Problème bidimensionnel

4.a. Mise en équation

En géométrie bidimensionnelle, les champs ne dépendent que de deux variables d'espace. Il peut s'agir d'une géométrie axisymétrique, où les deux variables sont r,z des coordonnées cylindriques ou bien une géométrie cartésienne où les deux variables sont x,y. Nous nous intéressons au second cas, qui permet de traiter une grande variété de problèmes.

Le vecteur densité de courant dans les conducteurs est de la forme suivante :

J=Jz(x,y)uz(48)

L'aimantation des pièces ferromagnétiques est dans le plan (x,y) :

M=Mx(x,y)ux+My(x,y)uy(49)

Pour tout point P de l'espace, le plan (P,x,y) est un plan d'antisymétrie du vecteur densité de courant (vecteur polaire) et de symétrie de l'aimantation (vecteur axial). Il s'en suit que le champ magnétique et l'excitation magnétique en P (vecteurs axiaux) sont dans ce plan :

B=Bx(x,y)ux+By(x,y)uy(50)H=Hx(x,y)ux+Hy(x,y)uy(51)

La résolution numérique (par différence finie ou par éléments finis) se fait au moyen du potentiel vecteur A , un champ tel que :

B=rotA(52)divA=0(53)

Le potentiel vecteur est un vecteur polaire (son rotationnel est axial), il est donc de la forme :

A=Az(x,y)uz(54)

La divergence de cette expression est bien nulle et la relation avec le champ magnétique s'écrit :

Bx=Azy(55)By=-Azx (56)

Les lignes de champ de B sont des lignes d'isovaleur de Az.

Nous supposons que le problème comporte quatre types de milieu :

  • (1) Les milieux non conducteurs et non magnétiques (l'air).
  • (2) Les milieux conducteurs et non magnétiques (cuivre des bobines).
  • (3) Les milieux ferromagnétiques doux (noyaux des bobines).
  • (4) Les milieux ferromagnétiques durs (aimants permanents) dont l'aimantation est connue a priori.

Pour les noyaux des bobines (et les tôles en fer des moteurs), on supposera qu'ils ne sont pas le siège de courants. Cela est vrai en régime stationnaire et, en régime non stationnaire, les courants induits dans le fer sont faibles si les pièces sont réalisées par assemblage de tôles ou bien par de la poudre en fer noyée dans une résine isolante. Ces courants ont dans ce cas un effet non négligeable sur la dissipation d'énergie sous forme thermique mais leur effet sur le champ magnétique peut être négligé. Il en va tout autrement dans le cas de pièces en fer plein en régime variable. Nous ne traitons pas ce type de problème dans ce document.

Bien que nous traitons un problème de magnétostatique, nous souhaitons obtenir des résultats qui pourront s'appliquer dans une certaine mesure à des problèmes en régime quasi stationnaire, par exemple pour le calcul des forces électromotrices dans les bobines. Nous supposons néanmoins que le vecteur densité de courant dans les parties en cuivre est connu a priori et qu'il est, comme déjà mentionné, nul dans les parties ferromagnétiques.

La figure suivante montre un exemple de problème bidimensionnel comportant un aimant permanent et une bobine avec un noyau feuilleté en fer doux. La bobine est constituée de deux conducteurs identiques parcourus par deux courants opposés. Remarquons que les feuilles de fer sont perpendiculaires à l'axe (Oz) car les courants induits se font dans la direction de cet axe (mais ce point est sans importance pour la modélisation).

aimantBobine-fig.svgFigure pleine page

Ce système bidimensionnel en coordonnées cartésiennes peut modéliser (de manière très approchée) une géométrie axisymétrique dans laquelle l'aimant et la bobine sont des cylindres de révolution coaxiaux. Cependant, une mise en équation bidimensionnelle en coordonnées cylindriques est dans ce cas possible et bien sûr préférable. Dès que l'aimant est déplacé transversalement (ici dans la direction (Oy)), il n'y a plus de symétrie axiale et la modélisation bidimensionnelle cartésienne montre tout son intérêt.

Le milieu ferromagnétique doux est modélisé par une relation linéaire entre l'aimantation et l'excitation magnétique :

M=χH(57)

χ est la susceptibilité magnétique du matériau. Cette relation a pour conséquence la relation B=μrμ0H avec μr=1+χ .

Dans le milieu (3), l'aimantation n'est pas connue a priori alors qu'elle l'est dans l'aimant dans la mesure où on suppose qu'il s'agit d'un aimant idéal, dont l'aimantation est indépendante de l'excitation magnétique. En l'absence d'éléments ferromagnétiques doux, ce problème de magnétostatique peut être traité au moyen de calculs d'intégrales. En effet, l'aimant est équivalent à un système de charges magnétiques réparties sur ses faces nord et sud (comme expliqué plus haut) donc le champ qu'il génère peut être calculé au moyen de l'intégrale (25), qui se ramène ici à une intégrale sur une ligne. Ce calcul sera fait plus loin. Le champ créé par le courant dans la bobine, c'est-à-dire le champ généré par les deux courants opposés et de direction z, peut être calculé aussi par une méthode intégrale, en décomposant chaque conducteur en N fils de cuivre (ce qu'il est en réalité). Le champ créé par un fil rectiligne infini situé au point Q et parcouru par un courant d'intensité I est (en dehors du fil) :

B(P)=μ0I2πuzQP||QP||2(58)

La présence du milieu ferromagnétique doux (3) complique beaucoup le problème car l'aimantation de ce milieu n'est pas donnée a priori puisqu'elle est proportionnelle en tout point à l'excitation magnétique en ce point. Une méthode itérative permettant de déterminer cette aimantation est peut-être envisageable mais le champ d'aimantation dans le milieu (3) n'est pas en général uniforme, ce qui fait que le calcul du champ créé par la pièce de fer doux fait intervenir une intégrale de surface. La complexité globale d'une telle méthode la rend peu attractive et on préfère poser le problème en terme d'équation aux dérivées partielles pour le potentiel vecteur.

L'équation (3) et l'équation divA=0 impliquent l'équation suivante pour le potentiel vecteur :

2A=-μ0(J+rotM)(59)

2 est l'opérateur laplacien. Dans un milieu non magnétique (cuivre ou air), le potentiel vecteur obéit à l'équation suivante (équation de Poisson) :

2 Azx2+2 Azy2=-μ0 Jz(60)

Dans un aimant permanent dont l'aimantation est uniforme, cette dernière n'apparaît pas dans l'équation aux dérivées partielles puisque son rotationnel est nul. On a donc dans l'aimant :

2 Azx2+2 Azy2=0(61)

L'aimantation intervient dans la condition limite entre le milieu ferromagnétique dur et l'air. L'équation divB=0 implique que la composante normale de B est continue sur la surface de séparation entre deux milieux. Si cette surface (qui est en fait une ligne dans le problème bidimensionnel) est perpendiculaire à (Ox), il y a continuité de Bx c'est-à-dire continuité de Azy . Si la surface est perpendiculaire à (Oy), il y a continuité de Azx . L'équation rotH=0 (il n'y a pas de courant dans l'aimant et dans l'air) implique la continuité de la composante tangentielle de H , c'est-à-dire la continuité de la composante tangentielle de Bμ0-M . Sur l'exemple de la figure précédente, les faces nord et sud de l'aimant (perpendiculaires à (Ox)) n'ont pas de composante tangentielle de l'aimantation : la composante tangentielle de B est donc continue, ce qui se traduit par la continuité de Azx sur ces faces. Sur les faces latérales de l'aimant (faces parallèles à l'aimantation), la condition limite s'écrit :

(Bxμ0-Mx)aimant=(Bxμ0)air(62)

ou bien avec le potentiel vecteur :

(Azy-μ0Mx)aimant=(Azy)air(63)

Dans le milieu ferromagnétique doux à loi de comportement linéaire, on a rotH=0 , ce qui implique que :

2A=0(64)

Pour les conditions limites entre le fer doux et l'air ou le cuivre, on a continuité de la composante normale de B et continuité de la composante tangentielle de H , ce qui implique la continuité de la composante tangentielle de Bμr . Par exemple, pour la surface qui sépare la pièce en fer de l'air (surface perpendiculaire à (Ox), on a :

(By)air=(Byμr)fer(65)

qui se traduit par une condition sur la dérivée partielle du potentiel vecteur :

(Azx)air=(1μrAzx)fer(66)

L'interface entre le fer et le cuivre présente des conditions limites similaires.

Finalement, l'équations aux dérivées partielles vérifiée par Az(x,y) est l'équation de Poisson dans les quatre milieux, avec une densité de courant présente seulement dans le cuivre. Les propriétés magnétiques (perméabilité relative pour le fer doux et aimantation pour le fer dur) apparaîssent dans les conditions limites.

Il est possible d'exprimer le potentiel vecteur à l'aide d'un intégrale sur la densité de courant (volumique ou surfacique) par la relation (13). Le vecteur densité de courant sur la surface de l'aimant s'écrit :

Sm=Mn(67)

Pour une face perpendiculaire à (Ox) on a :

Sm=±Myuyux=±Myuz(68)

Pour une face perpendiculaire à (Oy) on a :

Sm=±Mxuxuy=±Mxuz(69)

On peut ainsi exprimer le potentiel vecteur généré par un aimant d'aimantation uniforme sous la forme d'une intégrale sur sa surface

Az(P)=S±MxQPds+ S±MyQPds(70)

La première intégrale concerne les faces perpendiculaires à (Oy), la seconde les faces perpendiculaires à (Ox). Le point Q est un point quelconque de la surface.

Un aimant idéal d'aimantation uniforme est équivalent à une bobine dont les courants sont surfaciques et localisés sur les faces parallèles à l'aimantation. La perméabilité magnétique de l'aimant, qui exprime sa réponse à un champ extérieur, est proche de 1 car le matériau est très proche de la saturation; nous la prendrons égale à 1 dans tous les calculs (hypothèse cohérente avec celle d'aimantation constante). En conséquence, l'aimant est équivalent (en première approximation) à une bobine sans noyau ferromagnétique.

4.b. Calcul des forces électromotrices

Supposons que dans l'exemple précédent l'aimant se déplace et qu'on souhaite calculer la force électromotrice (f.é.m.) induite dans la bobine. En toute rigueur, ce problème ne relève pas de la magnétostatique car il s'agit de calculer un champ électrique induit dans le cuivre et ce champ électrique a lui-même un effet sur la répartition du courant dans le cuivre. Supposons néanmoins que la vitesse de déplacement de l'aimant soit assez faible pour que la densité de courant dans la bobine ne soit pas affectée par ce champ électrique induit. Le champ électrique induit est un champ électrique tel que :

rotEi=-Bt(71)

Il s'exprime simplement à l'aide du potentiel vecteur :

Ei=-At(72)

Il s'en suit que ce champ électrique est dans la direction de l'axe (Oz), ce qu'on pouvait déduire aussi des symétries puisque le champ électrique est un vecteur polaire. Bien sûr, le champ électrique primaire, qui est responsable du courant électrique, est aussi dans cette direction.

La connaissance de Az dans le cuivre permet donc de calculer le champ électrique induit dans la bobine. Il s'agira évidemment de faire le calcul de Az à différents instants, c'est-à-dire pour différentes positions de l'aimant, afin d'estimer la dérivée par rapport au temps par différence finie.

Ce qui nous intéresse en réalité est la f.é.m. dans la bobine car elle intervient dans le comportement de la bobine dans un circuit électrique. Celle-ci est constituée de deux parties (deux blocs de cuivre). La f.é.m. dans la partie orientée dans le sens +z se définit comme l'intégrale suivante :

e+=filEid=-tfilAd=-tAzdz(73)

Les fils du modèle bidimensionnel sont de longueur infinie mais nous devons leur attribuer une longueur finie pour calculer la f.é.m.. On a donc :

e+=-Azt(74)

Dans cette expression Az est en fait le potentiel vecteur moyen sur la section du fil. Notons α la fraction du bloc de cuivre effectivement occupée par le fil de cuivre (compacité du bobinage). La f.é.m. pour ce bloc de cuivre est :

e+=-αStAz(x,y)dxdy(75)

S est l'aire de ce bloc. La force électromotrice e- pour l'autre partie de la bobine est calculée par :

e-=+αStAz(x,y)dxdy(76)

On peut aussi définir le flux magnétique à travers la bobine :

Φ= αS(+ Az(x,y)dxdy-- Az(x,y)dxdy)(77)

puis calculer la f.é.m. au moyen de la loi de Faraday :

e=-dΦdt(78)

En présence de courant dans la bobine, le flux ainsi calculé (et la f.é.m. qui en résulte) est évidemment le flux total, somme du flux créé par l'aimant et du flux propre de la bobine. Si l'on s'intéresse seulement à la f.é.m. induite par le déplacement de l'aimant dans la bobine (par exemple dans les bobines du stator d'un moteur), il faut annuler le courant dans la bobine pour faire le calcul. Si l'on souhaite calculer le coefficient d'autoinductance, on annulera l'aimantation de l'aimant.

Remarque : le modèle bidimensionnel ne fournit que des résultats très approchés donc la prise en compte de la compacité du bobinage n'est pas en pratique nécessaire (on pourra prendre α=1).

4.c. Force magnétique : calcul direct

La résultante des forces magnétiques agissant sur une bobine est donnée par l'intégrale suivante :

F=δJBdv=δ(-JzByux+JzBxuy)dxdy=α(JzAzxux+JzAzyuy)dxdy(79)

Comme précédemment, l'intégrale est étendue sur les deux blocs de cuivre qui modélisent la bobine. Le champ magnétique considéré est celui créé par tous les éléments magnétiques à l'exclusion de la bobine considérée. Cependant, si l'on prend la totalité du champ on obtient un résultat correct puisque la bobine n'a pas d'action sur elle-même (bien qu'il y ait une action sur des parties de la bobine).

La résultante des forces magnétiques agissant sur un aimant s'écrit :

F=grad(MB)dv=grad(MxBx+MyBy)dxdy=grad(MxAzy-MyAzx)dxdy(80)

Le champ magnétique considéré est celui créé par tous les éléments du système à l'exclusion de l'aimant lui-même mais le résultat est le même si on prend en compte le champ créé par l'aimant (car l'aimant n'agit pas sur lui-même). En pratique, il est souvent plus simple de faire le calcul avec le champ total car le calcul du champ généré par les pièces en ferromagnétique doux ne peut se faire indépendamment des autres (puisque leur aimantation dépend du champ qu'on leur applique).

Si l'aimantation est uniforme et dans la direction de l'axe (Ox), on a :

F=Mxgrad(Bx)dxdy(81)

Si l'aimant a une forme rectangulaire, chaque composante de la force se calcule en fait par une intégrale simple, par exemple (voir figure ci-dessous pour les notations) :

Fx=Mxyc-b/2yc+b/2(Bx(xc+a/2,y)-Bx(xc-a/2,y))dy(82) Fy=Mxxc-a/2xc+a/2(Bx(x,yc+b/2)-Bx(x,yc-b/2))dx(83)

La force sur l'aimant est due aux courants de surface sur ses faces en y=yc±b/2 . L'expression de la composante Fx est étonnante puisqu'elle fait intervenir une intégrale sur les faces x=xc±a/2 . Il est en fait possible d'obtenir une expression de cette composante sous forme d'intégrale sur y=yc±b/2 en utilisant la nullité de la divergence du champ magnétique :

Bxx+Byy=0(84)

Une autre manière de calculer la résultante des forces magnétiques et d'utiliser le courant de surface équivalent :

Sm=Mn(85)

La force s'exprime comme une intégrale sur la surface de l'aimant :

F=SmBds(86)

Dans le cas de l'aimant de forme rectangulaire aimanté dans la direction x (voir figure ci-dessous), le courant de surface est localisé sur les faces perpendiculaires à (Oy) :

Sm(y=yc+b/2)=Mxuz(87) Sm(y=yc-b/2)=-Mxuz (88)

On obtient :

Fx=Mxxc-a/2xc+a/2(-By(x,yc+b/2)+By(x,yc-b/2))dx(89) Fy=Mxxc-a/2xc+a/2(Bx(x,yc+b/2)-Bx(x,yc-b/2))dx (90)

L'expression de Fy est identique à la précédente. La composante Fx est différente mais, comme déjà mentionné, elle peut s'en déduire.

Une troisième manière de calculer la force sur un aimant est d'utiliser les charges magnétiques équivalentes. On a en effet :

F=VρmBdV+SσmBdS=-V(divM)BdV+SMnBdS(91)

Dans le cas d'un aimant de forme rectangulaire aimanté dans la direction x, on obtient :

Fx=Mxyc-b/2yc+b/2(Bx(xc+a/2,y)-Bx(xc-a/2,y))dy(92) Fy=Mxyc-a/2yc+a/2(By(xc+a/2,y)-By(xc-a/2,y))dy(93)

Avec ces formules, l'intégration de fait sur y seulement et sur des faces où le champ magnétique B créé par l'aimant est continu.

4.d. Force magnétique : approche énergétique

Système sans aimants permanents

Considérons tout d'abord le cas d'un système sans aimants permanents, constitué de deux bobines b1 et b2 parcourues par les courants respectifs i1 et i2 (intensité à l'instant considéré). Notons Φ11 (et Φ22 ) le flux magnétique généré par la bobine b1 (respectivement b2) dans elle-même, et Φ12 le flux magnétique généré par la bobine b1 dans la bobine b2. Nous supposons que le système est linéaire, ce qui revient à supposer que d'éventuels noyaux en ferromagnétique doux ont un comportement linéaire. On peut alors définir les coefficients d'inductance, permettant d'exprimer les flux en fonction des courants :

Φ11=L1i1(94) Φ22=L2i2(95) Φ12=L12i1(96) Φ21=L21i2 (97)

avec L12=L21.

Déterminons tout d'abord l'énergie qu'il faut pour établir les courants, les circuits et les pièces en ferromagnétique doux étant immobiles. Notons Ec cette énergie, qui est par définition l'énergie du champ magnétique. Si i2=0, une augmentation di1 du courant dans b1 fait varier le flux propre et il apparaît donc dans cette bobine une f.é.m. :

e1=-dΦ11dt(98)

En conséquence, la source qui alimente b1 doit fournir un travail δW1=-e1i1dt=i1dΦ11=L1i1di1 . L'énergie qu'il faut fournir pour établir le courant dans b1 est donc, par sommation, 12L1i12 . Ce courant étant maintenu constant, une augmentation di2 du courant dans la bobine b2 demande à sa source de fournir δW2=-e2i2dt=i2dΦ22=L2i2di2 mais elle génère aussi une variation du flux Φ21 dans la bobine b1, donc une f.é.m. :

e21=-Φ21dt(99)

La source de b1 doit donc fournir un travail δW21=-e21i1dt=i1dΦ21=i1L21di2

Pour ce système linéaire, l'énergie qu'il faut apporter pour établir les courants (énergie du champ) s'écrit donc :

Ec=12L1i12+12L2i22+L12i1i2(100)

Cette énergie du champ peut aussi s'exprimer explicitement en fonction des champs. Pour une variation infinitésimale des champs (circuits fixes), la variation d'énergie s'écrit [1] :

dEc=jdAdv(101)

Si le système est linéaire, l'énergie du champ s'écrit :

Ec=12jAdv(102)

Considérons à présent un déplacement virtuel de b1 à courants constants, qui génère dans la bobine b2 une f.é.m.

e2=-dΦ12dt(103)

La source de cette bobine doit fournir un travail électrique :

δW2=-e2i2dt=i2dΦ12(104)

Ce déplacement génère aussi une f.é.m. dans la bobine b1 :

e1=-dΦ21dt(105)

et la source de cette bobine fournit le travail :

δW1=-e1i1dt=i1dΦ21(106)

En présence de pièces en ferromagnétique doux, le flux propre Φ11 peut varier et le travail correspondant est

δW'1=i1dΦ11(107)

Si l'on note δWm le travail des forces de Laplace sur la bobine b1 au cours de son déplacement, le travail que l'opérateur fournit pour réaliser ce déplacement de manière réversible est -δWm .

La conservation de l'énergie implique que la somme des travaux (électrique et mécanique) est égale à la variation d'énergie du champ :

-δWm+δW1+δW'1+δW2=dEc(108)

Nous devons exprimer dEc , sachant que le déplacement virtuel se fait à intensités du courant constantes. Seuls les coefficients d'inductance L11 et L12 sont modifiés, on a donc :

dEc=12d L1i12+d L12i1i2(109)

qui peut aussi s'exprimer à l'aide de variations infinitésimales de flux (puisque les courants sont constants) :

dEc=12i1dΦ11+i2d Φ12(110)

Remarque : le dernier terme est aussi égal à i1dΦ21 . On obtient :

δWm=12i1dΦ11+i1dΦ21=dEc(111)

Le travail des forces magnétiques lors d'un déplacement virtuel à courants constants est donc égal à la variation d'énergie du champ. Il s'en suit que la travail fourni par les sources est :

δWs=dEc+δWm=2dEc(112)

La relation (111) montre que les forces magnétiques sont dans un sens qui tend à augmenter les flux, puisque un déplacement dans le sens de la force donne un travail δWm positif. Cette relation permet de calculer la résultante et le moment des forces magnétiques sur b1. Par exemple, si l'on veut calculer la composant F1,x de la résultante, on calcule dΦ21 et dΦ11 pour une translation dx1ux de la bobine b1 et on a :

F1,xdx1=12i1dΦ11+i1dΦ21(113)

La résultante des forces magnétiques sur la bobine 1 s'écrit donc :

F1=12i1grad1Φ11+i1grad1Φ21(114)

Dans cette expression, le gradient est une dérivée par rapport à la position de la bobine b1. Autrement dit, le calcul numérique de la force consiste à calculer les flux pour deux positions de la bobine très proches et à évaluer le gradient dans la direction du déplacement par différence finie.

La force qui s'exerce sur la bobine b2 s'écrit :

F2=12i2grad2Φ22+i2grad2Φ12(115)

Il faut bien différentier les deux termes de la force :

F11=i1grad1Φ11(116) F21=i1grad1Φ21(117) F22=i2grad2Φ22(118) F12=i2grad2Φ12 (119)

La force exercée par la bobine b2 sur la bobine b1 est F21 . Déplacer la bobine b1 d'un vecteur dr1 conduit à la même variation d'inductance mutuelle que le déplacement de la bobine b2 d'un vecteur dr2=-dr1 puisque l'inductance mutuelle ne dépend que la position relative des bobines. En conséquence :

F21=i1i2grad1L12=-i1i2grad2 L12=-i2grad2Φ12=-F12(120)

Les forces entre les deux bobines satisfons le principe des actions réciproques. La force F11 est en fait la force exercée par l'ensemble des pièces en ferromagnétique doux qui ont une influence sur L11 . Si l'on admet que le principe des actions réciproques est valable pour cette force (ce point mérite vérification), la résultante des forces sur ces pièces est -F11 .

On obtient une expression de la force magnétique qui dépend seulement des intensités des courants et des flux magnétiques. Il peut sembler étonnant que cette expression ait été obtenue sans utiliser la loi de Laplace. En fait, le raisonnement précédent repose sur la loi de Faraday pour un circuit en déplacement, qui elle-même repose sur l'expression de Lorentz de la force magnétique. Par utilisation de la loi de Faraday, on peut donc obtenir une expression de la force sans faire explicitement référence à la loi de Laplace.

Dans le cadre du modèle bidimensionnel, nous avons vu que les flux se calculent aisément en intégrant le potentiel vecteur Az sur les parties en cuivre modélisant les bobines. Par calcul numérique des flux pour deux positions de la bobine b1 légèrement différentes, on peut donc obtenir la force (ou le moment pour un mouvement de rotation) par différence finie.

Le premier terme de δWm dans la relation (111) est dû à la présence de pièces en ferromagnétique doux (linéaires), qui peuvent faire varier le coefficient d'auto-inductance de la bobine b1. Par exemple, si un noyau en fer doux est retiré d'une bobine, son coefficient d'auto-inductance diminue donc la bobine subit une force qui tend à la déplacer vers le noyau (cette force est due au champ créé par l'aimantation du noyau); le noyau subit la force opposée, qui tend à le ramener vers la bobine. Ces forces sont qualifiés de forces de réluctance variable.

Pour un système bidimensionnel, reprenons l'expression (79) de la force exercée sur une bobine. Supposons de plus que le courant dans chaque demi-bobine est uniforme (ce qui est vrai en régime stationnaire). Pour une demi-bobine on a Jz=J , pour l'autre Jz=-J :

F=αJ(+gradAzdxdy--gradAzdxdy)(121)

La force s'exprime donc en fonction du flux dans la bobine (relation (77)) :

F=αSJgradΦ=IgradΦ(122)

Si la bobine est notée (1) et si Φ=Φ21 (flux mutuel), on obtient :

F21=i1grad1Φ21(123)

qui est bien le résultat obtenu précédemment de manière plus générale par l'approche énergétique. En revanche, la force due à la variation du flux propre est le double de celle obtenue précédemment. L'application de l'expression (79) au champ créé par la bobine elle-même n'est pas correcte car l'élément de courant de Jdv contribue au champ B . Il faut retrancher le champ dû à cet élément pour calculer la force. Il se trouve que faire cette soustraction conduit à un résultat deux fois plus petit et on obtient bien pour la force due à la variation de réluctance :

F11=12i1grad1Φ11(124)

Lorsque la bobine b1 est associée à une pièce en ferromagnétique doux (par exemple un noyau), il peut être intéressant de calculer aussi la force sur cette pièce. C'est par exemple le cas pour un noyau de rotor de machine, où les forces sur les parties en fer contribuent au couple. Notons fd cette pièce en ferromagnétique doux. Son déplacement implique une variation des flux propres de chaque bobine mais aussi une variation du flux mutuel. Un raisonnement similaire au précédent conduit à l'expression suivante de la force sur fd :

F=12i1gradΦ11+12i2gradΦ22+i1gradΦ21(125)

où le gradient est calculé avec la position de la pièce fd. Si la bobine b1 est solidaire de la pièce fd, on pourra calculer la force agissant sur l'ensemble au moyen de cette relation. Dans ce cas, il s'agit de calculer les gradients par différence finie, en déplaçant à la fois la bobine b1 et la pièce fd. Si l'on ne déplace que l'un des deux, on obtient la force sur celui-ci.

Lorque les champs sont calculés par résolution numérique de l'équation de Poisson pour le potentiel vecteur, le calcul des flux Φ11 , Φ22 et Φ21 nécessite de faire trois fois la résolution. Une méthode plus efficace consiste à utiliser l'énergie du champ. Si un ensemble d'éléments rigidement liés se déplace à courants constants (par exemple une bobine et son noyau), la force agissant sur cet ensemble s'écrit [1],[2] :

F=gradEc(126)

où le gradient est calculé par rapport à la position de l'ensemble considéré. Dans le cas d'un système linéaire bidimensionnel, l'énergie du champ se calcule aisément par une intégration sur les parties contenant du courant :

Ec=2jzAzdxdy(127)

Il fait bien noter le facteur 1/2 dans cette expression et le fait que la force à courants constants se calcule par le gradient de cette énergie et non pas l'opposé. En effet, cette énergie n'est pas l'énergie potentielle associée à la force car les sources fournissent de l'énergie lors du déplacement. Il faut aussi noter que le potentiel vecteur intervenant dans cette intégrale est le potentiel vecteur total, c'est-à-dire qu'il comporte la contribution de la densité de courant locale.

L'expression (127) présente une similitude avec l'expression (77) du flux à travers une bobine. La densité de courant étant constante dans chaque partie de la bobine, on a en effet (pour α=1 ) :

IΦ=SJΦ=jzAzdxdy(128)

Le flux magnétique à travers une bobine est donc le double de la contribution de cette bobine à l'énergie du champ.

Dans l'expression (125), il y a bien un facteur 1/2 pour les termes dus aux flux propres mais pas pour le terme du au flux mutuel. L'énergie du champ due au flux mutuel comporte en fait deux termes, un pour chaque bobine :

Ec=21jzAzdxdy+22jzAzdxdy(129)

Lorsqu'on déplace la bobine b1, les deux termes varient. Le premier terme est en fait 12i1Φ21 , le second est 12i2Φ12 . La somme des deux est bien égal à i1Φ21 (ou bien i2Φ12 ).

Avec aimants permanents

Soit un aimant idéal à proximité d'une bobine b1. L'aimant joue le rôle de la bobine b2 précédente. Au lieu de calculer la force sur l'aimant, nous pouvons calculer la force F21 sur la bobine, qui est l'opposée de la force sur l'aimant. On a :

F21=i1grad1Φ21(130)

Φ21 est le flux magnétique généré par l'aimant dans la bobine. La force exercée par la bobine sur l'aimant est donc :

F12=-i1grad1Φ21=i1grad2Φ21(131)

En présence de pièces en ferromagnétique doux, il faut aussi calculer la force que ces pièces exercent sur l'aimant.

La présence d'un aimant permanent dans le système semble à première vue rendre impossible l'application des résultats établis ci-dessus pour un système linéaire puisque la relation B(H) n'est pas linéaire. Pourtant, un aimant idéal (aimantation indépendant du champ) se comporte comme une bobine de courant constant. La seule différence est que le courant dans la bobine est volumique alors que celui de l'aimant est surfacique. Lorsqu'on fait une résolution par différence finie, le courant surfacique est de toute manière traité comme un courant volumique réparti sur une épaisseur égale à la largeur de la maille.

Nous pouvons donc écrire l'expression de l'énergie pour un système comportant des éléments linéaires (bobines et ferromagnétiques linéaires) et des aimants permanents idéaux :

Ec=2jzAzdxdy+2SmAzdx(132)

La première intégrale se fait sur tous les domaines parcourus par des courants volumiques (bobines), la seconde se fait sur bords des aimants comportant un courant surfacique équivalent (bords que nous supposons parallèles à (Ox)).

La résultante des forces sur un ensemble de pièces est obtenue en calculant le gradient de cette énergie par rapport à la position de cet ensemble :

F=gradEc(133)

Le calcul numérique consiste à calculer l'énergie pour deux positions très proches de cet ensemble de pièces puis à évaluer le gradient dans la direction du déplacement par différence finie.

5. Problème bidimensionnel sans ferromagnétique doux

Lorsque le problème ne comporte pas de ferromagnétiques doux, c'est-à-dire qu'il n'y a que des aimants permanents et des bobines dans l'air, le champ magnétique peut être calculé directement par des intégrales. Ce type de calcul est beaucoup plus simple à implémenter qu'une résolution par différence finie ou par éléments finis. De plus, lorsque l'aimant a une forme rectangulaire, le champ magnétique qu'il génère admet une expression analytique.

Nous considérons le cas d'un aimant de forme rectangulaire et nous cherchons à calculer le flux qu'il génère dans une bobine (sans noyau). Aucun courant ne circule dans la bobine.

Les dimensions de l'aimant et son aimantation sont définies sur la figure suivante.

aimantBobine-air-fig.svgFigure pleine page

Le centre de l'aimant est C(xc,yc) mais nous faisons le calcul en plaçant le centre à l'origine du repère. La face située en x=a/2 porte une charge magnétique M, la face en x=-a/2 porte une charge magnétique -M. Calculons tout d'abord l'excitation magnétique générée par une face de charge M centrée à l'origine. Un élément de longueur dy de cette face est équivalent à un fil rectiligne infini portant une charge linéique Mdy. Le champ électrostatique créé par un fil rectiligne infini chargé uniformément est radial et son expression s'obtient aisément avec le théorème de Gauss. Par analogie, on obtient l'excitation magnétique créé par un élément de la face située au point Q :

H(P)=14π-b2b2QP(QP)2Mdyq(134)

En explicitant en fonction des coordonnées de P :

Hx(x,y)=M4π-b2b2xx2+(y-yq)2dyq(135) =M4π(arctan(y+b2x)-arctan(y-b2x))(136) Hy(x,y)=M4π-b2b2y-yqx2+(y-yq)2dyq(137) =M4π12(ln(x2+(y+b2)2)-ln(x2+(y-b2)2)) (138)

Le champ créé par la charge de surface de la face nord de l'aimant se déduit des expressions précédentes en remplaçant x par x-xc-a/2 et y par y-yc. Celui généré par la face sud se déduit en remplaçant x par x-xc+a/2, y par y-yc et en M par -M.

Hx(x,y)=M4π(arctan(y-yc+b2x-xc-a2)-arctan(y-yc-b2x-xc-a2)-arctan(y-yc+b2x-xc+a2)+arctan(y-yc-b2x-xc+a2))(139) Hy(x,y)=M4π12(ln((x-xc-a2)2+(y-yc+b2)2)-ln((x-xc-a2)2+(y-yc-b2)2)-ln((x-xc+a2)2+(y-yc+b2)2)+ln((x-xc+a2)2+(y-yc-b2))2) (140)

En dehors de l'aimant on a B/μ0=H . Dans l'aimant, on a B/μ0=H+M .

Afin de calculer le flux généré par l'aimant dans la bobine, nous devons calculer le potentiel vecteur. Nous pouvons pour cela utiliser l'intégrale (70). Dans le cas présent, les faces portant un courant équivalent sont les faces perpendiculaire à (Oy). Supposons dans un premier temps que l'aimant soit centré à l'origine. La face située en y=b/2 porte un courant surfacique M, la face en y=-b/2 porte un courant surfacique -M. Le potentiel vecteur généré par la première s'écrit :

Az(x,y)=μ04πM(x-xq)2+(y-b2)2+zq2dxqdzq(141)

Considérons tout d'abord l'intégration sur zq. Posons ρ2=(x-xq)2+(y-b2)2 . On a :

-/2/2dzqρ2+zq2=ln(2+ρ2+(2)2)-ln(-2+ρ2+(2)2)(142)

Cette intégrale diverge lorsque mais on peut en donner une forme approchée lorsque ρ :

-/2/2dzqρ2+zq22ln(ρ)(143)

Il reste l'intégrale sur xq à calculer :

Az(x,y)=μ0M4π-a/2a/2(2ln()-2ln((x-xq)2+(y-b2)2))dxq(144)

Nous voulons utiliser le potentiel vecteur pour calculer le flux dans la bobine avec la relation (77). Le terme 2aln() disparaît dans le flux donc on peut écrire :

Az(x,y)=-2μ0M4π-a/2a/2ln((x-xq)2+(y-b2)2)dxq(145)

Posons X=x-xq et Y=y-b2 . On a :

Az=2μ0M4πx+a/2x-a/2ln(X2+Y2)dX=2μ0M4π[Xln(X2+Y2)-2X+2Yarctan(XY)]x+a/2x-a/2(146)

Ce résultat permet d'exprimer sous forme analytique le potentiel vecteur créé par la face située en y=b/2 portant le courant surfacique M. L'autre face est située en y=-b/2 et porte le courant surfacique -M.

Pour les calculs numériques, il est commode d'utiliser une unité de longueur arbitraire, par exemple le millimètre. Si D désigne cette unité de longueur, la valeur de Az devra être multipliée par D pour obtenir la valeur en unité SI. Il en est de même du flux magnétique.

Voici un exemple de calcul du potentiel vecteur (divisé par μ0 ) avec tracé de ses lignes d'isovaleur :

def fa(X,Y):
    return np.float64(Y)*np.log(np.float64(X)**2+np.float64(Y)**2)-2*np.float64(X)+2*np.float64(Y)*np.arctan(np.float64(X)/np.float64(Y))

def champAz(M,xc,yc,a,b,x,y):
    A1 = M*(fa(x-xc-a/2,y-yc-b/2)-fa(x-xc+a/2,y-yc-b/2))
    A2 = -M*(fa(x-xc-a/2,y-yc+b/2)-fa(x-xc+a/2,y-yc+b/2))
    return (A1+A2)/(2*np.pi)
                           

Remarque : la conversion en type np.float64 permet de prendre en charge correctement la singularité pour Y=0 : l'arctangente est alors égal à π/2 (le terme est donc nul).

xc,yc = 0,0
a,b = 1,1
M = 1
x,y = np.meshgrid(np.linspace(-3, 3, 200), np.linspace(-3, 3, 200))
figure(figsize=(8,8))
Az = champAz(M,xc,yc,a,b,x,y)
contour(x,y,Az,levels=np.linspace(Az.min(),Az.max(),21))
plot([xc-a/2,xc+a/2,xc+a/2,xc-a/2,xc-a/2],[yc+b/2,yc+b/2,yc-b/2,yc-b/2,yc+b/2],'k')
grid()
                           
fig7fig7.pdf

La fonction suivante calcule l'excitation magnétique :

def champH(M,xc,yc,a,b,x,y):
    a2 = a/2
    b2 = b/2
    Hx = M/(4*np.pi)*(np.arctan((y-yc+b2)/(x-xc-a2))-np.arctan((y-yc-b2)/(x-xc-a2))-np.arctan((y-yc+b2)/(x-xc+a2))+np.arctan((y-yc-b/2)/(x-xc+a2)))
    Hy = M/(4*np.pi)*0.5*(np.log((x-xc-a2)**2+(y-yc+b2)**2)-np.log((x-xc-a2)**2+(y-yc-b2)**2)-np.log((x-xc+a2)**2+(y-yc+b2)**2)+np.log((x-xc+a2)**2+(y-yc-b2)**2))
    return np.array([Hx,Hy])
                           

La fonction suivante calcule le champ magnétique divisé par μ0 :

def champB(M,xc,yc,a,b,x,y):
    H = champH(M,xc,yc,a,b,x,y)
    a2 = a/2
    b2 = b/2
    if (x>xc-a2) and (x<xc+a2) and (y>yc-b2) and (y<yc+b2):
        return H+np.array([M,0])
    else:
        return H
                           

La fonction suivante calcule une ligne de champ magnétique :

def ligneChampB(M,xc,yc,a,b,x0,y0,L,h,sens=1):
    # x0,y0 : point initial de la ligne
    # L : longueur de la ligne
    # h : pas de longueur curviligne
    # sens : sens de la ligne
    x = x0
    y = y0
    l = 0
    X = [x0]
    Y = [y0]
    while l<L:
        B = champB(M,xc,yc,a,b,x,y)
        norm = np.sqrt(B[0]*B[0]+B[1]*B[1])
        U = B/norm
        x += sens*U[0]*h
        y += sens*U[1]*h
        X.append(x)
        Y.append(y)
        l += h
    return np.array(X),np.array(Y)
                           

Voici le tracé de lignes de champ magnétique :

L = 5
h = 1e-3

figure(figsize=(8,8))
y0 = np.linspace(-b/2,b/2,21)
for k in range(len(y0)):
    X,Y = ligneChampB(M,xc,yc,a,b,0,y0[k],L,h,1)
    plot(X,Y,'b')
    X,Y = ligneChampB(M,xc,yc,a,b,0,y0[k],L,h,-1)
    plot(X,Y,'b')
plot([xc-a/2,xc+a/2,xc+a/2,xc-a/2,xc-a/2],[yc+b/2,yc+b/2,yc-b/2,yc-b/2,yc+b/2],'k')
xlabel('x')
ylabel('y')
grid()
xlim(-3,3)
ylim(-3,3)                      
                           
fig8fig8.pdf

Les lignes de champ magnétique sont bien identiques aux lignes d'isovaleurs de Az.

Pour calculer le flux magnétique généré par l'aimant dans une bobine, nous devons calculer la moyenne de Az sur un rectangle :

def moyAz(M,xc,yc,a,b,xb,yb,c,d,N):
    # xb,yb : centre du rectangle
    # c,d : longueur et largeur du rectangle
    x,y = np.meshgrid(np.linspace(xb-c,xb+c,N),np.linspace(yb-d,yb+d,N))
    Az = champAz(M,xc,yc,a,b,x,y)
    return Az.mean()
    
                            

La fonction suivante calcule le flux à travers une bobine centrée sur l'origine (on déplacera l'aimant) :

def fluxBobine(M,xc,yc,a,b,R,c,d,N):
    # R : rayon de la bobine
    # c,d : longueur et largeur de chaque demi-bobine
    return moyAz(M,xc,yc,a,b,0,R/2,c,d,N)-moyAz(M,xc,yc,a,b,0,-R/2,c,d,N)
                            

Voici un exemple de calcul de flux avec un déplacement de l'aimant dans l'axe de la bobine (la bobine est plus large que l'aimant) :

R = 1.5
N = 100
c,d = 0.5,0.5
a,b = 1,1
xc = np.linspace(-5,5,100)
yc = 0
flux = np.zeros(len(xc))
for k in range(len(xc)):
    flux[k] = fluxBobine(M,xc[k],yc,a,b,R,c,d,N)
figure(figsize=(12,6))
title('yc=0')
plot(xc,flux)
grid()
xlabel(r'$x_c/D$',fontsize=18)
ylabel(r"$\frac{\Phi}{M\mu_0D}$",fontsize=18)
                            
fig9fig9.pdf

La force électromotrice (divisée par la vitesse de l'aimant) se déduit par dérivation :

from scipy.signal import convolve
dx = xc[1]-xc[0]
fem = convolve(-flux,[1/dx,-1/dx],mode='same')
figure(figsize=(12,6))
title('yc=0')
plot(xc[1:],fem[1:])
grid()
xlabel(r'$x_c/D$',fontsize=18)
ylabel(r"$\frac{e}{M\mu_0Dv}$",fontsize=18)
                            
fig10fig10.pdf

La résutante des forces magnétiques sur l'aimant est égale au gradient du flux magnétique dans la bobine par rapport à la position de l'aimant, multipliée par l'intensité du courant dans la bobine (relation (130)). La courbe de flux en fonction de xc permet donc de déterminer la composante de la force sur l'axe (Ox), qui est la seule lorsque yc=0 :

figure(figsize=(12,6))
title('yc=0')
plot(xc[1:],-fem[1:])
grid()
xlabel(r'$x_c/D$',fontsize=18)
ylabel(r"$\frac{F_x}{M\mu_0ID}$",fontsize=18)

                            
fig11fig11.pdf

Voici le flux pour un déplacement transversal de l'aimant :


yc = np.linspace(-5,5,100)
xc = -1
flux = np.zeros(len(yc))
for k in range(len(yc)):
    flux[k] = fluxBobine(M,xc,yc[k],a,b,R,c,d,N)
figure(figsize=(12,6))
title('xc=-1')
plot(yc,flux)
grid()
xlabel(r"$y_c/D$",fontsize=18)
ylabel(r"$\frac{\Phi}{M\mu_0D}$",fontsize=18)
                            
fig12fig12.pdf

et la force électromotrice :

dy = yc[1]-yc[0]
fem = convolve(-flux,[1/dy,-1/dy],mode='same')
figure(figsize=(12,6))
title('xc=-1')
plot(yc[1:],fem[1:])
grid()
xlabel(r"$y_c/D$",fontsize=18)
ylabel(r"$\frac{e}{M\mu_0Dv}$",fontsize=18)
                            
fig13fig13.pdf

Voici la composante Fy de la force :

figure(figsize=(12,6))
title('xc=-1')
plot(yc[1:],-fem[1:])
grid()
xlabel(r"$y_c/D$",fontsize=18)
ylabel(r"$\frac{F_y}{M\mu_0ID}$",fontsize=18)
                            
fig14fig14.pdf

Voici le flux pour un déplacement transversal de l'aimant lorsque l'aimant est plus large que la bobine (aimant plat) :


yc = np.linspace(-5,5,100)
xc = -1
a,b = 1,5
flux = np.zeros(len(yc))
for k in range(len(yc)):
    flux[k] = fluxBobine(M,xc,yc[k],a,b,R,c,d,N)
figure(figsize=(12,6))
title('xc=-1')
plot(yc,flux)
grid()
xlabel(r"$y_c/D$",fontsize=18)
ylabel(r"$\frac{\Phi}{\mu_0D}$",fontsize=18)
                            
fig15fig15.pdf

fem = convolve(-flux,[1,-1],mode='same')
figure(figsize=(12,6))
title('xc=-1')
plot(yc[1:],fem[1:])
grid()
xlabel(r"$y_c/D$",fontsize=18)
ylabel(r"$\frac{e}{M\mu_0Dv}$",fontsize=18)
                            
fig16fig16.pdf

6. Problème bidimensionnel avec ferromagnétique doux

Comme expliqué plus haut, la présence de pièces en ferromagnétique doux (fer ou ferrites) rend impossible le calcul du champ magnétique par des intégrales. En effet, l'aimantation de ces pièces dépend du champ, contrairement à celle des aimants permanents idéaux, qui est indépendante du champ magnétique. Le problème doit être résolu par une méthode de résolution numérique de l'équation de Poisson pour le potentiel vecteur : méthode des différences finies (ou des volumes finis) ou méthode des éléments finis.

La méthode des éléments finis permet de résoudre une grande variété de problèmes (même si on se limite aux problèmes bidimensionnels). Non seulement on peut ajouter des pièces en ferromagnétique doux mais on peut aussi considérer des aimants de formes variées (pas seulement rectangulaire comme dans l'exemple ci-dessus).

Nous faisons la résolution par éléments finis avec le logiciel libre Finite Element Method Magnetic. Nous utilisons l'interface pour Python (pyfemm), qui permet de piloter le logiciel depuis un script Python (le logiciel doit être installé). Ce script permet de définir une géométrie complexe dépendant d'un ou de plusieurs paramètres et d'obtenir des tracés de champ sur des courbes particulières. Les commandes de l'interface Python sont des répliques des opérations que l'on effectue lorsqu'on utilise directement l'interface utilisateur. Il faut donc bien se familiariser avec cette interface avant d'aborder l'écriture des scripts Python.

Le logiciel FEMM permet d'effectuer la résolution numérique d'un problème de magnétostatique (ou d'électrostatique ou de diffusion thermique) par la méthode des éléments finis. Il résout les problèmes bidimensionnels, en géométrie plane ou axisymétrique. Contrairement au logiciel FreeFEM, dont l'utilisation pour un problème de magnétostatique est exposée dans Équation de Poisson : méthode des éléments finis, le logiciel FEMM peut être utilisé sans aucune connaissance sur la méthode des éléments finis ni même des équations de la magnétostatique. Le système magnétique est en effet défini directement par ses caractéristiques physiques. En revanche, ce logiciel ne traite pas les problèmes tridimensionnels, qui de toute façon nécessitent des capacités de calcul très supérieures.

Nous décrivons le script python qui permet de résoudre le problème défini sur la figure suivante :

aimantBobine-fer-fig.svgFigure pleine page

Ce problème sans noyau de fer dans la bobine est résolu plus haut par la méthode intégrale. On prévoit donc la possibilité d'enlever le noyau afin de comparer aux résultats précédents. La bobine est éventuellement parcourue par un courant d'intensité Ib dans ses Nb spires, qui sont modélisées par autant de fils rectilignes dans chacune des deux parties en cuivre. Ces deux paramètres servent en fait à calculer la densité de courant dans le cuivre : J=NIcd .

On commence par définir le type de problème à résoudre (magnétostatique) et la géométrie (plane) :

aimant-bobine.py
import femm
import numpy as np
import matplotlib.pyplot as plt
from os.path import exists

femm.openfemm()
femm.newdocument(0)
# 0 : magnetic, 1 : electrostatic, 2 ; heat flow, 3 : current flow
femm.mi_probdef(0, 'millimeters', 'planar', 1.0e-8, 0, 30);                
                

On définit les paramètres géométriques pour l'aimant, la bobine et son noyau (en millimètres) :

a = 10 # longueur de l'aimant (mm)
b = 5 # largeur de l'aimant
xc,yc = -10,0 # position du centre de l'aimant
Rb = 5 # rayon de la bobine
d = 5 # épaisseur de la bobine
c = 5 # profondeur de la bobine
L = 5 # longueur du noyau
R1 = 50 # rayon du domaine
noyau = True   
df = 1 # diamètre du fil
nx,ny = int(c/df),int(d/df)
Ib = 0 # intensité du courant dans la bobine
Nb = nx*ny # nombre de fils (de spires) dans un bloc de cuivre de la bobine          
        

La fonction mi_addmaterial permet de définir un matériau par ses propriétés physiques. Il y a 13 propriétés mais la fonction mi_addmaterial a un nombre de paramètres variables. Nous n'utilisons que les 5 premiers paramètres :

Nous n'utilisons pas la densité de courant pour définir les courants dans la bobine (voir plus loin). La conductivité électrique du cuivre est définie par principe mais elle ne sert pas dans notre simulation.

Voici les quatre matériaux :

femm.mi_addmaterial('Air', 1, 1)
femm.mi_addmaterial('Cuivre', 1, 1, 0, 0, 58)
femm.mi_addmaterial('AimantFerrite',1,1,3e5)
femm.mi_addmaterial('Fer', 2000, 2000)
          

Le matériau ferromagnétique de l'aimant est défini par son champ coercitif. Le modèle d'aimant utilisé par défaut est celui d'aimant idéal, pour lequel l'aimantation est égale au champ coercitif : M=Hc . Le logiciel permet de définir un modèle plus réaliste de matériau ferromagnétique par une définition complète de la courbe B-H, au moyen de la commande mi_addbhpoints.

Le système contient deux circuits (les deux parties de la bobine) :

femm.mi_addcircprop('1+',Ib,1)# courant dans la partie + de la bobine (name, current, 1=series, 0=parallel)
femm.mi_addcircprop('1-',-Ib,1)           
            

On définit un rectangle pour chaque élément (un pour l'aimant, deux pour la bobine et un pour le noyau) :

femm.mi_drawrectangle(xc-a/2,yc-b/2,xc+a/2,yc+b/2) # aimant
femm.mi_drawrectangle(-c/2,-Rb-d,c/2,-Rb) # bobine partie -
femm.mi_drawrectangle(-c/2,Rb,c/2,Rb+d) # bobine partie +
if noyau:
    femm.mi_drawrectangle(-L/2,-Rb,L/2,Rb) # noyau        
            

L'affectation d'un matériau à un domaine se fait en créant un label dans ce domaine, qui doit être sélectionné avant d'appeler la fonction mi_setblockprop. Voici comment se fait l'affectation du matériau nommé AimantFerrite au rectangle définissant l'aimant :

femm.mi_addblocklabel(xc,yc) # aimant
femm.mi_selectlabel(xc,yc)
angleM = 0
femm.mi_setblockprop('AimantFerrite',0,1,'<None>',angleM,0)
femm.mi_clearselected()           
             

L'aimantation dans le domaine est uniforme et sa direction est définie par un angle en degrés.

On affecte les matériaux Air et Fer aux domaines correspondants :

femm.mi_addblocklabel(R1/2,0) # air
femm.mi_selectlabel(R1/2,0)
femm.mi_setblockprop('Air', 0, 1, '<None>', 0, 0, 0)
femm.mi_clearselected()

if noyau:
    femm.mi_addblocklabel(0,0) # fer
    femm.mi_selectlabel(0,0)
    femm.mi_setblockprop('Fer', 0, 1, '<None>', 0, 0, 0)
    femm.mi_clearselected()        
             

Pour les deux domaines de cuivre constituant la bobine, on précise en 4e argument le nom du circuit (défini plus haut). Définir un circuit plutôt qu'une densité de courant permet d'alimenter plusieurs bobines par un même courant (défini une seule fois dans le script). De plus, il est plus pratique de définir le courant par une intensité et un nombre de spires que par une densité de courant.

femm.mi_addblocklabel(0,-Rb-d/2) # cuivre bobine partie -
femm.mi_selectlabel(0,-Rb-d/2)
femm.mi_setblockprop('Cuivre', 0, 1, '1-', 0, 0,Nb)
femm.mi_clearselected()

femm.mi_addblocklabel(0,Rb+d/2) # cuivre bobine partie +
femm.mi_selectlabel(0,Rb+d/2)
femm.mi_setblockprop('Cuivre', 0, 1, '1+', 0, 0,Nb)
femm.mi_clearselected()          
               

Il faut définir une frontière globale pour le domaine et de la condition limite sur cette frontière. Dans le cas présent, cette frontière doit être relativement loin des objets étudiés (aimant et bobine) et elle doit simuler un milieu ouvert, c'est-à-dire un milieu sans frontière. La fonction mi_makeABC permet de définir une série de cercles concentriques à la périphérie du domaine, avec des conditions limites sur ces cercles qui permettent de simuler un milieu ouvert. On doit préciser le nombre de cercle (entre 1 et 10), le rayon, les coordonnées du centre et la condition sur le plus grand cercle (0 pour Dirichlet, 1 pour Neumann).

femm.mi_makeABC(5,R1,0,0,0) # frontière ouverte           
                   

La dernière étape consiste à sauvegarder la configuration dans un fichier et à lancer l'analyse puis la résolution numérique.

femm.mi_zoomnatural()
femm.mi_saveas('aimant-bobine.fem')
femm.mi_analyze()
femm.mi_loadsolution()               
                   

Cela a pour effet d'ouvrir l'interface graphique de FEMM avec le système défini et la résolution effectuée. Si l'on souhaite continuer à utiliser cette interface pour faire des calculs complémentaires, il faut ajouter dans le script une fonction bloquante, par exemple la fonction plt.show(). On ajoute au script le calcul du flux à travers la bobine et de la résultante des forces magnétiques sur l'aimant. Les résultats sont sauvegardés dans un fichier texte.

femm.mo_selectblock(0,Rb+d/2)
A1 = femm.mo_blockintegral(1) # intégrale de Az
S = femm.mo_blockintegral(10) # volume du domaine de cuivre
femm.mo_clearblock()
femm.mo_selectblock(0,-Rb-d/2)
A2 = femm.mo_blockintegral(1)
femm.mo_clearblock()
flux = (A1-A2)/S
print("Flux = ",flux)
femm.mo_selectblock(xc,yc) # aimant
Fx = femm.mo_blockintegral(20)*2
Fy = femm.mo_blockintegral(21)*2
femm.mo_clearblock()
print("Fx, Fy = ",Fx,Fy) # force sur l'aimant


filename = "aimant-bobine-1.txt"    
with open(filename,'a') as f:
    f.write("%g %g %g %g %g\n"%(xc,yc,flux,Fx,Fy))
    
plt.figure()
plt.show()
femm.closefemm()
                          

Voici le résultat en l'absence de noyau et sans courant dans la bobine :

aimant-bobine

Voici le flux et la force sur l'aimant :

Flux =  0.0003065407114543124
Fx, Fy =  0.0003636330611419882 -0.00010117773530462408
                          

Dans cette situation, aucune force n'agit sur l'aimant. Ces valeurs sont donc des erreurs de calcul numérique.

Voici le résultat avec un noyau dans la bobine :

aimant-bobine
Flux =  0.000394925404164417
Fx, Fy =  0.02281126189774918 6.408311821299158e-05
                          

La présence du noyau augmente un peu le flux. La composante Fx a une valeur positive significative par rapport à l'erreur d'arrondi : il y a en effet une force attractive vers la pièce en fer (due à l'aimantation de celle-ci).

Voici le résultat avec le noyau et avec un courant de 10 A dans la bobine :

aimant-bobine
Flux =  0.0006550579584724875
Fx, Fy =  0.03507013002726568 4.168615044096322e-05
                          
Références
[1]  J.D. Jackson,  Classical Electrodynamics,  (John Wiley Sons, 1975)
[2]  W.K.H. Panofsky, M. Phillips,  Classical electricity ans magnetism,  (Dover, 1990)
Creative Commons LicenseTextes et figures sont mis à disposition sous contrat Creative Commons.