Summer of Code - Getting Started: Difference between revisions

→‎Octave-Forge packages: Added Qucs interface project
(→‎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.
Anonymous user