gnucap-devel
[Top][All Lists]
Advanced

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

Re: [Gnucap-devel] Gnucap Integrated waveform displayer Details


From: al davis
Subject: Re: [Gnucap-devel] Gnucap Integrated waveform displayer Details
Date: Mon, 9 Jun 2014 20:09:24 -0400
User-agent: KMail/1.13.7 (Linux/3.2.0-4-amd64; KDE/4.8.4; x86_64; ; )

On Wednesday 04 June 2014, Abhinav singh wrote:
> .store type of analysis (probe names)    //Is it necessary to
> use??

If you only look at simple cases, you might think it would be 
unnecessary.  Just save all the node voltages.

But ..  There is a lot more than node voltages, and some 
circuits are very large, so saving everything is excessive, 
hence the need for the store command.  It does take wildcards, 
so you can ask for a lot of stuff easily.

On Wednesday 04 June 2014, Abhinav singh wrote:
> First retrieve the stored data from wave object into
> structure called "plotting vector". What "plotting vector"
> contains:-  A "plotting vector" is a structure associated
> with each probe which we need to plot out. In each "plotting
> vector" there is node name, probe data, max and min value of
> data, type of line style and color if user want something
> different from default one and legend.

Why bother to transfer?  Why not use the WAVE directly?

The WAVE is designed to be indexed by time (or whatever the X 
axis is) not index.  If you ask for a time that is not a 
computed point, it will handle the interpolation for you.

Internally, computed points are usually not uniformly spaced, 
and the computed points in one WAVE may not match the computed 
points in another from the same analysis.

On Sunday 08 June 2014, Abhinav singh wrote:
> If user chooses large step size for
> analysis then it will lead to poor plotting(not cover up the
> exact nature of wave). So what i need here to store more
> sample point in wave object if not sufficient for good plot.

As Felix said, do "trace=all" to get all time steps.

The existing behavior is a hang-over from early days of ASCII 
plots, which is what you get now, and why this here project is 
important.  ASCII plots need uniform stepping.

Also, years ago the step control wasn't as good as it is now.  
For a long time Gnucap (and predecessor ACS) used Spice-like 
step control, which was less accurate.  The step control now 
works a lot better to the point where it is usually nearly 
optimal without any specific step info from the users.  Usually 
if you do specify a step size that just makes it run slower.

Step control is calculated to be accurate enough that any point 
on the interpolated curve should be within tolerance.

Some options (option statement) of interest here:

"trsteporder" selects whether to base the interpolation on lines 
(1), quadratic splines (2) or cubic splines (3) .  The default 
value is 3, which means that if you connect the calculated 
points with cubic splines every interpolated point will be 
within tolerance.

This is a reason to use WAVE as is, not to transfer the data.  
It does its own interpolation.  For now, the WAVE uses linear, 
but there are plans to change it to follow trsteporder.  By just 
using WAVE you get what it has.  If you do your own 
interpolation it will usually not be as good as what WAVE does.

For plotting, most likely you won't notice the difference.  The 
WAVE is also used in other places such as measure and 
transmission lines, which are more critical.



reply via email to

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