Time harmonic induction heating problem

Time harmonic induction heating problem (2D)

Hi all,

I’m Damien, a French engineer, currently in my last year of Ph.D. (hoping to defend it in October 2022).

I’m trying to solve a 2d induction heating problem (magnetodynamic) using the time harmonic formulation.

(This is my first post, so I hope to respect the community guidelines)

Problem description

Please find in the picture below the description of my problem :

The domain is composed of the following parts:

  • Steel cylinder (the load)

  • Inductor with 3 copper coils

  • Ambient air

According to the symmetry of the problem, i used the cylindrical coordinate (r, z) in order to simplify the problem.

Also, as the first step, I assume an isotropic medium and therefore omit hysteresis & non-linear magnetic properties (mu(B, H)).


My goal is to compute the temperature evolution over time due to joule heating from eddy current induced in the steel cylinder by the inductor.

My approach is the following:

  1. Solve the time harmonic electromagnetic problem by computing the eddy current distribution in the steel cylinder.

  2. Compute joule heating in the load from the eddy current distribution and set up as a heat source Q for the transient heat equation.

  3. Solve the transient heat equation by computing the temperature evolution in the load.

Issues identification

My trouble is located in the electromagnetic part of the problem.

Some identified tracks :

  • Assignment of material properties in subregions like **electrical conductivity and magnetic permeability

  • 2D time harmonic model formulation

  • Variational formulation implementations of the 2D time harmonic model in cylindrical coordinates.

  • In the computation of magnitudes of interests (eddy current, magnetic flux)

If someone could help me, I will be very grateful ! (Remarks : if someone is interested in the topic, I’m open to a scientific collaboration on the subject. In other words, I would like to publish on the subjects, some helpful contributor will be associate on the paper (with your agreement). Feel free to pm me)

Many thanks in advance for your time and your help ! :grinning:

Best Damien

Please find the code in attachment.
IH_time_harmonic.edp (7.9 KB)

OK, I think this not a difficult problem,

I will try to help you

  1. you to get region numero,
  2. the axisymmetric formulation.
  3. compute the eddy current nd magnetic flux.

Great ! Many thanks in advance !! Your help is welcome !

Premiere remarque, il y a des trous dans les bobines, en non de l’air.

dans la these https://pastel.archives-ouvertes.fr/tel-00443740/document
j’ai trouve la le cas axisymetrique vers page 30

(I allow myself to reply both in English and French to facilitate the understanding of everyone.)

Answer in French

Merci Frédéric pour votre réponse !
À oui en effet ! Très bonne remarque. Dans la machine réelle que j’utilise, il y a une circulation d’eau dans les bobines afin d’éviter la surchauffe de l’inducteur.
Je vais essayer de remplacer les trous dans les bobines par de l’eau ou de l’air.
Merci pour la référence, je vais allez regarder le cas axisymétrique vers la page 30.

(Je me permets de traduire également ma réponse en anglais, si cela intéresse d’autres personnes)

Answer in English

Thanks Frédéric for your answer !
Yes indeed ! That’s a good observation ! In the real device that I used, there is a cooling system inside the coils in order to avoid inductor overheating.
I will try to replace the holes inside the coils with air or water materials.
Thanks for the refs, I will take a look to the axisymmetric case at the page 30.

Although I think that the document that Prof. Hecht linked already provides all necessary derivations I would also like to point towards:

  1. C. Chaboudez, S. Clain, R. Glardon, D. Mari, J. Rappaz, and M. Swierkosz
    “Numerical Modeling in Induction Heating for Axisymmetric Geometries”
    which gives a rather well documented nontrivial example with model parameters and results.
    https://www.esi-group.com/sites/default/files/resource/publication/1334/s_e.inductionlongieee94.pdf might contain some of the missing material properties.

  2. If you progress towards nonlinear magnetic permeability of steel then I found some publications from university of Padova quite helpful e.g.:
    Mattia Spezzapria
    “Multiphysical Finite Element Simulation of Contour Induction Hardening of Gears”
    Chapter 6 “Two dimensional benchmark model” was very instructive.

Keep us up to date on your progress and post example code for further reference ;-).
I think that this topic is very well suited to demonstrate the capabilities of Freefem++.

All the best

Thank you gero for your interest in my topic and your very interesting references !

I will study them carefully.

Of course, I will keep you updated of my progress and post example code for further reference :slight_smile:

Hi all,

Hoping you are well.

Some times are passed since my last post.

I would like to keep you updated about my progress and issues.


  • Implementation of a first version of the linear electromagnetic part of the problem according to the A-formulation

  • Computation of electromagnetic quantities of interest, such as induced eddy current J in the steel cylinder

  • Implementation of the linear transient thermal evolution problem in cylindrical coordinate (r, z) with a precomputed heating source. In order, to implement the thermal part in advance.

NB1 : I did not check the numerical and physical accuracy of the results. I will do it experimentally and numerically in a second time.

NB2 : Intentionally, I did not provide the script for the thermal part at the moment. I will provide it in the same script of the electromagnetic part when this one will be finished.


I have the following issues :

  • Currently, I’m trying to compute the joule power losses [W/m^3] with the formula \dfrac{J^2}{\sigma}. Where J is the induced eddy current, compute with J=\nabla \times H (I have also seen J=-\sigma E= -i\omega A with E = -i\omega A in the literature [1]). My first issue is that I have an Exec error : Div by 0. How can I fix this ? I guess it happens because I set the electrical conductivity \sigma of air to a very low value (1.2*10^{-12})

  • I’m not sure about the correctness of my implementation of the electromagnetic part and the computation of the quantities of interest. If someone could check it in detail, i will be very grateful !

[1] : I have tried to compute the eddy current density with this approach, but the results seems implausible.


Thanks to your help, if I’m able to solve the linear induction heating problem, I plan to go further.

In fact, my aim is the following for the future version of the script:

  1. Implement the magnetic non-linear hysteresis behaviour B(H),
  2. Include the temperature dependance of electrical conductivity ,
  3. Implement the thermal dependance of thermal conductivity.
  4. Trying to implement the multi-harmonic ansatz for computing the Joule losses
  5. Investigate the mesh/numerical accuracy and solvers at “extreme scale” for more complex geometry on HPC.

As an industrial PhD student inside a French company (CIFRE french fellowship) I would like to illustrate the capabilities of FreeFEM for solving multiphysics industrial problem.

Finally, in order to follow the open source mindset of FreeFEM, i would like to share my work with the community ! :slight_smile:

Thanks again for your time and your interest in my topics !


Please find the version 0.1 of the script below:
IH_01.edp (9.0 KB)

Data transfer from electromagnetic mesh to thermal mesh

Hi all,

In my induction heating modeling journey, I’m facing a problem related to the transfer of data computed from one problem (electromagnetic) as an input to a second (thermal).

In fact, as I described in my post above, my approach is the following :

  1. Solve the time harmonic electromagnetic problem by computing the eddy current distribution in the steel cylinder (electromagnetic mesh)
  2. Compute joule heating Q [W/m^3] in the load from the eddy current distribution (electromagnetic mesh)
  3. Use the heat source Q as an input inside the variational form of heat conduction problem (thermal mesh).

How can I transfer the heat source Q [W/m^3] data computed from the electromagnetic mesh to the thermal mesh ?

Do you have some code examples/references from coupled problems, where data are transferred between two different mesh ?


yes , the transfer is trivial

see An Example with Complex Numbers for example

Thanks for the references, Prof. Hecht !

I’m now able to transfer data between the two problems !