On Sat, Jan 11, 2014 at 04:20:38PM -0500, al davis wrote: > On the surface we only care about h small. But really that is > not so. There are times when we want to allow a large time step > and HIDE the error with the intent of ignoring it.
this hasnt occurred to me yet. i would have tried to replace the netlist with a smaller/faster one. > > now, what i have tried to work out is an adaptive method > > selection. in the pulse & lowpass example, the pulse source > > introduces discontinuities in the node voltages that break > > trap in an obvious way. it totally makes sense to switch > > back to euler in c1 (only) for those steps succeeding the > > discontinuities -- *without* turning off step control... > > Interesting .. > > I see they all have a high number of rejections. Please try > again after applying the pulse patch. I think your results are > contaminated by pulse time step issues. the pulse patch makes things worse for me. the number of iterations increases from ~3000 to ~5000. i think that is because the patch moves the events from the discontinuities, where my mechanism requires them. > I tried some things like that long ago, and eventually gave up > and took a different path. > > The different path was to add another step control based on > curve fitting, that is used when truncation error is > meaningless. in combination, it seems to work best. consider d_switch_nro.3.ckt. vanilla gnucap yields iterations: op=0, dc=0, tran=18028, fourier=0, total=26977 transient timesteps: accepted=147, rejected=8802, total=8949 with my euler fallback i get iterations: op=0, dc=0, tran=425, fourier=0, total=573 transient timesteps: accepted=148, rejected=0, total=148 regards felix _______________________________________________ Gnucap-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/gnucap-devel
