help-gnucap
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-gnucap] Convergence problem


From: al davis
Subject: Re: [Help-gnucap] Convergence problem
Date: Tue, 19 Jul 2011 22:25:25 -0400
User-agent: KMail/1.13.7 (Linux/2.6.32-trunk-amd64; KDE/4.6.4; x86_64; ; )

On Tuesday 19 July 2011, Ramiro Aceves wrote:
> I have a convergence problem:

Quick answer, based on experience, so I can give you an 
immediate response ..

Convergence problems are often tied to the model used.

You are using the old "modelgen" BJT model, which will be phased 
out.

Try instead to use the Spice BJT model from the spice models 
tarball.

The modelgen models in gnucap (analogous to the spice "code-
models") check convergence by recursively checking the 
subcircuit.  This often results in overly critical checking, 
where really everything is ok, but it indicates non-convergence.

Convergence checking in the spice models is less critical, so 
often just switching  to the other model will solve the problem.

Try this ..
get the plugin tarball 
http://gnucap.org/devel/gnucap-2009-12-07-models-spice3f5.tar.gz

unpack it, compile the "bjt" model .. "load" it as a plugin.


More detailed response, for the curious ..

The modelgen models use an underlying subcircuit, and check 
every part of it individually for convergence, the equivalent of 
checking every state variable and the derivatives separately, 
then a check pass checks all of the voltages node-to-node.  To 
accept, all must pass.  This includes the internal nonlinear 
capacitances, and all strays.  The down side is that 
occasionally one of the strays can get stuck on amplified 
numerical noise and never be accepted, when in fact it could be 
ignored.

Spice uses a quick check for convergence, where only a few 
parameters are checked, as a composite.  This method often 
accepts incorrect values as converged, sometimes leading to 
believable incorrect results.

Gnucap with the spice model is somewhere in the middle ..  It 
first uses the spice method, it's part of the model code, then 
checks node-to-node voltages.  The node-to-node check seems to 
catch the false convergence problems.

Convergence handling is a big issue in simulator and model 
design.  There are trade-offs, impossible to really know what is 
best  in general.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]