<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://www.gnucap.com/dokuwiki/lib/exe/css.php?s=feed" type="text/css"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#">
    <title>* gnucap:manual:tech:plugins:devices</title>
    <tagline></tagline>
    <link rel="alternate" type="text/html" href="http://www.gnucap.com/dokuwiki/"/>
    <id>http://www.gnucap.com/dokuwiki/</id>
    <modified>2026-04-16T07:56:53-05:00</modified>
    <generator>FeedCreator 1.7.2-ppt DokuWiki</generator>
    <entry>
        <title>gnucap:manual:tech:plugins:devices:ac_analysis</title>
        <link rel="alternate" type="text/html" href="http://www.gnucap.com/dokuwiki/doku.php/gnucap:manual:tech:plugins:devices:ac_analysis?rev=1449869995&amp;do=diff"/>
        <created>2015-12-11T15:39:55-05:00</created>
        <issued>2015-12-11T15:39:55-05:00</issued>
        <modified>2015-12-11T15:39:55-05:00</modified>
        <id>http://www.gnucap.com/dokuwiki/doku.php/gnucap:manual:tech:plugins:devices:ac_analysis?rev=1449869995&amp;do=diff</id>
        <summary>Implementation

AC analysis

The AC functions in Gnucap correspond to a combination of the AC and PZ functions in Spice.  Actually, they are more like the PZ functions, in the sense that frequency (SIM::jomega) is complex.

void ac_iwant_matrix()

Notify the sparse matrix of what nodes this device uses.</summary>
    </entry>
    <entry>
        <title>gnucap:manual:tech:plugins:devices:allocation_and_setup</title>
        <link rel="alternate" type="text/html" href="http://www.gnucap.com/dokuwiki/doku.php/gnucap:manual:tech:plugins:devices:allocation_and_setup?rev=1770652535&amp;do=diff"/>
        <created>2026-02-09T09:55:35-05:00</created>
        <issued>2026-02-09T09:55:35-05:00</issued>
        <modified>2026-02-09T09:55:35-05:00</modified>
        <id>http://www.gnucap.com/dokuwiki/doku.php/gnucap:manual:tech:plugins:devices:allocation_and_setup?rev=1770652535&amp;do=diff</id>
        <summary>Implementation

Allocation and setup

default constructor

A default constructor is required.  It is used to construct the static object that is registered with the dispatcher.  It should do what a default constructor usually does.

copy constructor

A copy constructor is required.  Most objects are created by the copy constructor, as copies of the object registered with the dispatcher.  Usually, it should do a SHALLOW copy.  In particular, a COMMON should be linked and not copied.  A copy const…</summary>
    </entry>
    <entry>
        <title>gnucap:manual:tech:plugins:devices:dc_and_transient_analysis</title>
        <link rel="alternate" type="text/html" href="http://www.gnucap.com/dokuwiki/doku.php/gnucap:manual:tech:plugins:devices:dc_and_transient_analysis?rev=1736595787&amp;do=diff"/>
        <created>2025-01-11T05:43:07-05:00</created>
        <issued>2025-01-11T05:43:07-05:00</issued>
        <modified>2025-01-11T05:43:07-05:00</modified>
        <id>http://www.gnucap.com/dokuwiki/doku.php/gnucap:manual:tech:plugins:devices:dc_and_transient_analysis?rev=1736595787&amp;do=diff</id>
        <summary>Implementation

DC and transient analysis

void tr_iwant_matrix()

Notify the sparse matrix of what nodes this device uses.

Two matrices are used, “aa” and “lu”.  The matrix “aa” is the nodal admittance matrix.  The matrix “lu” is the LU factors of the admittance matrix.  Both need to be notified, and have identical patterns.</summary>
    </entry>
    <entry>
        <title>gnucap:manual:tech:plugins:devices:parameters</title>
        <link rel="alternate" type="text/html" href="http://www.gnucap.com/dokuwiki/doku.php/gnucap:manual:tech:plugins:devices:parameters?rev=1737091927&amp;do=diff"/>
        <created>2025-01-16T23:32:07-05:00</created>
        <issued>2025-01-16T23:32:07-05:00</issued>
        <modified>2025-01-16T23:32:07-05:00</modified>
        <id>http://www.gnucap.com/dokuwiki/doku.php/gnucap:manual:tech:plugins:devices:parameters?rev=1737091927&amp;do=diff</id>
        <summary>Implementation

Parameters

These methods provide all access to parameters.  Parameters are seen as strings in this context, because it is more flexible.  Usually parameters are accessed by index, as if in an array.  It is up to the implementer to decide what type of storage to actually use.</summary>
    </entry>
    <entry>
        <title>gnucap:manual:tech:plugins:devices:ports</title>
        <link rel="alternate" type="text/html" href="http://www.gnucap.com/dokuwiki/doku.php/gnucap:manual:tech:plugins:devices:ports?rev=1734086857&amp;do=diff"/>
        <created>2024-12-13T04:47:37-05:00</created>
        <issued>2024-12-13T04:47:37-05:00</issued>
        <modified>2024-12-13T04:47:37-05:00</modified>
        <id>http://www.gnucap.com/dokuwiki/doku.php/gnucap:manual:tech:plugins:devices:ports?rev=1734086857&amp;do=diff</id>
        <summary>Implementation

Ports

void set_port_by_name(std::string&amp; name, std::string&amp; value)

Make a connection between a port and the rest of the circuit, by name as in Verilog.  Usually this is not needed because the inherited method will do the right thing, which is to look up the index then do set_port_by_index.</summary>
    </entry>
    <entry>
        <title>gnucap:manual:tech:plugins:devices:probes</title>
        <link rel="alternate" type="text/html" href="http://www.gnucap.com/dokuwiki/doku.php/gnucap:manual:tech:plugins:devices:probes?rev=1371708479&amp;do=diff"/>
        <created>2013-06-20T01:07:59-05:00</created>
        <issued>2013-06-20T01:07:59-05:00</issued>
        <modified>2013-06-20T01:07:59-05:00</modified>
        <id>http://www.gnucap.com/dokuwiki/doku.php/gnucap:manual:tech:plugins:devices:probes?rev=1371708479&amp;do=diff</id>
        <summary>Implementation

Probes

double tr_probe_num(const std::string&amp;)const

This function returns a probe value for DC, OP, and transient analysis, selected by a string argument.  Any state variable or parameter may be selected.

Usually the code consists of a string of if - elseif statements.  If none match, in most cases it should call BASE::tr_probe_num and return its result.</summary>
    </entry>
    <entry>
        <title>gnucap:manual:tech:plugins:devices:query</title>
        <link rel="alternate" type="text/html" href="http://www.gnucap.com/dokuwiki/doku.php/gnucap:manual:tech:plugins:devices:query?rev=1449869995&amp;do=diff"/>
        <created>2015-12-11T15:39:55-05:00</created>
        <issued>2015-12-11T15:39:55-05:00</issued>
        <modified>2015-12-11T15:39:55-05:00</modified>
        <id>http://www.gnucap.com/dokuwiki/doku.php/gnucap:manual:tech:plugins:devices:query?rev=1449869995&amp;do=diff</id>
        <summary>Implementation

Simple query functions

Used by parser

int max_nodes()const

Return the maximum number of ports, from the viewpoint of the parser, including both voltage ports and current ports.  Usually it returns a constant.

int min_nodes()const

Return the minimum number of ports, from the viewpoint of the parser, including both voltage ports and current ports.  Usually it is the same as max_nodes.</summary>
    </entry>
</feed>
