class kqcircuits.elements.smooth_capacitor.SmoothCapacitor[source]

Bases: Element

The PCell declaration for a smooth finger capacitor.

SmoothCapacitor is a finger capacitor, which has continuous geometry changes through the capacitance range. This leads to continuous capacitance function, which enables using capacitor inside numerical optimization methods.

Capacitance range is achieved by changing single parameter called finger_control.


default implementation


Child classes re-define this method to build the PCell.

classmethod get_sim_ports(simulation)[source]

List of RefpointToSimPort objects defining which refpoints should be turned to simulation ports for the given element class

Returns empty list if not implemented for Element subclass. When implementing this method, the best practice is for this method to have no “side effects”, that is all code contained within this method should only serve to derive the list of RefpointToSimPort objects and nothing else: no change in element’s geometry or parameter values.

  • cls – Element class, this is a class method

  • simulation – Simulation object where a cell of this element class is placed. Use this argument if you need to decide certain arguments for RefpointToSimPort objects based on simulation’s parameters


List of RefpointToSimPort objects, empty list by default

PCell parameters:

  • finger_control (Double) - Parameter for capacitor growth (related to number of fingers per side), default=2.1

  • ground_gap (Double) - Gap between ground and finger, default=10, unit=μm

  • a2 (Double) - Non-physical value ‘-1’ means that the default size ‘a’ is used., default=-1, unit=μm

  • b2 (Double) - Non-physical value ‘-1’ means that the default size ‘b’ is used., default=-1, unit=μm

  • fixed_length (Double) - Fixed length of element, 0 for auto-length, default=0, unit=μm

  • finger_width (Double) - Width of a finger, default=10, unit=μm

  • finger_gap (Double) - Gap between the fingers, default=5, unit=μm