Josephson junction array (JJA)
Models an array of Josephson junctions as a metamaterial, computing plasma frequencies, resonance modes, dispersion relations, and Kerr nonlinearities.
- class HybridSuperQubits.jja.JosephsonJunctionArray(Lj, Cj, Cg, N)[source]
Bases:
object- __init__(Lj, Cj, Cg, N)[source]
Initialize the Josephson Junction Array with the given parameters.
Parameters: Lj (float): Inductance of the junctions in Henries. Cj (float): Capacitance of the junctions in Farads. Cg (float): Capacitance to ground in Farads. N (int): Number of junctions in the array.
- property plasma_frequency: float
Calculate the plasma frequency of the Josephson Junction Array.
Returns: float: Plasma frequency in GHz.
- resonance_frequencies()[source]
Calculate the resonance frequencies in Hz of the Josephson Junction Array.
Returns:
- np.ndarray
Resonance frequencies in Hz.
- Return type:
- group_velocity()[source]
Calculate the group velocity of the Josephson Junction Array.
Returns: np.ndarray: Group velocity in GHz for each mode.
- Return type:
- kerr_matrix()[source]
Compute the Kerr matrix K_{kk’} for the Josephson Junction Array using the analytical formula. Units in GHz.
This implementation is based on Eq. (14) from: Krupko et al., “Kerr nonlinearity in a superconducting Josephson metamaterial”.
- Returns:
A (N, N) matrix of Kerr coefficients.
- Return type:
np.ndarray
- static analytical_mode_frequencies(f_p, c_ratio, N, k=None)[source]
Static helper method to calculate resonance frequencies from parameters.
Parameters:
- f_pfloat
Plasma frequency in Hz.
- c_ratiofloat
Capacitance ratio (Cg/Cj).
- Nint
Number of junctions in the array.
- knp.ndarray, optional
Indices of the modes to calculate. If None, all modes from 1 to N are calculated.
Returns:
- np.ndarray
Resonance frequencies in Hz.
- static fit_from_measurements(measured_frequencies, N, mode_indices=None, initial_params=None, param_bounds=None, fixed_params=None)[source]
Fit JJA parameters to measured resonance frequencies.
Parameters:
- measured_frequenciesnp.ndarray
Experimentally measured resonance frequencies in GHz.
- Nint
Number of junctions in the array.
- mode_indicesList[int], optional
Indices of the modes corresponding to the measured frequencies. If None, assumes consecutive modes starting from 1.
- initial_paramsDict[str, float], optional
Initial guess for parameters. Can include ‘f_p’ (plasma frequency in GHz) and ‘C_ratio’ (Cg/Cj ratio). If None, reasonable defaults will be used.
- param_boundsDict[str, Tuple[float, float]], optional
Bounds for parameters as (min, max) tuples. Can include ‘f_p’ and ‘C_ratio’.
- fixed_paramsDict[str, float], optional
Fixed parameters during fitting. Can include ‘Cj’ to fix the junction capacitance, which allows converting fitted parameters back to Lj and Cg.
Returns:
- Dict[str, Any]
Dict with detailed results.