Overview

Sensitivity can be calculated from a solution of the adjoint system, see “Computer Methods for Circuit Analysis and Design (Vlach and Singhal)”.

In gnucap it may look like this:

include netlist.ckt
.print dc v(nodes)
.dc
.print sens R(R1) W(MN1)
.sens v(node0) v(node1)

calculates the sensitivities of node voltages with respect to device parameters.

Implementation

the .sens command is similar to the ac command. it expects a dc operation point to be computed already. It loads the acx matrix and does an lu decomposition. then for all outputs it solves the adjoint system using Gennadys fbsubt() and iterates the probelist. the solution is stored in double _sim→_sens[numberofnodes].

devices need to provide a XPROBE sens_probe_ext(string) const for this to work. this function uses the adjacent values from sim→_sens.

there's a “sens” command in gnucap-uf, where the component interface and sim_data has been augmented. needs more thought before inclusion.

gnucap/user/sensitivity_command.txt · Last modified: 2016/10/17 18:17 by felixs
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Run by Debian Driven by DokuWiki