On Fri, Mar 24, 2017 at 09:01:39AM +0000, Richard Crozier wrote: > The Qucs solvers can be used as a shared library, qucsator is actually > just a thin wrapper for this library now.
Dear Richard. yes, gnucap comes as a shared library. see main/main.cc. it essentially links to the library. running it will load plugins, then spawn a command interpreter and not much else. note that (almost all, and growing) functionality is encapsulated in plugins. > With special elements in your > circuit you can externally control voltage sources etc. at every time > step. This can run either 'synchronously' i.e., you set voltages etc. on > every single time step, or 'asynchronously', where you set voltages in > between multiple steps and they are interpolated at the next steps. > > Is it possible to do the same or similar with gnucap? i think you are referring to transient analysis. and referring to controlling transient simulation from the outside world. two examples come to mind, both are plugins. one turns gnucap into an audio processor. the other is a remote control interface for circuit state space inspection. realtime audio processing is done by loading component modules that communicate with your sound system (through the jack audio interface) [1]. in particular it implements externally controlled behavioural models, that you can use for controlling sources (or any other elements). and the other way round, send real time data to your sound card. state space inspection is techniques that try to interfere with and observe a circuit while it is running (pause/analyse/modify/continue), as opposed to transient analysis where you try to interpret results *after* you ran the simulation. (once upon a time) I have implemented an interface plugin for gnucap, to drop-in replace an in-house simulator (proprietary, closed source, no-verilog-a) in a verification workflow. it uses sockets to communicate and it is part of gnucap-uf [2] (my ancient fork). unlike many other plugins i have not ported this plugin to mainline, and i wouldn't say it is particularly elegant. yet it might serve as a proof of concept for what you might need. > Based on the above I also created a matlab/octave interface based on mex > files for direct data communication imo much the same thing as above. never used mex though. interfacing octave is in our to-do list...[3] cheers/hth felix [1] https://github.com/gnucap/gnucap-jack [2] https://github.com/felix-salfelder/gnucap/tree/master-uf [3] http://gnucap.org/dokuwiki/doku.php?id=gnucap:projects _______________________________________________ Gnucap-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/gnucap-devel
