**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.

## Specifying a demagnetization curve of a permanent magnet

Posted Feb 14, 2011, 11:58 AM EST AC/DC & Electromagnetics, Structural Mechanics & Thermal Stresses Version 4.2a, Version 4.3b, Version 5.0, Version 5.1 20 Replies

I use the magnetic fields interface (AC/DC module) to simulate a magnetic system with permanent magnets and soft iron parts.

Currently I use the "remanent flux density" constitutive relation (B = mu0 * mur * H + Br) for the permanent magnet domain of the model, with Br=constant and mur=1.

However, I have realized that this is likely not a sufficiently accurate model of the permanent magnet. I have attached a demagnetization plot (J vs. H) of our magnet with the load line marked, and I think that I need to include the complete curve and not just the specifying a value for the remanent flux density as the intrinsic flux density is highly dependent on the field strength.

The magnetic fields interface solve my model for the magnetic vector potential, A, as the dependent variable. In this case, I believe, that I need to express the material properties as functions of the magnetic flux density B, to avoid a circular variable definition (e.g. the permeability, mur, of the soft iron parts is specified as a functions of the magnetic flux density, B).

My question is: How can I specify the demagnetization curve of the permanent magnet in my model?

Thanks in advance,

Johan Gustafsson

Attachments:

It has also puzzled me that there are no magnets defined in the material library, I agree today most hard magnets have more or less a constant B-H relationship in their normal operation range.

You have the "soft iron with/out losses" that saturates, that is one example, not too different from the magnet (apart from the quadrant for operation).

I'm also interested to hear what are the conclusions to have a good example available, pls keep us infored ;)

--

Good luck

Ivar

I got some help from the support, and it appears to work fine! This is how I did:

Define an interpolation function:

HofB(B)

from the B-H curve (the normal curve, not the intrinsic curve), where the H-field is defined as a function of the B-field (the inverse of the usual B-H curve. Use linear extrapolation.

Create a separate Ampere’s Law for the magnet domain and specify anisotropic relative permeability.

If the magnet is magnetized in x-direction specify the following diagonal relative permeability tensor:

murxx = mf.Bx/(mu0_const*HofB(mf.Bx))

muryy = murzz = 1

murxy = 0

If Br is in the negative x-direction use:

murxx = mf.Bx/(mu0_const*-HofB(-mf.Bx))

Because this material model (relative permeability) attains mur = B/(mu0*H), I will get the correct result on the B-H curve for Hx(Bx), and Br and Hc will be correct as they are inherently on the B-H curve.

It is easy to specify another coordinate direction for the magnetization. A general direction requires a rotational transform of the tensor (which is a bit tricky).

Regards,

Johan

I would like to add the demagnetization curve to my simulations as well. I have tried to implent it as you described it in the post. Unfortunately I am getting an error message.

Would you mind checking out the attached file?

B.R;

J. José

Attachments:

Brock

Would you mind checking out the attached file?

(A user pointed me to this posting). About the non-converging model, it is enough to specify an initial value (e.g. "Az" equalls to "y") and the model solve (even thogh I guess the BH curve value could be not appropriate).

Modeling of hysteresis can start from this method, but need further elaboration which depends from the actual case. Then different method (as Jiles Atherton) could be more appropriate. It strongly depends from the need.

Bye

Cesare

Following Cesare advice I have the model working.

but I have the same error if I try to change mu matrix and I cannot deal with the initial value of A.

Moreover I try to solve the model with the magnetic flux, in the same way but adding a "zero potential" condition on the external boundary box, but it says

"undefined value found in the stiffness matrix comsol

mod1.mfnc.murxx

geometry 1

domain 2 "

In mf (default ID name for "magnetic field" - then possibly with currents) simulation you solve for .

(just for clarity I remember what I mean for and which are defined in our documentation and )

For your problem, Francesco, which is unrelated to this thread, I will answer from support.

B.R.

Cesare

I'm not able to understand why I have to set:

1) murxx = mf.Bx/(mu0_const*HofB(mf.Bx)) (Br in positive x-direction)

muryy = murzz = 1

murxy = 0

INITIAL VALUE Az = y

2) murxx = mf.Bx/(mu0_const*-HofB(-mf.Bx)) (Br is negative x-direction)

INITIAL VALUE Az = -y

3) muryy = mf.By/(mu0_const*HofB(mf.By)) (Br is positive y-direction)

murxx = murzz = 1

murxy = 0

INITIAL VALUE Az = -x

4) muryy = mf.By/(mu0_const*-HofB(-mf.By)) (Br is negative y-direction)

INITIAL VALUE Az = x

In a mfnc (default ID name for "magnetic fields no current") simulation you do not have at all. There you have (solve for) .

In mf (default ID name for "magnetic field" - then possibly with currents) simulation you solve for .

(just for clarity I remember what I mean for and which are defined in our documentation and )

For your problem, Francesco, which is unrelated to this thread, I will answer from support.

B.R.

Cesare

I read you answer after my last post.

Anyway, it is clear what you said, but how to solve the problem with mfnc?

Where can I find some details about the "diagonal relative permeability tensor" that you have mentioned in your replies. Also I would like to know where to find out details of some functions that are used in COMSOL such as mf.Bx or mf. By etc. etc.

I wish to use two types of magnets in my design one has Br of 1.47 T and Hcj of 955kA/m and other has Br of 1.18 and Hcj of 2465 kA/m. How do you model these two magnets in the same model. I am working on design of halbach hexapole where i wish to use these to types. can you please suggest me the best way to go about this problem?

with Kind regards,

Nabhiraj

I wish to use two types of magnets in my design one has Br of 1.47 T and Hcj of 955kA/m and other has Br of 1.18 and Hcj of 2465 kA/m. How do you model these two magnets in the same model. I am working on design of halbach hexapole where i wish to use these to types. can you please suggest me the best way to go about this problem?

Hi Nabhiraj,

I did something similar for a quadrupoles.

First of all I use the mfnc module. I define two interpolation functions "Global definition -> functions -> interpolations"

As Data source I chose "table" and I put the BH curve data of the magnetic material, you can find the BH curve on the web if you don't have it.

Thick "define inverse function" and use linear interpolation and extrapolation.

Then I define a variable named modM = ((BofH(mfnc.normH)/(mu0_const))-mfnc.normH) which represents the magnetization module.

You need to define two of them, like modM2=((BofH2(mfnc.normH)/(mu0_const))-mfnc.normH) for the second material

Finally define a magnetic flux density law for each magnet and in the constitutive relation chose "magnetization" and give your variable to each block with the proper angle if you need.

Cheers

Francesco

Thanks a lot for so quick reply.

I shall try these suggestions you have posted. Do you have any examples so that i can follow them?

what is this "modM = ((BofH(mfnc.normH)/(mu0_const))-mfnc.normH)" Where can I find some details regarding this type of functions?

I shall try your suggestions and get back to you with doubts if any.

thanks

Nabhiraj

Hi Francesco,

Thanks a lot for so quick reply.

I shall try these suggestions you have posted. Do you have any examples so that i can follow them?

what is this "modM = ((BofH(mfnc.normH)/(mu0_const))-mfnc.normH)" Where can I find some details regarding this type of functions?

I shall try your suggestions and get back to you with doubts if any.

thanks

Nabhiraj

Sorry, my reply get lost...

modM = ((BofH(mfnc.normH)/(mu0_const))-mfnc.normH) is the variable I define to make easier and it is the magnetization of the material.

BofH is the BHcurve interpolation function Mu0_const is the permeability and normH is the independent variable in Comsol.

You need to define 2 BHcurve named BofH_i (i=1,2 depending on the material)

Then you go on model->definitions->variables and define two modM varialbles:

modM_i = ((BofH_i(mfnc.normH)/(mu0_const))-mfnc.normH)

It is basically eq(8) at page 6 here: ocw.mit.edu/resources/res-6-001-electromagnetic-fields-and-energy-spring-2008/chapter-9/09.pdf

Then you use you modM1 or modM2 for the two material in the ocnstituve relations

I chose the interpolation function and import the HB curve that I created. Then I define the global function that you suggested, while inputting the expression, if I use HB (since I gave the name the interpolation function as HB) and rest of the expression, the expression remain brown. i.e, comsol does not recognise the expression. Somewhere I am doing the mistake. Can you please tell me the steps to correct this problem?

Regards,

Nabhiraj

Could you upload your model?

pl find attached the model that i worked on with remnant flux density as the constitutive relation. Please also find attached the HB curve that i wish to use. this is for the magnet VACODYM 722HR NdBFe magnet. If you can kindly use it in the model and attach the model back to me it will be of great help. I am absolutely new user and hence... the questions are little silly in nature. I hope I will be able to catch up faster. COMSOL is a huge code and lots of features. I am finding it difficult to learn them fast.

thanks a lot for your keen interest in help us.

Regards,

Nabhiraj

Attachments:

Instead of creating a new geometry, i inserted the geometrical sequences from my old .mph file.

There when i try to insert a blank material only one property appears which is mur. (relative permeability). There are no other parameters visible in the parameter window except mur.

I shall try making a fresh file from the beginning.

Regards,

Nabhiraj

Dear Francesco,

Instead of creating a new geometry, i inserted the geometrical sequences from my old .mph file.

There when i try to insert a blank material only one property appears which is mur. (relative permeability). There are no other parameters visible in the parameter window except mur.

I shall try making a fresh file from the beginning.

Regards,

Nabhiraj

Dear Nabhiraj

I would say that the approach you use is not the correct one.

You are using the mf module, I would suggest to use the mfnc (magnetic field no current) module for permanent magnet.

I think that the setting of the simulation would be correct if you want to use the Br max value, but you have to change the physics.

Try to set up the simulation with the correct comsol module.

If you want to use BH function you do not need to specify the material. with the mfnc module you have to select "magnetization" in the constitutive relation (probably I made a mistake in may previous answer, sorry fr that) and put the modM variable * sin(theta) (or *cos(theta)) in the M fields.

Comsol is quite hard to learn, so you will need time, of course.

Good luck

www.comsol.com/community/forums/general/thread/125412/

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.

## Suggested Content

- KNOWLEDGE BASE How to administrate a COMSOL Multiphysics Floating Network License and a COMSOL Server License on the same license server
- BLOG Capturing Eddy Current Losses in a Permanent Magnet Motor Design
- BLOG Guidelines for Modeling Rotating Machines in 3D
- BLOG Simulating Permanent Magnet Generators
- FORUM Modelling a permanent magnet