[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnucap-devel] [Qucs-devel] Qucs, Gnucap, and Google Summer of Code
From: |
Felix Salfelder |
Subject: |
Re: [Gnucap-devel] [Qucs-devel] Qucs, Gnucap, and Google Summer of Code |
Date: |
Fri, 24 Mar 2017 11:06:25 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
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
- Re: [Gnucap-devel] [Qucs-devel] Qucs, Gnucap, and Google Summer of Code, Richard Crozier, 2017/03/24
- Re: [Gnucap-devel] [Qucs-devel] Qucs, Gnucap, and Google Summer of Code,
Felix Salfelder <=
- Re: [Gnucap-devel] [Qucs-devel] Qucs, Gnucap, and Google Summer of Code, al davis, 2017/03/24
- [Gnucap-devel] coupling again. was: Re: Qucs, Gnucap etc. Code, Felix Salfelder, 2017/03/28