Analysis library for PySQUID circuits.
Project description
About
PySQIF is an open-source and user-friendly statistical analysis library for SQUIDs/Bi-SQUIDs. Our library solves Bi-SQUID systems of differential equations. Our methodology is based on finding the voltage response of the Bi-SQUID for each time steps in the period. PySQIF library gives the average voltage response of symmetric Bi-SQUID for each corresponding normalized applied external magnetic flux as an output. The normalized applied external magnetic flux range can be determined by the user. Moreover, PySQIF provides multiple runs for the statistical analysis of Bi-SQUID. Users can determine margin and data range for one of the input parameters, and the tool generates gaussian distributed random numbers in a specific margin and data range for the said parameter. After that, the voltage response in an external applied magnetic field is achieved in the defined margin. These output sets, provide a wide range of design options to the user who can easily observe a reliable working range of Bi-SQUID circuits and can optimize Bi-SQUID design problems by using this output dataset.
How PySQIF works
For an overview of the PySQIF methodology and the algorithmic methods which implement it, go to our technical paperlink.
Authors
PySQIF is currently developed and maintained by Ali AKGUN and Sasan RAZMKHAH, Electrical and Electronics Engineering Department, TOBB University of Economics and Technology, Ankara, Turkey.
Contact
Don’t hesitate to contact:
- Ali at ali.akgunphys@gmail.com
- Sasan at sasan.razmkhah@gmail.com
Contributing
Your contribution is more than welcome! You can submit pull requests on our Github, or contact Ali if you want to bring big contributions to the project.
Citing this project
If you find PySQIF useful, please consider citing this project as:
This will also help us secure future funding supporting the development of this software.
If you do use PySQIF in a publication, please take a few minutes and let us know via email at ali.akgunphys@gmail.com. We would love to hear how PySQIF is being used as a research tool.
Funding
Installation
In this installation guide, we used Anaconda environment, you can track all steps by using another enviroment if you want.
Windows
Mac
Linux
Tutorials
This section provides instructive tutorial to PySQIF newbies.
Input Text File Format
PySQIF has an input csv file for input protocol with user, this file is named as input.csv in PySQIF folder. Figure shows below input parameters of this simulation in input csv file, which can be edited by user.
"input.csv" file has two columns, "circuit_parameters" columns represents Bi-SQUID circuit elements, and "values" columns represents mathematical value of these circuit elements. Figure shows below Bi-SQUID circuit representation:
- psi1_initial_condition and psi2_initial condition are represent initial conditions of Bi-SQUID systems of differential equations.
- magnetic_field_range_initial and magnetic_fieldt_range_final define range of the external applied normalized magnetic field.
- magnetic_field_resolution defines length of the external applied normalized magnetic field array
- characteristic_current represents characteristic voltage, Vn = IcRn.
- ib represents normalized bias current.
- ic3 represents normalized current of shunt junction's critical current.
- time_resoluition defines length of the time step array. Time step array represents time steps of Bi-SQUID systems of differential equations.
- beta controls size of upper loop.
- l1a, and l1b represents inductances at top of circuit.
- l2a, and l2b represents inductances at parallel third Josephson Junction.
- l3a, and l3b repesents inductances at bottom of circuit.
- multiple_run defines multiple run selection of this simulation. 0 means that single run, 1 means that multiple run. In the multiple run selection PySQUID creates ic3 gaussian distribution according to mean and standard deviation inputs.
- standard_devaiation determines standard deviation of ic3 distribution in multiple run case.
- mean represents mean of the ic3 gaussian distribution in multiple run case.
- number_of_runs defines length of the ic3 gaussian distribution.
Running a Single Run Simulation
PySQIF has a main class named PySQIF, firstliy users should import this class.
PPySQIF class has a method to run this simulation named calculate. Secondly users should run this method.
When simulation time is done, calculate method returns voltage response of PySQIF agaisnt normalized external magnetic flux. Users can visualize output of the simulation by using Plot class.
Running a Multiple Run Simulation
Requirements
PySQIF depends on several open-source libraries. The following packages are currently required:
- scipy
- numpy
- Solver
- matplotlib
- statistics
- pandas
Report a bug
If you are using the PySQIF library and think you have found a bug, or if you have questions about installing or using PySQIF, please don’t hesitate to contact with us:
- Ali at ali.akgunphys@gmail.com
- Sasan at sasan.razmkhah@gmail.com
Developer Guides
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.