Re: Help-gnucap Digest, Vol 88, Issue 3

Romain GAILLETON <[email protected]> Mon, 07 Jan 2013 18:14:36 +0100
Newsgroups gmane.comp.gnu.gnucap.general
Organization CCamy
Message-ID <[email protected]>
Hi,

So I tried your parameters and it seems to work pretty well now. The 
computing time is roughly divided by 8 which is nice ! Yet we need to 
improve it a little bit more.
We can reach the previous computing time (divided by 8) when we set 
dtmin=0.01 but after several actions on the different elements of the 
circuit, it seems like it induces a convergence issue (non-recoverable 
initial guess).
I tried to reduce the ratio RON/ROFF for my switches like I saw in a 
previous post but it increases the computing time (Currently RON=1E-5 
and ROFF=1E15). I finally set dtmin at 0.001 in order to prevent us from 
having this issue.
>>5.      Could it be possible to reduce the computing time under 500ms 
>> in  your opinion?
>don't know ..
>
>but look at what stat tells you ... where is it spending the time?

95% of the computing times seem to come from the LU operation according 
to the "status" command.
I  am running Gnucap on Windows using the last available version (2009)
So I tried to run it on Linux using the 0.35 version but the 
improvement was not as good as expected.
We end up with 5% gain on the computing time using the same parameters 
you gave us earlier. Would you expect this result too ?

Thanks to everyone for the help


Le 2013-01-07 18:00, [email protected] a écrit :
> Send Help-gnucap mailing list submissions to
> 	[email protected]
>
> To subscribe or unsubscribe via the World Wide Web, visit
> 	https://lists.gnu.org/mailman/listinfo/help-gnucap
> or, via email, send a message with subject or body 'help' to
> 	[email protected]
>
> You can reach the person managing the list at
> 	[email protected]
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Help-gnucap digest..."
>
>
> Today's Topics:
>
>    1. Re and more (Romain GAILLETON)
>    2. Re: Re and more (Felix Salfelder)
>
>
> 
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Mon, 07 Jan 2013 08:38:50 +0100
> From: Romain GAILLETON <[email protected]>
> To: <[email protected]>
> Subject: [Help-gnucap] Re and more
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset=UTF-8; format=flowed
>
> Hi !
>
> First of all Thanks for your previous answers, i will test it as soon
> as possible.
>
> Some advised me to let gnucap choose its step size but I would like 
> to
> know how to let it do so because when I don't set the stepsize the 
> first
> time I use the command "tran" it doesn't work saying it misses the
> stepsize.
>
> Thanks again.
>
>
> Le 2013-01-04 18:00, [email protected] a ?crit?:
>> Send Help-gnucap mailing list submissions to
>> 	[email protected]
>>
>> To subscribe or unsubscribe via the World Wide Web, visit
>> 	https://lists.gnu.org/mailman/listinfo/help-gnucap
>> or, via email, send a message with subject or body 'help' to
>> 	[email protected]
>>
>> You can reach the person managing the list at
>> 	[email protected]
>>
>> When replying, please edit your Subject line so it is more specific
>> than "Re: Contents of Help-gnucap digest..."
>>
>>
>> Today's Topics:
>>
>>    1. Re: computing time (al davis)
>>
>>
>>
>> 
>> ----------------------------------------------------------------------
>>
>> Message: 1
>> Date: Thu, 3 Jan 2013 22:39:38 -0500
>> From: al davis <[email protected]>
>> To: [email protected]
>> Subject: Re: [Help-gnucap] computing time
>> Message-ID: <[email protected]>
>> Content-Type: Text/Plain;  charset="utf-8"
>>
>> On Wednesday 02 January 2013, Romain GAILLETON wrote:
>>> Before consider the following questions, you have to know
>>> that we don?t  care of the accuracy of the voltage
>>> calculated. We are working on a 110V scheme and we just want
>>> to know if the wire are undervoltage or not (the voltage are
>>> binarize by another application).
>>> I would like to ask the several questions:
>>
>>> 1.      Which parameters can we use for reduce this computing
>>> time?
>>
>> The defaults are intended for the usual IC-analog circuits.  If
>> you are doing something different, you may want to change them.
>>
>> Reltol is relative, so probably ok as is.
>>
>> abstol, vntol are absolute.  You might want tolerances that
>> might seem big to otherwise ...  how about vntol=1 volt?  or
>> more?
>>
>> Is there feedback in your circuit?
>>
>> Is it linear except for the switches?
>>
>> Really a POWER circuit ..
>>
>> vfloor= 1.f
>> voltage floor .. try 1 volt?
>>
>> roundofftol= 100.f
>> 100 femptamps???  try .001 (1 milliamp)
>>
>> gmin= 1.p
>> 1 picomho,  10^12 ohms.
>> I get the feeling 100k is big for you .
>> try gmin=1e-6
>>
>>
>> short= 10.u  reltol= 0.001
>>
>> abstol= 1.p
>> controls currents to 1 picoamp ..  .001 amps good enough??
>>
>> vntol= 1.u
>> controls voltage to 1 microvolt   ..  1 volt good enough???
>>
>> chgtol= 10.f
>> controls charge to 10 femtocoulombs ..
>> ignored if you are using Euler.
>>
>> bypasstol= 0.1  loadtol= 0.1
>> How aggressive to bypass.
>> It probably doesn't matter with no semiconductors.
>> 0.1 means 10x tighter than final tolerance.
>>
>> * iteration limiting and heuristics
>> .options  itl1=100  itl2=50  itl3=6  itl4=20  itl5=0  itl6=5000
>> itl7=1  itl8=99
>> These are limits, when to give up.  You shouldn't be getting
>> convergence failures with this circuit.  Probably no more than 3
>> iterations on each step anyway.
>>
>> itermin=1
>> Number of extra check iterations to do to insure accuracy, to
>> protect against false convergence.  try itermin=0.
>>
>> vmax= 5.  vmin=-5.
>> Convergence heuristics .. probably doesn't matter here, but it
>> is best to make these numbers a little bigger than anything you
>> expect to see.  vmax=150 vmin=-150 ????
>>
>> dampmax= 1.  dampmin= 0.5  dampstrategy=0
>> These only come in when having trouble converging.  Mostly it is
>> a way of upsetting Newton loops to get out of limit cycles.
>>
>> dtmin= 1.p
>> The minimum time step is 1 picosecond.
>> .001 seconds good enough for you??
>>
>>
>> dtratio= 1.G  trstepgrow= 1.E+99  trstephold= 1.E+99
>> trstepshrink= 2.  trreject= 0.5
>>
>> trsteporder=3
>> Adjust stepping based on cubic splines.
>> probably best left alone.
>>
>> trstepcoef1= 0.25  trstepcoef2= 0.04166667  trstepcoef3=
>> 0.005208333
>> these best left alone.
>>
>>> 2.      Is there an option which would allow Gnucap to
>>> recalculate only the nodes where the voltage have changed?
>>
>> It sort of does now.
>>
>>
>>
>>> 3.      Is there an option which could allow us to send to
>>> the output only  the nodes which are in a range?
>>> Example: ?print tran v(nodes) ?  Which nodes are between 0 to
>>> 4000
>>
>> Node names are strings.   Wildcards * and ? are supported.  With
>> clever naming, selection can be very simple.
>>
>>> 4.      Is the time given by acct the real computing time?
>> (or the status command)
>>
>> Yes.
>>
>>> 5.      Could it be possible to reduce the computing time
>>> under 500ms in  your opinion?
>>
>> don't know ..
>>
>> but look at what stat tells you ... where is it spending the
>> time?
>>
>> add "trace all" to the tran command to see all steps.
>>
>> add a probe "iter(0)" to show how many iterations on a step.
>>
>> There is a problem with read-in time in the snapshot.  Adding a
>> feature (in the function "find_looking_out") made it slow.  Need
>> to change the search method.  If readin dominates, try an older
>> version, or comment out the call to find_looking_out, if you
>> don't need it.
>>
>>
>>
>>
>> ------------------------------
>>
>> _______________________________________________
>> Help-gnucap mailing list
>> [email protected]
>> https://lists.gnu.org/mailman/listinfo/help-gnucap
>>
>>
>> End of Help-gnucap Digest, Vol 88, Issue 2
>> ******************************************
>
>
>
>
> ------------------------------
>
> Message: 2
> Date: Mon, 7 Jan 2013 12:15:52 +0100
> From: Felix Salfelder <[email protected]>
> To: [email protected]
> Subject: Re: [Help-gnucap] Re and more
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset=us-ascii
>
> On Mon, Jan 07, 2013 at 08:38:50AM +0100, Romain GAILLETON wrote:
>> Some advised me to let gnucap choose its step size but I would like
>> to know how to let it do so because when I don't set the stepsize
>> the first time I use the command "tran" it doesn't work saying it
>> misses the stepsize.
>
> Hi Romain.
>
> the stepsize passed to .tran is the printing stepsize. internally 
> gnucap
> computes more steps (all print steps and some more).
>
> to see all computed steps, type
> .tran 0 1 .1 trace=a
>
> invoked with
> .tran 0 1 1 trace=a
> gnucap does not compute extra steps just to print something.
>
> hth
> felix
>
>
>
> ------------------------------
>
> _______________________________________________
> Help-gnucap mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/help-gnucap
>
>
> End of Help-gnucap Digest, Vol 88, Issue 3
> ******************************************


_______________________________________________
Help-gnucap mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-gnucap