Summer of Code - Getting Started: Difference between revisions
Jump to navigation
Jump to search
(→Octave-Forge packages: Added Qucs interface project) |
|||
Line 207: | Line 207: | ||
'''Potential mentor''': Jordi Gutiérrez Hermoso | '''Potential mentor''': Jordi Gutiérrez Hermoso | ||
=== Interface to Electronic Circuit Simulator === | |||
[http://sourceforge.net/projects/qucs/ Qucs] is a C++ based circuit simulation package. This project aims to create an interface to the Qucs algorithms to allow the transient, i.e. time series, simulation of circuits in Octave within a larger ODE system simulation, and possibly make other analyses types available directly from Octave. The C++ interface would be based on handle class syntax currently in development in the <code>classdef</code> branch of the repository. This method has already been successfully tested on other projects, and examples of this type of interface are available (e.g. [https://sourced.ecdf.ed.ac.uk/projects/see/xfemm here] and [https://www.mathworks.com/matlabcentral/fileexchange/38964-example-matlab-class-wrapper-for-a-c++-class here]). | |||
'''Required skills''': C++ and m-file scripting. Familiarity with new classdef syntax would be useful. May require some modification/adaptation of the Qucs sources. Familiarity with the Octave ODE solvers useful but not essential. | |||
'''Difficulty''': medium. | |||
'''Potential mentor''': Richard Crozier | |||
'''Main Goals''' | |||
* Create an Octave circuit class which can load and parse a Qucs circuit netlist | |||
* Create class methods with functionality similar to the <code>trsolver</code> C++ class methods in Qucs, i.e with the ability to call the DC solution code, and transient solution code at each time step. | |||
* Create a method of accessing the current circuit solution values in Octave at each time step. | |||
'''Bonus Goals''' | |||
* Create new circuit elements which allow Octave to apply voltages and currents during a circuit simulation. |