Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

Question on BH magnetization model and BH curve checker

Please login with a confirmed email address before reporting spam

Hello,

I am having some issues computing when I use the BH magnetization model. I have a working simulation involving two magnetic shields and coils that are actually going to be constructed very soon for the project that I am working on. However, I had to change the shape of the shield, and now, the simulation will not compute.

In my newer model, the simulation solves very quickly when using the relative permeability magnetization model; however, I have to use the BH curve model. When I use the BH curve model, the computation fails. In my working simulation, I use the BH curve model, use a quadratic discetisation, and I use the direct solver. I kept all of these settings the same, so the only thing that is different is the shape of the shield. I am not sure what is different or why it is not working. The error message states "Failed to find a solution. Maximum number of Newton iterations reached. Returned solution is not converged. Not all parameter steps returned".

Also, I posted about this in another forum and was told to try using the BH curve checker referenced here: https://www.comsol.com/model/b-h-curve-checker-71651

I am going to try this; however, I would be a little confused if this bh curve checker solved the problem considering I did not use the bh curve checker in my older simulation and that simulation runs and computes perfectly fine. The only thing different between my old simulation and new simulation is the shape of the shield. I attached both simulations below. I have not added the 2nd shield into the new simulation yet because I want to get it working first with just the one shield and then I will add in the second shield. If anyone could take a look I would greatly appreciate it!

The older simulation that works with the 2 shields is the one called "magshield_newcoils_fixed" The newer simulation is the one called "magshield...simplified"

Thank you!



6 Replies Last Post 2022/12/14 8:00 GMT-5

Please login with a confirmed email address before reporting spam

Posted: 1 year ago 2022/12/06 12:13 GMT-5

The BH curve checker solved my problem

The BH curve checker solved my problem

Please login with a confirmed email address before reporting spam

Posted: 1 year ago 2022/12/07 9:06 GMT-5

Good news!

Good news!

Please login with a confirmed email address before reporting spam

Posted: 1 year ago 2022/12/08 16:57 GMT-5

Good news!

Hi Mark!

I had one more question. So the bh curve solver did solve my problem for the inner shield; however, I now added the second larger shield, and the simulation fails to compute again. This shield is made out of mu metal, and I put the mu metal bh curve into the bh curve checker, and it said that no optimization is needed for this material. The material already has enough data points. However, the bh magnetization model is what is causing the problem because when I use the relative permability rather than the bh curve for the mu metal larger shield, the simulation computes. But, when I put it back to the bh curve model, it does not compute. I doubled checked everything and do not see any differences between the inner shield and the outer shield, so I am not sure what the problem is. It is the same error that I saw before about reaching the max number of iterations. I tried computing with different meshes to see if either increasing or decreaing the degrees of freedom helped; but it still does not work. If you or anyone has any other suggestions please let me know!

>Good news! Hi Mark! I had one more question. So the bh curve solver did solve my problem for the inner shield; however, I now added the second larger shield, and the simulation fails to compute again. This shield is made out of mu metal, and I put the mu metal bh curve into the bh curve checker, and it said that no optimization is needed for this material. The material already has enough data points. However, the bh magnetization model is what is causing the problem because when I use the relative permability rather than the bh curve for the mu metal larger shield, the simulation computes. But, when I put it back to the bh curve model, it does not compute. I doubled checked everything and do not see any differences between the inner shield and the outer shield, so I am not sure what the problem is. It is the same error that I saw before about reaching the max number of iterations. I tried computing with different meshes to see if either increasing or decreaing the degrees of freedom helped; but it still does not work. If you or anyone has any other suggestions please let me know!


Please login with a confirmed email address before reporting spam

Posted: 1 year ago 2022/12/12 3:35 GMT-5
Updated: 1 year ago 2022/12/12 6:25 GMT-5

I will take a look when I can... what is the reason for the "ignore edges" virtual operation?

Edit: some further troubleshooting steps: You say the solution fails when the outer shield is used with the BH curve definition...

a) if you remove the inner shield completely, does it solve then?

b) If not, does it solve if you make the outer shield with the Silicon Steel material?

If "a)" solves, then it might indicate that the inner shield is reducing the field seen by the outer shield and shifting the operating point of the outer shield to a portion of the mu-metal curve that is still poorly defined (even if it does pass the "BH checker" test).

If "a)" fails to solve, then it would indicate that the BH curve of the mu-metal is still problematic (or the mesh needs some attention)

If "b)" solves, then again it would indicate something wrong with the mu-metal BH curve

If "b)" fails to solve, then it might indicate a geometry or meshing issue.

A process of elimination should help pinpoint the issue...

I will take a look when I can... what is the reason for the "ignore edges" virtual operation? Edit: some further troubleshooting steps: You say the solution fails when the outer shield is used with the BH curve definition... a) if you remove the inner shield completely, does it solve then? b) If not, does it solve if you make the outer shield with the Silicon Steel material? If "a)" solves, then it might indicate that the inner shield is reducing the field seen by the outer shield and shifting the operating point of the outer shield to a portion of the mu-metal curve that is still poorly defined (even if it does pass the "BH checker" test). If "a)" fails to solve, then it would indicate that the BH curve of the mu-metal is still problematic (or the mesh needs some attention) If "b)" solves, then again it would indicate something wrong with the mu-metal BH curve If "b)" fails to solve, then it might indicate a geometry or meshing issue. A process of elimination should help pinpoint the issue...

Please login with a confirmed email address before reporting spam

Posted: 1 year ago 2022/12/12 17:18 GMT-5

Hi Mark,

The mesh just seems to be more uniform when I ignore the edges. I do not think that it would make much of a difference if I disabled the ignore edges. However, I took the inner shield away, and then the mu-metal outer shield did compute. I am not sure how to fix this because the bh curve checker says that no optimization is needed for the mu-metal.

Hi Mark, The mesh just seems to be more uniform when I ignore the edges. I do not think that it would make much of a difference if I disabled the ignore edges. However, I took the inner shield away, and then the mu-metal outer shield did compute. I am not sure how to fix this because the bh curve checker says that no optimization is needed for the mu-metal.

Please login with a confirmed email address before reporting spam

Posted: 1 year ago 2022/12/14 8:00 GMT-5
Updated: 1 year ago 2022/12/14 8:03 GMT-5

It may be running out of memory on your machine possibly (your problem is much more non-linear using the BH representations, and hence more memory intensive)... what memory use is being report during the solve process?

To summarise, it seems both shields solve in isolation, but combining both shields into the same model causes issues... is this the case?

Are you investigating different coil drive voltage/currents? I will try to explain why I ask this...

What is the end result you are looking for... are you looking to reduce the field at a certain location outside the shields to a certain value? If this is the case, I am wondering if you can represent the inner shield by a relative permeability (mu_r) representation, (you will need to determine what value of mu_r gives you the same field result at your point of interest, as the inner shield alone gives when represented by the BH curve). Once you have determined this "equivilent mu_r", you can add in the outer shield and represent it with the BH curve.

Of course, if you coil current is varying, then the mu_r figures will also vary, as you will be operating at different points on the BH magnetisation curve depending on the magnetising field from the coils...

I don't think I can suggest anything else, but Comsol support may be able to identify some more efficient solver setup for the BH curve models...

Footnote: With care, you may be able to extend this approach, by also determining an equivilent mu_r for the outer shield, the final model would then be mathematically simpler to solve (using two "mu_r" representations, rather than two non-linear BH representations), and should further reduce memory requirements.

Edit: Have you tried using linear discretisation (set in the mf node Settings pane)?

It may be running out of memory on your machine possibly (your problem is much more non-linear using the BH representations, and hence more memory intensive)... what memory use is being report during the solve process? To summarise, it seems both shields solve in isolation, but combining both shields into the same model causes issues... is this the case? Are you investigating different coil drive voltage/currents? I will try to explain why I ask this... What is the end result you are looking for... are you looking to reduce the field at a certain location outside the shields to a certain value? If this is the case, I am wondering if you can represent the inner shield by a relative permeability (mu_r) representation, (you will need to determine what value of mu_r gives you the same field result at your point of interest, as the inner shield alone gives when represented by the BH curve). Once you have determined this "equivilent mu_r", you can add in the outer shield and represent it with the BH curve. Of course, if you coil current is varying, then the mu_r figures will also vary, as you will be operating at different points on the BH magnetisation curve depending on the magnetising field from the coils... I don't think I can suggest anything else, but Comsol support may be able to identify some more efficient solver setup for the BH curve models... Footnote: With care, you may be able to extend this approach, by also determining an equivilent mu_r for the outer shield, the final model would then be mathematically simpler to solve (using two "mu_r" representations, rather than two non-linear BH representations), and should further reduce memory requirements. Edit: Have you tried using linear discretisation (set in the mf node Settings pane)?

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.