kpobrien / JosephsonCircuits.jl

Frequency domain, multi-tone harmonic balance, simulation of scattering parameters and noise in nonlinear circuits containing Josephson junctions.
https://josephsoncircuits.org/
MIT License
50 stars 5 forks source link

Implementing Kinetic Inductors: Contribution and Guidance Request #4

Open dwaardenburg opened 5 months ago

dwaardenburg commented 5 months ago

Dear Professor O'Brien,

I am interested in the planned addition of kinetic inductors to JosephsonCircuits.jl. In the readme of the repository this is indicated as a future development goal and I would like offer my assistance in its implementation.

In order to familiarize myself with the JosephsonCircuits.jl codebase effectively, any pointers towards existing implementations of similar nonlinear components or preliminary thoughts you have on incorporating kinetic inductors would be much appreciated. Specifically, insights into the preferred approach and how it you would expect integration with the project’s broader objectives would greatly assist in aligning my efforts with your vision.

Additionally, if there are particular areas within the codebase where you foresee the need for initial focus (for instance, the implementation of Josephson junctions) or any resources you recommend for a deeper understanding in the context of the kinetic inductance and harmonic balance solvers, such information would be highly beneficial.

Thank you for considering my request. I am eager to contribute to the project’s development and look forward to any advice you can provide.

Best regards,

Daan Waardenburg

kpobrien commented 5 months ago

Thanks Daan, you can simulate kinetic inductors (eg. an electrically short nanowire) with a series or parallel combination of a linear inductor and a Josephson junction. You can determine the equivalence by writing the expressions for the inductance of a kinetic inductor and a JJ as a function of branch flux then Taylor expanding both. That approximate treatment would require no changes to the code.

Another approach is to implement the nanowire response directly as a new circuit component or by modifying the JJ response (as a way to test it). The solver currently performs nodal analysis in the node flux basis and you can look at lines 1693 and 1719 of hbsolve.jl for how the junction potential and its derivative are used in evaluating the function and the Jacobian for harmonic balance analysis.

Thank you for your enthusiasm to contribute, contributions are very welcome, and I'll write more on the scope and vision when I have a chance.