Flux Trapping and Kinetic Inductance

Problem description

This example demonstrates Palace's flux boundary conditions for the magnetostatic analysis of thin-film superconducting structures with holes. Fixed amounts of magnetic flux are prescribed through the holes, and the solver extracts the resulting field distribution together with the loop inductance matrix — including the kinetic contribution of a finite-penetration-depth London film.

Flux is imposed as an integral (fluxoid) constraint on each hole perimeter,

\[\oint_h \mathbf{A} \cdot d\boldsymbol{\ell} = \Phi,\]

where $\mathbf{A}$ is the magnetic vector potential and $\Phi$ the prescribed flux through hole $h$. For each hole a curl-free cohomology generator $\mathbf{a}_h$ with loop circulation $\Phi$ is constructed on the 3D mesh (a discrete gradient with a $\Phi$-jump across a cut surface spanning the hole). The magnetostatic system is then solved with $\mathbf{a}_h$ as the drive, pinning the fluxoid $\oint_h (\mathbf{A} + L_{\mathrm{ksq}}\mathbf{K}_s)\cdot d\boldsymbol{\ell} = \Phi$ (with sheet current $\mathbf{K}_s = -(\mathbf{A}_t - \mathbf{a}_h)/L_{\mathrm{ksq}}$) exactly, gauge-invariantly, and independently of the mesh partition. At finite $\lambda$ the magnetic flux $\oint_h \mathbf{A}\cdot d\boldsymbol{\ell}$ is screened below $\Phi$; only the fluxoid is pinned, so the shielding currents remain free to redistribute near the hole.

Whether a film screens perfectly or penetrates is set by how its attribute is declared:

  • Perfect conductor ($\lambda \to 0$). A film attribute listed under "FilmAttributes" only is treated as a perfect screen: the flux-expulsion condition $\mathbf{B}\cdot\mathbf{n} = 0$ holds together with the fluxoid, and the extracted inductance is purely geometric.

  • London film (finite $\lambda$). A film attribute listed also under "Superconductor" carries the shifted London sheet penalty

    \[\tfrac{1}{2}\int_\Sigma \frac{1}{L_{\mathrm{ksq}}}\,\lvert \mathbf{A}_t - \mathbf{a}_h\rvert^2\,dS, \qquad L_{\mathrm{ksq}} = \mu_0 \lambda \coth\!\left(\frac{d}{\lambda}\right),\]

    where $\lambda$ ("PenetrationDepth") is the penetration depth and $d$ ("Thickness") the film thickness. This finite-thickness London sheet inductance reduces to the thin-film limit $\mu_0\lambda^2/d$ for $d \ll \lambda$ and saturates at $\mu_0\lambda$ for $d \gg \lambda$ (matching the measured thickness dependence of Tolpygo et al. [2]). The film interior $\mathbf{A}_t$ is then a free unknown: the field penetrates over $\sim\lambda$ and stores additional kinetic energy, so the extracted inductance is the total $L = L_\text{geom} + L_\text{kin}$. As $\lambda \to 0$ the penalty forces $\mathbf{A}_t \to \mathbf{a}_h$ and the perfect-screening (geometric) limit is recovered.

Because a flux loop is enforced through a single scalar fluxoid constraint, each hole must be its own flux loop (one entry in "HoleAttributes"); several holes are modeled as several "FluxLoop" excitations, from which the full self/mutual inductance matrix — and any signed combination of hole fluxes — follows.

Four configurations are provided in the examples/circular_hole/ directory:

  • Square washer (square_hole.json): a perfect-conductor washer, validated against the analytic Ketchen–Jaycox formula.
  • Single hole (circular_hole.json): a circular London film with a concentric hole, swept over the penetration depth $\lambda$.
  • Two holes, shared plate (double_circular_hole_multi_flux.json): two holes on one London film, each an independent flux loop.
  • Two holes, separate plates (double_circular_hole_multi_planes.json): two spatially separated London films, each with one hole.

All configurations use a mesh length unit of $\mu\text{m}$.

Configuration

Each configuration uses "Problem": {"Type": "Magnetostatic"} and specifies flux loop boundaries via the "FluxLoop" keyword. The shared solver settings are:

"Solver":
{
    "Order": 2,
    "Device": "CPU",
    "Magnetostatic":
    {
        "Save": 2
    },
    "Linear":
    {
        "Type": "AMS",
        "KSPType": "CG",
        "Tol": 1.0e-8,
        "MaxIts": 200
    }
}

The AMS (Auxiliary-space Maxwell Solver) preconditioner with CG iteration is well-suited for the symmetric positive-definite curl-curl system arising in magnetostatics.

Mesh

The meshes are generated using Julia scripts with the Gmsh package, located in the mesh/ subdirectory. For example, the two-hole rectangular plate mesh can be generated with:

julia -e 'include("mesh/sheet_w_two_holes.jl"); generate_sheet_with_two_holes_mesh()'

The figures below show the geometries. From left to right: the single circular hole on a circular plate, the rectangular plate with two holes, and the two spatially separated square plates each containing a hole:



Square washer

The square_hole.json configuration provides a check against a known closed-form result. It models a square washer with a central square hole of side $d = 2\,\mu\text{m}$ and border width $W = 6\,\mu\text{m}$ (mesh/square_hole.msh, generated by mesh/square_hole_mesh.jl). The film attribute is listed under "FilmAttributes" but not under "Superconductor", so it is solved in the perfect-screening ($\lambda\to0$) limit:

"FluxLoop":
[
    {
        "Index": 1,
        "FilmAttributes": [8],
        "HoleAttributes": [9],
        "FluxAmounts": [1.0],
        "Direction": "+Z"
    }
]

For a square washer in the large-border limit, the Ketchen–Jaycox thin-film formula [1] gives the loop inductance

\[L \approx 1.25\,\mu_0 d \,,\]

which evaluates to $L \approx 3.14\,\text{pH}$ for $d = 2\,\mu\text{m}$. Palace extracts $L \approx 3.01\,\text{pH}$ (coefficient $L/(\mu_0 d) \approx 1.20$), converging upward under mesh refinement toward $\approx 3.04\,\text{pH}$. The residual difference from $1.25$ is within the literature spread of the Ketchen coefficient.

Single hole — penetration-depth sweep

The circular_hole.json configuration models a circular film of radius $R = 3\,\mu\text{m}$ with a concentric hole of radius $r = 1\,\mu\text{m}$, now declared a London film. A unit nondimensional flux-loop amplitude is prescribed through the hole:

"Superconductor":
[
    {
        "Attributes": [8],
        "PenetrationDepth": 0.4,
        "Thickness": 0.1
    }
],
"FluxLoop":
[
    {
        "Index": 1,
        "FilmAttributes": [8],
        "HoleAttributes": [9],
        "FluxAmounts": [1.0],
        "Direction": "+Z"
    }
]

The fields have the following meaning:

  • "FilmAttributes": boundary attributes of the metal film carrying the flux loop.
  • "HoleAttributes": boundary attribute of the hole perimeter where the integral constraint is applied (exactly one per flux loop).
  • "FluxAmounts": prescribed nondimensional flux-loop amplitude through the hole.
  • "Direction": surface normal direction for flux orientation.
  • "Superconductor": the same film attribute, with penetration depth $\lambda$ and thickness $d$ (both in $\mu\text{m}$) setting the finite-thickness sheet inductance $L_{\mathrm{ksq}} = \mu_0\lambda\coth(d/\lambda)$.

Sweeping $\lambda$ at fixed $d = 0.1\,\mu\text{m}$ shows the kinetic inductance adding to the geometric baseline as the film penetration grows, and the $\lambda\to0$ value reproducing the perfect-conductor limit:

$\lambda$ (μm)$L_{\mathrm{ksq}} = \lambda\coth(d/\lambda)$ (μm)$L$ (pH)
$0$ (PEC)$0$$2.853$
$0.1$$0.131$$4.140$
$0.2$$0.433$$6.445$
$0.4$$1.633$$15.164$

At $\lambda = 0.4\,\mu\text{m}$ the self-inductance is $L = 15.164\,\text{pH}$, of which $\approx 3.38\,\text{pH}$ is geometric (the volume magnetic energy of the penetrating solution) and $\approx 11.78\,\text{pH}$ kinetic: the field penetrates over $\sim\lambda$, raising the geometric part above the $2.853\,\text{pH}$ perfect-screening ($\lambda\to0$) value.

The finite-$\lambda$ kinetic extraction is validated against Khapaev 1997 [3], whose Table 1 gives $L = 10.03\,\text{pH}$ for a rectangular hole ($2\times5\,\mu\text{m}$, $3\,\mu\text{m}$ border, $\lambda_\perp = \lambda^2/d = 0.4\,\mu\text{m}$; meshed by mesh/rect_hole_mesh.jl). Palace extracts $9.86\,\text{pH}$ ($-1.7\%$) on a coarse mesh, converging upward under refinement as expected for the energy-based (Ritz lower-bound) inductance.

The figures below show the magnetic vector potential amplitude $|\mathbf{A}|$, its in-plane components $A_x$ and $A_y$, the out-of-plane magnetic field $B_z$, and the surface current components $J_x$ and $J_y$ on the film:





As a verification step, we compute the magnetic flux threading the hole by evaluating the surface integral $\int_h \mathbf{B} \cdot d\mathbf{S}$ over the hole area. At finite $\lambda$ this flux is screened below the prescribed fluxoid $\Phi$ — the balance is carried by the London kinetic term — as the solver's fluxoid = ..., magnetic flux = ... line reports:



Two holes on a shared plate

The double_circular_hole_multi_flux.json configuration places two holes on a single London film, each treated as an independent flux loop:

"Superconductor":
[
    {
        "Attributes": [8],
        "PenetrationDepth": 0.4,
        "Thickness": 0.1
    }
],
"FluxLoop":
[
    {
        "Index": 1,
        "FilmAttributes": [8],
        "HoleAttributes": [9],
        "FluxAmounts": [1.0],
        "Direction": [0.0, 0.0, 1.0]
    },
    {
        "Index": 2,
        "FilmAttributes": [8],
        "HoleAttributes": [10],
        "FluxAmounts": [1.0],
        "Direction": [0.0, 0.0, 1.0]
    }
]

Note that "Direction" accepts either a string shorthand ("+Z") or an explicit numeric array ([0.0, 0.0, 1.0]). With two independent excitations the solver computes the full inductance matrix from the stored magnetic energy,

\[R_{ij} = \frac{2E_{ij}}{\Phi_i \Phi_j}, \qquad M = R^{-1},\]

where $2E_{ij}$ is the cross magnetic energy of flux states $i$ and $j$ (the curl energy together with the kinetic sheet contribution for the London film), $R$ is the reluctance matrix, and $M$ is the inductance matrix written to terminal-M.csv. The diagonal entries $M_{ii}$ are the self-inductances; the off-diagonal $M_{ij}$ ($i \neq j$) is the mutual inductance. For $\lambda = 0.4\,\mu\text{m}$, $d = 0.1\,\mu\text{m}$ the computed matrix is

\[M = \begin{pmatrix} 13.591 & -1.241 \\ -1.241 & 13.591 \end{pmatrix} \text{pH}\]

The near-equal self-inductances reflect the geometric symmetry of the two holes, each raised above its $\approx 2.85\,\text{pH}$ PEC value by the kinetic contribution of the penetrating film. The mutual inductance is small and negative — about 9% of the self-inductance — so the two holes on the shared film are weakly coupled: flux forced through one hole only modestly influences the shielding currents around the other at this separation. The energy of the antisymmetric ($+1/-1$ vortex–antivortex) state follows from this matrix as $M_{11}+M_{22}-2M_{12} \approx 29.66\,\text{pH}$.

The figures below show the same field quantities for the two-hole geometry with unit flux through each hole:





Again, at finite $\lambda$ the magnetic flux through each hole is screened below the prescribed fluxoid:



Two holes on separate plates

The double_circular_hole_multi_planes.json configuration places each hole on its own spatially separated London film, each with a distinct "FilmAttributes" attribute (both films appear in the shared "Superconductor" block):

"Superconductor":
[
    {
        "Attributes": [8, 10],
        "PenetrationDepth": 0.4,
        "Thickness": 0.1
    }
],
"FluxLoop":
[
    {
        "Index": 1,
        "FilmAttributes": [8],
        "HoleAttributes": [9],
        "FluxAmounts": [1.0],
        "Direction": [0.0, 0.0, 1.0]
    },
    {
        "Index": 2,
        "FilmAttributes": [10],
        "HoleAttributes": [11],
        "FluxAmounts": [1.0],
        "Direction": [0.0, 0.0, 1.0]
    }
]

For $\lambda = 0.4\,\mu\text{m}$, $d = 0.1\,\mu\text{m}$ the inductance matrix is

\[M = \begin{pmatrix} 20.248 & -0.068 \\ -0.068 & 20.248 \end{pmatrix} \text{pH}\]

The self-inductances are equal by the mirror symmetry of the two plates. The mutual inductance is small ($|M_{12}| \approx 0.068\,\text{pH}$, $\approx 0.3\%$ of the self-inductance): with the holes on physically separated films the shielding currents around each hole are confined to their own metal and cannot circulate across to the other, and the residual far-field coupling is itself screened, so the two loops are effectively decoupled — in contrast to the shared-plate case above.

References

[1] J. M. Jaycox and M. B. Ketchen, Planar coupling scheme for ultra low noise DC SQUIDs, IEEE Transactions on Magnetics 17 (1981) 400-403.

[2] S. K. Tolpygo, E. B. Golden, T. J. Weir and V. Bolkhovsky, Inductance of superconductor integrated circuit features with sizes down to 120 nm, Superconductor Science and Technology 34 (2021) 085005.

[3] M. M. Khapaev, Extraction of inductances of plane thin-film superconducting circuits, Superconductor Science and Technology 10 (1997) 389-394.