Menu

#79 Support for Harmonic Balance simulation

0.0.19
open
nobody
None
5
2021-11-26
2021-11-23
No

Hi! The current (system level) components supported by the HB simulator are quite limited.

Going from http://qucs.sourceforge.net/components.html there's not a lot of support for HB. There's also no general arithmetic blocks like multiplication, addition etc. that allow for system level non-linear (RF) circuit design.

Is improved support for HB planned for the future?

Discussion

  • Felix

    Felix - 2021-11-23

    On Tue, Nov 23, 2021 at 05:04:05AM -0000, Jos van 't Hof wrote:

    Hi! The current (system level) components supported by the HB simulator are quite limited.

    Going from http://qucs.sourceforge.net/components.html there's not a lot of support for HB. There's also no general arithmetic blocks like multiplication, addition etc. that allow for system level non-linear (RF) circuit design.

    Is improved support for HB planned for the future?

    Hi Jos.

    I can give a partial answer. Tl;Dr; somebody will have to get started.

    HB is on the todo list for Gnucap. I looked into it a couple of years
    ago. First step would be to port/imitate/adapt the linear HB from
    Qucsator, and then try something more difficult.

    There are alternative HB implementations, e.g. in Xyce. Modular Qucs
    aims at more flexibility wrt the analysis backend. There is no driver
    for Xyce yet. Not sure how the general arithmetic blocks would map to
    Xyce, but certainly feasible.

    cheers
    felix

     
    • Jos van 't Hof

      Jos van 't Hof - 2021-11-26

      Hey Felix! Thanks for your fast reply! How do Gnucap and Qucs relate exactly?

      I'm curious about HB in any open source simulator. And won't mind digging around a little bit to get things working.

      You talk about the 'linear HB' of Qucsator, but many of the basic linear building blocks in Qucs (dc blocks/feeds, biasT, transmission lines, current probes) are not supported with Qucs' HB even though they are 'linear'. What decides whether or not a block is supported (in any) simulator? I.e. where in the code?

      Also is this your work with Xyce: https://github.com/Qucs/qucs-s ? Would any of that be applicable / a start of a Xyce driver? And when you say 'Xyce driver' does that imply basically an alternative to Qucsator but with Xyce as back-end.

      Jos

       
      • Felix

        Felix - 2021-11-27

        On Fri, Nov 26, 2021 at 10:24:14PM -0000, Jos van 't Hof wrote:

        Hey Felix! Thanks for your fast reply! How do Gnucap and Qucs relate exactly?

        They complement each other. In a nutshell, Gnucap has the modular
        architecture and algorithms that can compete with commercial post-spice
        simulators. Qucs has a graphical user interface, and a schematic editor.
        Gnucap has an interactive/scriptable circuit editor/simulator but only
        a command line interface.

        Under the hood, Qucs runs Qucsator, a small-circuit simulator. There is
        a Gnucap-based drop-in replacement, Gnucsator, that works much better in
        some situations. It consists of a bunch of Gnucap plugins, and some
        features are still under construction.

        Both projects are free (as in freedom). What I call "Modular Qucs" will
        combine (ideas from) the two.

        You talk about the 'linear HB' of Qucsator, but many of the basic
        linear building blocks in Qucs (dc blocks/feeds, biasT, transmission
        lines, current probes) are not supported with Qucs' HB even though
        they are 'linear'. What decides whether or not a block is supported
        (in any) simulator? I.e. where in the code?

        Don't know. I haven't studied the HB capabilities of the models
        implemented for Qucsator. Much of it looks pretty ad-hoc...

        Also is this your work with Xyce: https://github.com/Qucs/qucs-s ?
        Would any of that be applicable / a start of a Xyce driver?

        The Xyce driver was meant to bring Qucs-S features to modular Qucs.
        Modular Qucs has the infrastructure for "simulator drivers", which Qucs
        does not have... I definitely need help with this.

        And when you say 'Xyce driver' does that imply basically an
        alternative to Qucsator but with Xyce as back-end.

        It is a possibility. Switching between backends will only work where
        there is an overlap in features. Any overlap will remain optional, but
        certainly worth working towards to. Support for "Qucsator components" is
        such a feature, and probably a good starting point (cf. Gnucsator).

        In a perfect world, Qucs would only have to deal with portable,
        standardised component models (such as Verilog-AMS). We don't have a
        simulator that can fully make sense of it. Another starting point, but
        more difficult.

        cheers
        felix

         

Log in to post a comment.