Dans le cas de problèmes 2D plans ou axisymétriques, la formulation en potentiel vecteur magnétique se ramène à calculer uniquement ses composantes $a_z(x,y)$ ou $a_\theta(r,z)$.
Dans ces cas, la jauge de Coulomb $(\text{div}\,{\bf a} = 0)$ est automatiquement vérifiée et n’a pas besoin d’être spécifiquement imposée.
Pour définir $W^1$ approximant $\textbf{H}({\bf rot},\Omega)$, il existe dans GetDP des fonctions de base spécialement dédiées. Elles sont associées à des arrêtes fictives s’appuyant sur les nœuds du domaine et perpendiculaires au plan d’étude. En pratique, nous pourrons définir notre espace d’aproximation comme suit :
FunctionSpace {
{ Name Hrot ; Type Form1P ;
BasisFunction {
{ Name se ; NameOfCoef ae ; Function BF_PerpendicularEdge ;
Support Region[{Domaine}] ; Entity NodesOf[All] ; } }
Constraint {
{ NameOfCoef ae ; EntityType NodesOf ; NameOfConstraint Dirichlet ; }
}
}
}
Traiter numériquement l’exercice du cylindre plongé dans un champ uniforme :
Pour des besoins d’électronique de puissance (ne m’en demandez pas plus), on désire concevoir une inductance de 250 µH sous 15 A avec :
Simuler le problème correspondant et donner une solution.
Après avoir traité le problème avec une loi de comportement magnétique linéaire dans la ferrite ($\mu_r$ constant), il faudra sûrement résoudre le problème en prenant en compte la non-linéarité de cette loi. Pour ce faire, je vous renvoie à cette explication très bien faite sur le wiki de GetDP. Vous pouvez également consulter cette page.
Je vous fournis également la définition complète du matériau (N27) de la ferrite (en utilisant les mêmes notations que dans les exemples du wiki) :
Function{
If(NonLineaire)
Mat_core_b = {0.000000, 0.068851, 0.079231, 0.096630, 0.104285, 0.117920, 0.123374,
0.150912, 0.191749, 0.202635, 0.239024, 0.243936, 0.245556, 0.267244,
0.290565, 0.296190, 0.312896, 0.313356, 0.335942, 0.364839, 0.368482,
0.376766, 0.477117, 0.494881, 0.666990, 0.828539, 0.832720};
Mat_core_h = {0.000000, 44.635198, 47.996938, 54.360481, 57.254136, 63.513926, 66.205407,
83.184012, 128.638642, 150.321852, 280.295679, 307.761975, 317.501481,
486.037901, 775.608272, 869.477778, 1359.072840, 1373.269136, 2431.451852,
5699.176543, 6389.154321, 8458.007407, 61532.617284, 73419.641975,
197003.703704, 321027.901235, 324350.000000};
Mat_core_b2 = Mat_core_b()^2;
Mat_core_h2 = Mat_core_h()^2;
Mat_core_nu = Mat_core_h() / Mat_core_b();
Mat_core_nu(0) = Mat_core_nu(1);
Mat_core_nu_b2 = ListAlt[Mat_core_b2(), Mat_core_nu()] ;
nu_core[] = InterpolationLinear[ SquNorm[$1] ]{ Mat_core_nu_b2() } ;
dnudb2_core[] = dInterpolationLinear[SquNorm[$1]]{ Mat_core_nu_b2() } ;
h_core[] = nu_core[$1] * $1 ;
dhdb_core[] = TensorDiag[1,1,1] * nu_core[$1#1] + 2*dnudb2_core[#1] * SquDyadicProduct[#1] ;
nu[ Ferrite ] = nu_core[$1];
dhdb[ Ferrite ] = dhdb_core[$1];
Else
nu[ Ferrite ] = 1./(mur*mu0);
EndIf
}
Un exemple de résultat possible pourrait être par exemple :
Apprès avoir détaillé son principe de fonctionnement, résoudre le problème correspondant à un coupleur à aimants tel que représenté ci-dessous :
Pour gagner du temps, vous pouvez télécharger la géométrie en cliquant sur ce lien .
Il faudra utiliser des conditions de périodicité puisque nous travaillerons sur un pôle.
Je vous donne un exemple d’implantation de ce type de conditions ci-dessous :
Constraint {
{Name Anticyclique;
Case {
{ Region Gauche; Type Link; RegionRef Droite;
Coefficient (-1) ; Function Rotate[ Vector[$X,$Y,$Z], 0, 0, -Pi/p ] ; }
}
}
}
Pour le calcul du couple, une bonne approche consiste à moyenner, sur le volume d’entrefer sous un pôle $(V_e = S_e\,L_z)$, l’expression obtenue par le tenseur de Maxwell. Montrer préalablement (sur papier) que cette moyenne peut s’écrire : $$ \displaystyle \Gamma = \frac{2\,p~L_z}{\mu_0\,e} \iint_{S_e} \frac{(x^2-y^2)\,b_x b_y + x y\,(b_y^2-b_x^2)}{\sqrt{x^2+y^2}}\,dxdy$$ Cette formule sera ensuite facile à implanter dans le post-processeur de GetDP.
Cet exemple est tiré de cet excellent article des Techniques de l’Ingénieur. Oui, je fais de l’auto-promo 😉
Si vous le souhaitez, vous pouvez le télécharger avec l’abonnement de l’UL en cliquant ici.