Difference between revisions of "Magnetostriction"

From ONELAB
Jump to: navigation, search
(Created page with "== Introduction == To run the model, open '''choke.pro''' with Gmsh. This 2D model compute the mechanical deflection of a two collumns inductor. It take into account of: * T...")
 
 
(31 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{metamodelGetDP|magnetostriction}}
 +
 
== Introduction ==
 
== Introduction ==
  
 
To run the model, open '''choke.pro''' with Gmsh.
 
To run the model, open '''choke.pro''' with Gmsh.
  
This 2D model compute the mechanical deflection of a two collumns inductor. It take into account of:
+
This 2D model computes the mechanical deflections of a two-column inductor (choke) with distributed air gaps along the limbs. It takes into account:
* The magnetostriction effect in magnetic sheets
+
* the magnetostriction effect in magnetic sheets
* The Maxwell stress tensor into the whole domain (Airgap and magnetic core)
+
* the Maxwell stress tensor into the whole domain (airgaps and magnetic core)
 
 
Magnetic and mechanical physics are weakly coupled and assume that mechanical deflections doesn't modify the magnetic field.
 
In this way, Magnetic field is first computed, and the Maxwell stress tensor as well as the Magnetostriction strain tensor are deduced from this simulation.
 
This two tensors are injected in the mechanical simulation and deflection can be obtained
 
  
The mecanical model allows also to estimate the different resonant frequencies or the inductor
+
Magnetostatics and structural mechanics are weakly coupled, assuming that mechanical deflections do not modify the magnetic field distribution.
 +
The magnetic field distribution is first computed, and the resulting Maxwell stress tensor and magnetostriction strain tensor are then calculated.
 +
The mechanical model also allows to estimate the different resonant frequencies or the inductor.
  
file details:
+
File details:
* choke.geo: the geometry which is parametrized
+
* choke.geo: parametrized geometry of the two-limb inductor
* choke.pro: Pro File associated to choke.geo  
+
* choke.pro: .pro file associated to choke.geo  
* Elasticity_2D.pro: The mechanical physics
+
* Magsta2D.pro: the magnetostatics physics
* magnetostriction.txt: The magnetostriction curve
+
* Elasticity_2D.pro: the structural mechanics
* jacobian.pro: The methods of integration
+
* jacobian.pro: the integration and Jacobian methods
* Magsta2D.pro: The electromagnetic physics
+
* magnetostriction.txt: the magnetostriction curve <math>\Lambda(B)</math>
  
 
== Assumptions==
 
== Assumptions==
Line 26: Line 26:
 
== Geometry ==
 
== Geometry ==
  
A two columns inductor is modelized and the geometry can be modified using parameters:
+
A two columns inductor is modelled and the geometry can be modified using parameters:
* Column height
+
* column height
* Column width
+
* column width
* Number of airgap
+
* number of airgap
 
* airgap thichness
 
* airgap thichness
 
* yoke length
 
* yoke length
 
* winding thickness
 
* winding thickness
 
This allow the possibility to model different kind of inducor easily
 
  
 
== Boundaries ==
 
== Boundaries ==
  
=== Magnetical ===
+
=== Magnetic ===
  
The magnectic vector potential  ''a'' is fixed to 0 for the external boundaries of the system.
+
The magnectic vector potential  ''a'' is fixed to 0 on the external boundaries of the system.
 
The current density is imposed into the winding and deduced thanks to the nominal current, the number of turns and the cross section of the winding.
 
The current density is imposed into the winding and deduced thanks to the nominal current, the number of turns and the cross section of the winding.
 
    
 
    
 
=== Mechanical ===
 
=== Mechanical ===
  
The inferior yoke is assumed fixed ''u=0''
+
The inferior yoke is assumed fixed (displacement ''u=0'').
  
 
== Magnetics ==
 
== Magnetics ==
  
A 2D Magnetostatic solver is used for this study. the model compute the The magnectic vector potential  ''a''.
+
A 2D Magnetostatic solver is used for this study. The model computes the magnectic vector potential  ''a''.
Materials are considered linear and sources of currents are directly imposed. The solver is developped into '''MagstA2D.pro'''
+
Materials are considered linear and sources of currents are directly imposed. The solver is coded in the file '''MagSta_2D.pro'''
  
 
<math>
 
<math>
Line 59: Line 57:
 
</math>
 
</math>
  
Different post-proccessing are integrated as:
+
Different post-proccessing are predefined:
* The Flux density B
+
* The flux density B
* The Magnetic field H
+
* The magnetic field H
* The energie per length unit (J/m)
+
* The energy per length unit (J/m)
  
  
Line 79: Line 77:
 
The following code in used :
 
The following code in used :
  
<source lang="C">
+
<pre>
  sig_maxwell[]=Vector[ CompX[$1]*CompX[$1]-Norm[$1]*Norm[$1]/2,
+
  sig_maxwell[]=Vector[ CompX[\$1]*CompX[\$1]-Norm[\$1]*Norm[\$1]/2,
      CompY[$1]*CompY[$1]-Norm[$1]*Norm[$1]/2,
+
      CompY[\$1]*CompY[\$1]-Norm[\$1]*Norm[\$1]/2,
      CompX[$1]*CompY[$1]];
+
      CompX[\$1]*CompY[\$1]];
</source>
+
</pre>
  
 
== Magnetostriction strain tensor ==
 
== Magnetostriction strain tensor ==
  
The magnetostriction tensor is obtained using the flux density map and with the magnetostriction curve of the material witch link the strain with the flux density. This kind of curve is presented in the next figure
+
The magnetostriction tensor is obtained using the flux density map and with the magnetostriction curve of the material witch links the strain with the flux density. This kind of curve is presented on the following figure:
  
 
[[File:magnetostriction_curve.png|center|800px]]
 
[[File:magnetostriction_curve.png|center|800px]]
  
The curve permit to determine the strain tensor in the referentiel (Bt,Bn)  presented in the next figure. 
+
The curve permits to determine the strain tensor in the referential (Bt,Bn)  presented below:
  
 
[[File:referentiel.png|center]]
 
[[File:referentiel.png|center]]
Line 107: Line 105:
 
</math>
 
</math>
  
In order to be injected into the mechanical model, the strain tensor needs to be converted into the (x,y) basis. This is done by computing the change of basis matrix P. In this way the strain tensor in the basis (x,y) is determinated.
+
In order to be injected into the mechanical model, the strain tensor needs to be converted into the (x,y) basis. This is done by computing the change of basis matrix P. In this way the strain tensor in the basis (x,y) is determined:
  
 
<math>
 
<math>
Line 138: Line 136:
 
The following code in used :
 
The following code in used :
  
<source lang="C">
+
<pre>
 +
lamb[]=Vector[lambdap[Norm[\$1]],lambdaper[Norm[\$1]],0];
  
lamb[]=Vector[lambdap[Norm[$1]],lambdaper[Norm[$1]],0];
+
sig_vect[]=C_m[]*lamb[\$1];
  
sig_vect[]=C_m[]*lamb[$1];
+
sig_mat[]=Tensor[CompX[sig_vect[\$1]], CompZ[sig_vect[\$1]]  ,  0,
 
+
        CompZ[sig_vect[\$1]], CompY[sig_vect[\$1]]  ,  0,
sig_mat[]=Tensor[CompX[sig_vect[$1]], CompZ[sig_vect[$1]]  ,  0,
 
        CompZ[sig_vect[$1]], CompY[sig_vect[$1]]  ,  0,
 
 
            0     ,          0   ,  0 ];
 
            0     ,          0   ,  0 ];
  
 
// Change of basis
 
// Change of basis
  
P[]=Tensor[ CompX[$1]/Norm[$1]  ,  -CompY[$1]/Norm[$1] , 0,
+
P[]=Tensor[ CompX[\$1]/Norm[\$1]  ,  -CompY[\$1]/Norm[\$1] , 0,
             CompY[$1]/Norm[$1]  ,    CompX[$1]/Norm[$1] , 0,
+
             CompY[\$1]/Norm[\$1]  ,    CompX[\$1]/Norm[\$1] , 0,
 
                       0        ,            0        , 1 ];
 
                       0        ,            0        , 1 ];
PP[]=Transpose[P[$1]];
+
PP[]=Transpose[P[\$1]];
sig_PPP[]=P[$1]*sig_mat[$1]*PP[$1];
+
sig_PPP[]=P[\$1]*sig_mat[\$1]*PP[\$1];
sig_magnetostriction[]=Vector[CompXX[sig_PPP[$1]],CompYY[sig_PPP[$1]],CompXY[sig_PPP[$1]]];
+
sig_magnetostriction[]=Vector[CompXX[sig_PPP[\$1]],CompYY[sig_PPP[\$1]],CompXY[sig_PPP[\$1]]];
</source>
+
</pre>
  
 +
== Mechanical ==
  
 
+
A 2D mechanical solver is added to the model. This harmonic solver permits to compute the deflection of the inductor due to the magnetostriction and the Maxwell stress tensor. It also permits to obtain the eigen modes of the magnetic core. No damping is currently added so the resonance magnitude is only limited by numerical damping effect.
== Mechanical ==
 
A 2D mechanical solver is added to the model. this harmonic solver permit to compute the deflection of the inductor due to the magnetostriction and the maxwell stress tensor. It permits also to obtain the eigen modes of the magnetic core. No Damping is present added so that resonnance are not
 
  
  
 
== Resolution ==
 
== Resolution ==
  
4 resolution methods are provided:
+
3 resolution methods are provided:
* A magnetostatic study
+
* A pure magnetostatic study
* A magneto-mechanical study with allow to estimate the complete deflection of the magnetic core due to magnetic effects
+
* A magneto-mechanical study with allows to estimate the complete deflection of the magnetic core due to magnetic effects (combined effect of magnetostrictive and reluctant forces)
* A magneto-mechanical study on a specific point. It compute the deflection of a specific point. It is the same procedure as the previous point but allow easily to compute the FRF on a specific point. It show that magnetostriction and/or Maxwell dtress tensor can stimulate a resonnance
+
* A mechanical study to obtain the eigenmodes of the inductor.
* A mechanical study to obtain the eigen mode od the inductor.
 
 
 
the magnetomechanical model start firsty to compute the magnetic field. Them it compute the magnetostriction and the maxwell tensor for the mechanical model. At the end the mechanical model is running.
 
 
 
 
 
 
  
 +
<!--
 
== Results==
 
== Results==
  
 +
== References ==
 +
-->
  
 
+
{{metamodelfooter|magnetostriction}}
== References ==
 

Latest revision as of 14:08, 10 July 2017

2D model of inductor with magnetostriction.

Download model archive (magnetostriction.zip)
Browse individual model files and modification history

Introduction

To run the model, open choke.pro with Gmsh.

This 2D model computes the mechanical deflections of a two-column inductor (choke) with distributed air gaps along the limbs. It takes into account:

  • the magnetostriction effect in magnetic sheets
  • the Maxwell stress tensor into the whole domain (airgaps and magnetic core)

Magnetostatics and structural mechanics are weakly coupled, assuming that mechanical deflections do not modify the magnetic field distribution. The magnetic field distribution is first computed, and the resulting Maxwell stress tensor and magnetostriction strain tensor are then calculated. The mechanical model also allows to estimate the different resonant frequencies or the inductor.

File details:

  • choke.geo: parametrized geometry of the two-limb inductor
  • choke.pro: .pro file associated to choke.geo
  • Magsta2D.pro: the magnetostatics physics
  • Elasticity_2D.pro: the structural mechanics
  • jacobian.pro: the integration and Jacobian methods
  • magnetostriction.txt: the magnetostriction curve \(\Lambda(B)\)

Assumptions

Geometry

A two columns inductor is modelled and the geometry can be modified using parameters:

  • column height
  • column width
  • number of airgap
  • airgap thichness
  • yoke length
  • winding thickness

Boundaries

Magnetic

The magnectic vector potential a is fixed to 0 on the external boundaries of the system. The current density is imposed into the winding and deduced thanks to the nominal current, the number of turns and the cross section of the winding.

Mechanical

The inferior yoke is assumed fixed (displacement u=0).

Magnetics

A 2D Magnetostatic solver is used for this study. The model computes the magnectic vector potential a. Materials are considered linear and sources of currents are directly imposed. The solver is coded in the file MagSta_2D.pro

\( \begin{eqnarray} \nabla^2 \mathbf{A} + \mu_0 \mu_r \mathbf{j_z} = \mathbf{0} \label{eq:vector_potential} \end{eqnarray} \)

Different post-proccessing are predefined:

  • The flux density B
  • The magnetic field H
  • The energy per length unit (J/m)


Maxwell Stress Tensor

The Maxwell Stress Tensor is deduced directly from the magnetic field and is injected into the mechanical solver.

\(\begin{eqnarray} \sigma_{mst}= \frac{1}{\mu_0\mu_r}\begin{bmatrix} B_x^2 -\frac{1}{2}B^2 & B_xB_y\\ B_xB_y & B_y^2 -\frac{1}{2}B^2 \end{bmatrix} \label{eq:stress} \end{eqnarray}\)

The following code in used :

 sig_maxwell[]=Vector[ CompX[\$1]*CompX[\$1]-Norm[\$1]*Norm[\$1]/2,
		       CompY[\$1]*CompY[\$1]-Norm[\$1]*Norm[\$1]/2,
		       CompX[\$1]*CompY[\$1]];

Magnetostriction strain tensor

The magnetostriction tensor is obtained using the flux density map and with the magnetostriction curve of the material witch links the strain with the flux density. This kind of curve is presented on the following figure:

Magnetostriction curve.png

The curve permits to determine the strain tensor in the referential (Bt,Bn) presented below:

Error creating thumbnail: Unable to save thumbnail to destination

The strain tensor is decomposed into two phenomenas: the normal and tangential magnetostriction, called respectively \(\lambda_N\) and \(\lambda_T\). \(\lambda_T\) could be obtained using experimental data, or by asuming that magnetostriction doesn't modify the volume, a simple relation is obtained\[\lambda_N=-\lambda_N/2\]

\( \begin{eqnarray} \epsilon_{(B_t,B_n)}=\begin{bmatrix} \lambda_T & 0 \\ 0 & \lambda_N \end{bmatrix} \label{eq:strain_tensor1} \end{eqnarray} \)

In order to be injected into the mechanical model, the strain tensor needs to be converted into the (x,y) basis. This is done by computing the change of basis matrix P. In this way the strain tensor in the basis (x,y) is determined\[ \begin{eqnarray} P=\begin{bmatrix} \frac{B_x}{B} & -\frac{B_y}{B} \\ \frac{B_y}{B} & \frac{B_x}{B} \\ \end{bmatrix} \label{eq:P} \end{eqnarray} \]

\( \begin{eqnarray} \epsilon_{(x,y)}=P \epsilon_{(B_t,B_n)}\ P^t \label{eq:PPT} \end{eqnarray} \)

\( \begin{eqnarray} \epsilon_{(x,y)}=\begin{bmatrix} \frac{1}{B^2}(\lambda_T B_x^2+\lambda_N B_y^2) & \frac{B_xB_y}{B^2}(\lambda_T-\lambda_N) \\ \frac{B_xB_y}{B^2}(\lambda_T-\lambda_N) & \frac{1}{B^2}(\lambda_T B_y^2+\lambda_N B_x^2) \\ \end{bmatrix} \label{eq:strain_xyz} \end{eqnarray} \)

The following code in used :

lamb[]=Vector[lambdap[Norm[\$1]],lambdaper[Norm[\$1]],0];

sig_vect[]=C_m[]*lamb[\$1];

sig_mat[]=Tensor[CompX[sig_vect[\$1]], CompZ[sig_vect[\$1]]  ,   0,
	         CompZ[sig_vect[\$1]], CompY[sig_vect[\$1]]  ,   0,
		            0	    ,          0	   ,   0 ];

// Change of basis

P[]=Tensor[ CompX[\$1]/Norm[\$1]  ,   -CompY[\$1]/Norm[\$1] , 0,
            CompY[\$1]/Norm[\$1]  ,    CompX[\$1]/Norm[\$1] , 0,
                       0        ,             0         , 1 ];
PP[]=Transpose[P[\$1]];
sig_PPP[]=P[\$1]*sig_mat[\$1]*PP[\$1];
sig_magnetostriction[]=Vector[CompXX[sig_PPP[\$1]],CompYY[sig_PPP[\$1]],CompXY[sig_PPP[\$1]]];

Mechanical

A 2D mechanical solver is added to the model. This harmonic solver permits to compute the deflection of the inductor due to the magnetostriction and the Maxwell stress tensor. It also permits to obtain the eigen modes of the magnetic core. No damping is currently added so the resonance magnitude is only limited by numerical damping effect.


Resolution

3 resolution methods are provided:

  • A pure magnetostatic study
  • A magneto-mechanical study with allows to estimate the complete deflection of the magnetic core due to magnetic effects (combined effect of magnetostrictive and reluctant forces)
  • A mechanical study to obtain the eigenmodes of the inductor.


Models developed by Mathieu Rossi, Jean Le Besnerais and Christophe Geuzaine. Copyright (c) 2015 EOMYS