Source code for simpleLOMs.params
"""
params.py
---------
Shared parameter dataclasses used across simpleLOMs.
Here we define CPWParams once. Every function that needs CPW geometry
accepts a single CPWParams.
"""
from __future__ import annotations
from dataclasses import dataclass, field
[docs]
@dataclass
class CPWParams:
"""
Physical geometry and material parameters for a Coplanar Waveguide (CPW).
Attributes
----------
w : float
Center conductor width (m). Default 11.7 µm.
s : float
Gap spacing between center conductor and ground plane (m).
Default 5.1 µm.
t : float
Metal thickness (m). Set to 0 to ignore (for an ideal thin film). This quantity is generally on the order of 100-200 nm.
h : float
Substrate height (m). Default 500 µm.
rho : float
Metal resistivity (Ω·m). Set near 0 for superconducting limit.
ep_r : float
Substrate relative permittivity. Defaults to 11.45 (ultracold silicon).
has_metal_backside : bool
Whether the substrate has a metal ground plane on its back side.
tand : float
Loss tangent of the substrate. Set to 0 for a lossless superconducting circuit.
Examples
--------
Use the defaults (ultracold silicon chip):
>>> cpw = CPWParams()
Override just the substrate:
>>> cpw = CPWParams(ep_r=11.9, has_metal_backside=False)
Pass into a network builder:
>>> net = cpw_resonator_network_2port(freq, d=7e-3, cpw_params=cpw, ...)
"""
w: float = 11.7e-6 # center conductor width
s: float = 5.1e-6 # gap spacing
t: float = 0.0 # metal thickness (0 = ideal)
h: float = 500e-6 # substrate height
rho: float = 1e-19 # resistivity (near-zero = superconducting)
ep_r: float = 11.45 # relative permittivity (ultracold Si)
has_metal_backside: bool = False # metallic backside ground plane
tand: float = 0.0 # loss tangent