octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: QuCS


From: Richard Crozier
Subject: Re: QuCS
Date: Tue, 22 Oct 2013 21:36:49 +0100
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20121010 Thunderbird/16.0.1

On 22/10/2013 19:43, Ahsan Shahid wrote:
Hi Richard!
I am interested in development of  QuCS interface for Octave. Can you
guide me where to start and what do I have to know for its development?
I can have a few hours spare which I think I can spend on its development.

Regards
-Ahsan

Hi Ahsan,

The qucs developers list may be a better place to discuss this, but the Octave folk might be interested too (for those who don't know Qucs is a circuit simulator).

So first what is the status, well, what exists at the moment is a rough proof of concept of running a qucs circuit simulation from Octave through a mex interface. This is based on classdef syntax, which is only present in the classdef branch of the Octave development sources.

There are two ways of running a circuit simulation, asynchronous, which works, and synchronous, which sort-of works, a bit. In asynchronous mode, you give qucs two time steps, and it solves the circuit between these time steps, internally choosing appropriate smaller steps, and returns the branch voltages and currents at the end.

In synchronous mode, octave is supposed to control all the time steps, and do the error control, and I intend to use the octave ode solvers for this.

The generic external interface code, and the octave stuff can be found in the qucs git repo here:

http://sourceforge.net/p/qucs/git/ci/master/tree/qucs-core/src/interface/

I have a script that runs an example circuit using the interface, but this is not in the repo and not convenient for me right now, but I can send (or upload) it later if you are still interested.

Building the interface is unfortunately not very streamlined yet. At the moment you must build the qucs-core development sources as normal using maintainer mode, then I have used a code::blocks file to create a static library (libqucsatorfull.a) for linking with the mex interface. It's all very involved, but if you are still interested in helping I can provide you with more help and information and try and improve it. There's a lot to do.

Incidentally, if you just want the final output of the circuit and don't care what happens during simulation till the end there are existing function to load qucs output into Octave. The aim of the interface is to ultimately change circuit parameters during simulation etc.

Richard




--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]