[Top][All Lists]

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

[Gnucap-devel] gnucap development snapshot 2008-05-27

From: al davis
Subject: [Gnucap-devel] gnucap development snapshot 2008-05-27
Date: Tue, 27 May 2008 10:34:43 -0400

There is a new development snapshot available ...

Models (optional) have also been updated:

Another optional package contains some tools.  There are no 
changes, but there is a new one for consistency.

This file contains the md5sum of the other files, so you can 
check for a proper download:

This snapshot provides:

1. Choice of Gear-2 method for numerical differentiation.

2. Refinements of time step control ...
2a. most components participate.
2b. some new "options"

3. "store" command. stashes data for post-processing

4. New models tarball -- the models from "Jspice", including 
Josephson Junction.


This is still very much a development snapshot, and should not 
be included in any distribution or CD.

1. Choice of Gear-2 method ..

Specify ".option method=gear". or "gear2"

Choices are trap, euler, gear.

Step control with Gear method is based on truncation error, but 
less rigourously than when Trap method is specified.  This is 
because Gear's method induces errors in the third derivative 
when time step is changed.  It is usually not noticeable 
visually, but very noticeable in the third derivative which is 
used for step control.  As a work-around, step control is based 
on the second derivative instead.

2. Refinements of time step control

By default, time step control should maintain smoothness such 
that if you fit the data with cubic splines, the interpolated 
points will be within tolerance.  Some new options are added:

"trsteporder", default=3, set step size so an interpolating 
spline of this order will be within tolerance.

"trstepcoef1", "trstepcoef2", "trstepcoef3"
Coefficients of the error term of the truncated series, 1st, 
2nd, 3rd order.  Only one applies, the one specified 
in "trsteporder".  

There is still more work to be done.

3. "store" command. stashes data for post-processing

"store" command .. (should it be "save"?  but "save" is a 
conflict)  --- stores data for post-processing.  Some 
post-processing commands "measure" type are coming soon.

It is possible to write a plug-in that will use this data, but 
none are included in this snapshot.  Watch address@hidden 
to see some as they come out.

4. New models tarball -- the models from "Jspice", including 
Josephson Junction.

Not all of them work.  Some fail to attach, like other model 
plugins.  This is incomplete work.  I believe the JJ does work, 
but without the optional current sense.

5. Performance comments:

In a previous announcement, I said "Performance with spice model 
plugins is very slow" ..  It is not as bad as indicated, but 
nothing has been done about it.

When comparing speed between gnucap and spice, using model 
plugins, the dominant time is usually taken by model 
evaluation.  The same models should run in the same time.  In 
some cases, gnucap's stricter time control can result in slower 
run time.  I have examples where Spice gives completely wrong 
answers because of step control problems.  In these cases, 
gnucap is slower because it does more time steps, and correct 
because of it.

6. Plugins using the spice-wrapper still do not take named 
parameters, or expressions.


As usual, to get started you need only the main package 
gnucap-2008-xx-xx.tar.gz .  

The other "models" packages contain the exact models from the 
various sources.  If you need a jfet, I recommend the one 
in "spice3f5".  If you need a BSIM model, the obvious choice is 
the "bsim" package, which has all of them.  The "ngspice17" 
package contains a few models not available elsewhere, such 
as "vbic".  Making a models package available is not an 
endorsement of those models.  The intent is that by using 
plugins, models designed for as many other simulators as 
possible can be used by gnucap.

If you need other models, let me know.  

reply via email to

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