Re: A different timestep issue
Felix Salfelder <[email protected]> Sun, 26 Sep 2021 05:55:14 +0200
| Newsgroups | gmane.comp.gnu.gnucap.devel |
|---|---|
| Message-ID | <[email protected]> |
On Sat, Sep 25, 2021 at 05:15:38PM -0700, Dow Drake wrote: > Transient simulation of this common emitter amplifier circuit (see > attached netlist) fails using gnucsator (current develop) if the > amplitude U of the sinusoidal voltage input signal is >= 0.888V. > ``` > gnucsator: s_tr_swp.cc:292: bool TRANSIENT::next(): Assertion `new_dt >= _sim->_dtmin' failed. > ``` > If the amplitude U <= 0.887V, it has no issues and the number of timesteps and iterations seems reasonable. For example, with U = 0.887V we get: > ``` > Gnucap System status > iterations: op=0, dc=0, tran=2286, fourier=0, total=2788 > transient timesteps: accepted=502, rejected=0, total=502 > transient timesteps: accepted=0, rejected=0, total=0 > nodes: user=5, subckt=0, model=1, total=6 > dctran density=83.3%, ac density=83.3% > ``` > This circuit is simulated correctly by qucsator for all input > amplitudes. Noticeable clipping of the bottom of the output signal > begins to occur for input amplitudes > 0.9V. This may relate to the > gnucsator issue above. This is fixed in gnucsator/develop. The zero area pnp has caused some trouble. It does no longer do that when shutting down all subdevices (which is what I should have done anyway). I don't know how exactly s_tr_swp.cc:292 got triggered (note that we use an old version.), but it does not seem to require further action. It only happened with tstep=tend/500. NB1: Al suggested to add a polarity parameter in bjt, and then drop the mirror device from the wrapper. This may be more correct, as far as introducing extra instance parameters is correct. But it involves extra work -- i'll leave it like it is until some other issue shows up. NB2: Possibly same issue with the FETs.