Some replies take longer than others... On Monday 01 June 2009, henrik johansson wrote: > I'm trying to find a solution to how to set the initial > condition for inner transient analysis. Correct me if I'm > wrong but isn't it impossible to calculate the > state-transition function Phi(v0, 0, T) and the jacobian of > it Jphi with NA since the full-state of the circuit is not > captured by the voltage vector. Using MNA the vector of node > voltages and currents through inductors represents the state > of the circuit.
I don't know... I had the impression that the algorithm being presented is really the standard transient analysis, unwrapped, with maybe a few minor changes, but I have not actually studied it. Gnucap has a provision for continuing a transient analysis, using the end of the previous run as the starting point for the new run. It seems to me that it should do what you need in this case. Look at the example: http://wiki.gnucap.org/dokuwiki/doku.php?id=gnucap:manual:examples:phase_shift_oscillator Restarting like this is not based only on the voltage vector. All devices store their own state. The device function tr_restore exists to make sure a restart starts from a consistent state. You might want to look at the the "tr_restore" functions, particularly for some of the more complex devices. Since I did that so long ago, I don't remember what is really required. It might be useful to look at the "freeze" and "unfreeze" commands. (and possibly uncover a new bug after all these years). I like to think this works, and has worked for a long time, but actually I would not be surprised if you can find cases where it does not restore correctly. I don't think it is possible, or at least not practical, for the voltage vector to capture the complete state, in general. Just thinking of the inductor is a tiny subset of "all models", especially considering new models that don't yet work but will in the future, or have not been developed yet. When I say "complete state" .. think of something like a BSIM4 model. A quick check tells me that it has 8 internal nodes, representing some kind of internal state that is stored in the voltage vector. It also has 29 (if I counted correctly) state variables that are not stored in the voltage vector. I can't think of any way to access this reliably in general in a form that would be useful in this case. Does this help? al. > It would be possible to probe the current of all inductors > and then calculate the MNA matrix and LU-factor it for each > timestep and then use that to calculate the state-transition > Jacobian. But it would be a pity to not use the NA Jacobian. > But I don't know how to handle this for spice-devices. You can't think in terms of "inductors" and "spice-devices". All of those are optional. To be useful, it must work with all devices including new ones that have not been developed yet. _______________________________________________ Gnucap-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnucap-devel
