2. Capacitance Matrix
This section explains the theory behind the capacitance solver
and clarifies some of the terms used in the API.
Consider a multi-conductor system shown in Fig. 2.6. The system consists of \(N+1\) perfect conductors surrounded by a perfect, possibly inhomogeneous, dielectric medium. Potential on the ground conductor is assumed to be zero.

Fig. 2.6 Multi-conductor system under consideration
The system consists of \(N+1\) perfect conductors surrounded by a perfect, possibly inhomogeneous, dielectric medium. The potential on the ground conductor is assumed to be zero.
In the steady state, a linear relationship exists between the potentials and charges on the surfaces of the conductors, which can be written as follows [Che92, HD08, MSM12]:
or more complactly as
The matrix \(\mathbf C\) is referred to as the capacitance matrix of the multi-conductor system.
One can find the coefficients \(C_{ij}\) of this matrix as follows [MSM12]:
where \(Q_i\) is the charge that accumulates on the surface of conductor \(i\) when all potentials except \(\varphi_j\) are set to zero. This charge can be found by solving for \(\varphi\) using Poisson’s equation \(\nabla \cdot \left(\epsilon\nabla\varphi\right) = 0\) with appropriate boundary conditions and using Gauss’ law to compute the charge [Che92] at each conductor.
The multi-conductor system can also be represented as the following circuit [Che92]:

Fig. 2.7 Lumped element circuit representation of the multi-conductor system
where the lumped capacitors \(c_{ij}\) between the nodes are related to the coefficients \(C_{ij}\) of the capacitance matrix as follows:
The energy stored in the system due to the capacitive couplings between conductors is given by [RCP+21],
where \(\boldsymbol{\phi}\) is the vector of node fluxes, which is related to the vector of potentials by
In Eq. (2.18), the dot operator indicates the time derivative.
The capacitance matrix plays an important role in describing the behaviour of superconducting quantum circuits. In particular, Eq. (2.18) can be interpreted as the kinetic energy [RCP+21] in the Lagrangian description of the circuit.
Boundary conditions
The boundary conditions of the device
are used by the
solver to find the electric potential when each of the signal conductors is selected to have a nonzero
potential (while the rest are forced to \(\varphi_\mathrm{bias} = 0\)) [MSM12]. The boundary conditions
supported by the capacitance solver are Dirichlet and natural boundary conditions
outlined here. In the capacitance solver they are treated as follows:
Dirichlet boundary conditions: The \(\varphi_\mathrm{bias}\) is ignored and the voltage bias configurations are varied to find the corresponding elements of the capacitance matrix [MSM12].
Natural boundary conditions: These boundary conditions are handled in the same way as in the linear Poisson equation solver.
Signal and ground conductors
The capacitance Solver
requires users to define the surfaces of conductors. Those can
be separated into two groups:
Signal conductors (such as conductors 1, 2, …, \(N\) in Fig. 2.6)
Ground conductors (such as the ground conductor in Fig. 2.6).
The conductors are specified by assigning Dirichlet boundary conditions
(API reference
) to their surfaces.
The signal conductors need to be explicitly specified via the signal_conductors
attribute of the
Solver
class.
This attribute is defined using the signal_conductors
argument of the
__init__
method of the
of the
Solver
class.
All other Dirichlet boundaries are then assumed to be ground conductors.