loganbvh / py-tdgl

2D time-dependent Ginzburg-Landau in Python
MIT License
35 stars 13 forks source link

Replicating SQUID loop result in paper #84

Closed Rende410 closed 2 months ago

Rende410 commented 3 months ago

Hello, I am still getting to familiarise with pyTDGL, and one of the things i tried to do in the process was to try and replicate the results of the SQUID loop in the paper (https://doi.org/10.1016/j.cpc.2023.108799).

I tried to create a similar structure from scratch with notches at the two sides of the loop as below: image

However I cannot get a similar results as in Figure 5 of the paper. I have used largely the same parameters as in the paper for coherence length, penetration depth and thickness etc. While I can observe a localisation of the currents on one side of the loop, I cannot observe the periodic switching of the currents between the two sides, as shown in Figure 5 of the paper. What I can only observe is a single voltage spike with no periodic switching as below.

image image

I have tried playing around with the bias current and/or applied field with not much effect. Is there something I am missing out?

Another thing I would like to ask is how was panel 5i generated? I suppose it was achieved by running the simulation for several tries while changing the field and bias current and recording the average generated voltage?

Thanks in advance!

loganbvh commented 3 months ago

Hi @Rende410,

Here is the actual Jupyter notebook I used to make the figure: https://gist.github.com/loganbvh/a91a8f79d851e8f38359cfc18fab575f. I hope that you can use this as a starting point.

Each pixel in Figure 5(i) is the average voltage for single TDGL simulation at a given value of B_z and I_bias. This type of 2D sweep takes a long time of course. I included it in the paper as a proof of principle. I ran the simulations for that figure on a compute cluster, where each column in the image was run on a different CPU in the cluster.

Rende410 commented 3 months ago

Hi @loganbvh ,

Thanks for the notebook, I was able to figure out what went wrong with my own version and could replicate the periodic fluctuations now. While looking through yours, I noticed that you defined the B field as a function where it is constant within the loop and scales as cos(lead_angle) outside of it. How would this differ from say, just having a constant uniform B-field all around, even outside the loop? Is this definition of decaying B-field outside the loop essential to produce the V-B curve?

As a quick check I have tried changing the B-field (both with a constant field and with your definition), however, I found that the average voltage seems to increase with the B-field indefinitely, instead of showing the periodic V-B modulations. I'm not sure what went wrong here.

loganbvh commented 3 months ago

I don't remember how big of an effect the angle of the leads makes - you can try it yourself. For some combination of parameters, you will end up getting a bunch of vortices in the leads, which will ultimately change the IV curve.

loganbvh commented 2 months ago

Closing this issue. Feel free to re-open if needed