4. Driven Maxwell Solver

This section explains the theory behind the driven Maxwell Solver, which can be used to find the electromagnetic field distribution in a device excited by a known current source at a given frequency. Its governing equations are the same as those of the Maxwell eigenmode solver, but with an additional driving source term that appears in the Ampère–Maxwell law [Che92]:

(4.14)\[\nabla \times \mathbf{H} = i\omega \varepsilon \mathbf{E} + \mathbf{J}_{\text{src}},\]

where \(\mathbf{E}\), \(\mathbf H\), and \(\varepsilon\) are, respectively, the electric field, the magnetic field intensity, and the permittivity. The term \(\mathbf{J}_{\text{src}}\) on the right hand side of (4.14) is the current density of the driving source at the given angular frequency \(\omega\). The source term \(\mathbf{J}_{\text{src}}\) can be imposed via the new_current_source() or new_surf_current_density() methods of the Device class. The subsequent sections outline the Device boundary conditions supported by the driven Maxwell Solver and the post-processing methods for obtaining the \(Z\) and \(S\) parameters.

Boundary conditions

The driven Maxwell Solver supports the same types of boundary conditions as the Maxwell eigenmode solver, including perfect electric conductor boundaries (new_pec_bnd()), natural boundaries, and inductor boundaries (new_inductor()). In addition, the driven solver allows for the specification of source terms by imposing the surface current density via new_surf_current_density() or adding current sources via new_current_source().

Surface current density sources (API reference)

This type of boundary is used to impose a pre-defined surface current density. The surface current density source imposes a discontinuity in the tangential component of the magnetic field across a boundary [Poz12]:

(4.15)\[\mathbf{\hat n}_1 \times (\mathbf{H}_2 - \mathbf{H}_1) = \mathbf{J}_{S, \text{src}},\]

where \(\mathbf{H}_1\) and \(\mathbf{H}_2\) are the magnetic fields on either side of the boundary, \(\mathbf{\hat n}_1\) is the unit vector normal to the boundary on side 1, pointing away from the simulation domain, and \(\mathbf{J}_S\) is the prescribed surface current density.

Surface current density boundary

Fig. 4.1 Illustration of a boundary implemented by new_surf_current_density(), having the surface current density \(\vec J_{S, \text{src}}\) and the normal vector \(\hat n_1\), which points away from the computational domain at points on side 1 of the boundary.

If the boundary is on the exterior of the simulation domain, \(\mathbf{H}_2\) is assumed to be zero, and the condition becomes:

(4.16)\[-\mathbf{\hat n} \times \mathbf{H} = \mathbf{J}_{S, \text{src}},\]

where \(\mathbf{\hat n}\) is a unit normal vector normal to the boundary, pointing outside the simulation domain.

Current sources (API reference)

A current source is a specialized type of surface current density source where the total current \(I_{\text{src}}\) is specified instead of the current density. The surface current density is then calculated as:

(4.17)\[\mathbf{J}_S = \frac{I_{\text{src}}}{w_P} \mathbf{\hat t}_P,\]

where \(w_P\) is the width of the boundary and \(\mathbf{\hat t}_P\) is the unit vector in the direction of the current flow. This type of boundary supports the use of the get_current_source_voltage() method to find the voltage drop across the terminals of the port after running the driven Maxwell Solver.

Current source boundary

Fig. 4.2 Illustration of a boundary implemented by new_current_source(). On the left is the rectangular boundary of size \(l_P \times w_P\), where the surface current density (4.17) is imposed. On the right is the current source modeled by this boundary condition.

Microwave network analysis

In addition to finding the electromagnetic response of a device to current source excitation, we can use the driven Maxwell Solver to extract the device’s microwave network parameters, such as \(Z\) (impedance) and \(S\) (scattering) parameters. In this type of microwave analysis, the current sources are treated as ports, which can connect the device to external circuits. The \(Z\) and \(S\) parameters characterize the behaviour of the device as seen from those ports.

These microwave network parameters (in particular, the \(S\) parameters) are essential for studying the signal integrity of electrical interconnects [KCJ+05], understanding the superconducting qubit measurement systems [JSM+14], extracting resonator quality factors from microwave measurement results [PSB+15], and so on. The following sections provide an overview of the \(Z\) and \(S\) parameters and their extraction using QTCAD®.

Note

To compute the \(Z\) and \(S\) parameters, the driven Maxwell Solver must be run with split_excitations=True so that the fields are computed for each port excitation independently.

\(Z\) parameters

Consider a device shown in Fig. 4.3, excited by \(N_{P}\) current sources. The impedance matrix for such a device, also known as the \(Z\) parameters, relates the voltages at these current source ports to the imposed currents [Poz12]:

(4.18)\[\mathbf{V} = \mathbf{Z} \mathbf{I},\]

where \(\mathbf{V}\) is the vector of voltages at the current source ports, \(\mathbf{I}\) is the vector of the source currents, and \(\mathbf{Z}\) is the impedance matrix:

(4.19)\[\begin{split}\mathbf{V} = \begin{bmatrix} V_1 \\ V_2 \\ \vdots \\ V_{N_P} \end{bmatrix}, \quad \mathbf{I} = \begin{bmatrix} I_1 \\ I_2 \\ \vdots \\ I_{N_P} \end{bmatrix}, \quad \mathbf{Z} = \begin{bmatrix} Z_{11} & Z_{12} & \dots & Z_{1 N_P} \\ Z_{21} & Z_{22} & \dots & Z_{2 N_P} \\ \vdots & \vdots & \ddots & \vdots \\ Z_{N_P 1} & Z_{N_P 2} & \dots & Z_{N_P N_P} \end{bmatrix}.\end{split}\]

Extraction of the \(Z\) parameters involves running the driven Maxwell Solver and calling the get_impedance() method as a post-processing step.

Z parameters

Fig. 4.3 Illustration of the \(Z\) parameters of a multi-port device for \(N_P = 2\).

\(S\) parameters

The \(N_P\)-port device from the previous section can also be described in terms of the scattering matrix, as illustrated in Fig. 4.4. The scattering matrix relates the waves incident on the ports to those reflected from the ports [Poz12]

(4.20)\[\mathbf a = \mathbf S \mathbf b,\]

where \(\mathbf{a}\) is the vector of incident power waves, \(\mathbf{b}\) is the vector of reflected power waves, and \(\mathbf{S}\) is the scattering matrix (also known as the \(S\)-parameter matrix):

(4.21)\[\begin{split}\mathbf{a} = \begin{bmatrix} a_1 \\ a_2 \\ \vdots \\ a_{N_P} \end{bmatrix}, \quad \mathbf{b} = \begin{bmatrix} b_1 \\ b_2 \\ \vdots \\ b_{N_P} \end{bmatrix}, \quad \mathbf{S} = \begin{bmatrix} S_{11} & S_{12} & \dots & S_{1 N_P} \\ S_{21} & S_{22} & \dots & S_{2 N_P} \\ \vdots & \vdots & \ddots & \vdots \\ S_{N_P 1} & S_{N_P 2} & \dots & S_{N_P N_P} \end{bmatrix}.\end{split}\]

The voltage and current at the ports can be written in terms of the incident and reflected power wave contributions as

(4.22)\[\mathbf V = \sqrt{Z_R} (\mathbf a + \mathbf b),\]
(4.23)\[\mathbf I = \dfrac1{\sqrt{Z_R}} (\mathbf a - \mathbf b),\]

where \(Z_R\) is the reference impedance of the port (assumed to be a real constant for simplicity) [1].

Similarly to the \(Z\) parameters, the \(S\) parameters are extracted as a post-processing step by get_scattering_matrix(), following the execution of the driven Maxwell Solver.

S parameters

Fig. 4.4 Illustration of the \(S\) parameters of a multi-port device for \(N_P = 2\).