The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Modeling >> Passive Devices >> Magnetic model convergence problem
https://designers-guide.org/forum/YaBB.pl?num=1077211532

Message started by Misha on Feb 19th, 2004, 9:25am

Title: Magnetic model convergence problem
Post by Misha on Feb 19th, 2004, 9:25am

Hi,
I guess this is for Ken Kundert mostly.

First I want to say thanks a lot for posting a lot of useful material, especially the paper on the magmetics modeling. I had found the same VerilogA code as in the Cadence's ahdlLib, but the paper really helped me to figure out what I have to do to model my device.

However, I'm having convergence problems in Spectre using this VerilogA magnetic core model when I apply fast changing signals to the widings.  In most cases Spectre bails out with message "no convergence at min time step".  The offending nodes are usually the Hdot:  either MMF(Hdot) exceeds the blow-up limit or the change is more than abstol+reltol.  This is really tough, since this internal node stores the derivative of H and this can be high.  

Am I missing something or is there a work-around for it?

Also, how do I set the initial magnetization state of the core at the beginning of the simulation?

Thanks in advance,

Misha Ivanov

Title: Re: Magnetic model convergence problem
Post by Ken Kundert on Feb 19th, 2004, 11:00am

Misha,
I appreciate your comments. What you describe sounds like a tolerance problem. I apologize for that. I'm afraid I've never had the opportunity to use the model much personally, so I have not seen these kinds of problems.

The solution involves either scaling the Hdot signal to reduce its size or creating new natures that have larger tolerances and combining them into a new discipline that is used only for Hdot.

Concerning the initial magnetization, I am not sure. There are a couple of knobs available to you. You can use a Spectre ic statement to set the initial condition on Hdot. To do so, use
  ic L1.Hdot = 0
if the inductor is named L1. Or you can set an initial condtion on the idt function used to compute Mirr. You can pass this initial condtion into the module as a parameter.

If you let me know what works and can write it up, I will add your comments back into the paper (and then peole can be thanking you).

-Ken

Title: Re: Magnetic model convergence problem
Post by Misha on Feb 20th, 2004, 7:11am

Thank you, Ken for a quick reply.  I think scaling Hdot helps.  I scaled Hdot by 1e-6 and played with Spectre settings and only get the warnings about the result being not precise at a few time points, but no Spectre baileouts.  However playing with Gmin and especially Cmin also makes a difference, but Cmin is dangereous as it creates LC tanks.

I'm still having trouble getting reasonable output and getting the core to saturate.  I even tried simulating your E-transformer from the paper but was not able to drive the cores into saturation and obtain the nice B-H and I(t), V(t) curves shown in Figure 5 and 6.  Would you by any chance have those sim files in your archive, that you could send me.  This would be really helpful.  Maybe my problem are the model parameters? but I copied yours from that example for E-transformer...  We're still working on extracting the J-A model parameters for our own cores.

Thanks again,
Misha Ivanov

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.