Skip to main content

Circuit Simulator including Josephson Junctions in Python

Project description

PyJJASim

Circuit Simulator including Josephson Junctions in Python

Installation

PyJJASim requires numpy, scipy and matplotlib


pip install pyjjasim

Introduction

PyJJASim is a circuit simulator including Josephson Junctions as components,

intended to be used on large Josephson Junction Arrays (JJAs).

PyJJASim is specialized in keeping track of Josephson vortices in the circuit.

It can also compute static configurations that have vortices at desired

locations in the circuit.

This requires that the circuit is a planar embedding (in 2D), such that

one can unambiguously refer to faces of the circuit, and vortices reside

at faces. This imposes that nodes in the circuit must be placed

at 2D coordinates, and that no junctions can cross. This also means no

hierarchical structure is supported.

Features

  • supports basic components (inductors, resistors, capacitors and current- and voltage sources)

  • keep track of (and place) Josephson vortices in the circuit

  • compute static configurations

  • determine dynamic stability of static configurations

  • maximize parameters that have stable static configurations

  • compute time evolutions

  • define external magnetic flux through each face

  • thermal fluctuations modeling nonzero temperature

  • visualization and animation of simulation results

Documentation

tutorial \

API \

whitepaper (in progress)

Example Usage

from pyjjasim import *



sq_array = SquareArray(10, 10)

problem = StaticProblem(sq_array, frustration=0.1)

config, status, info = problem.compute()

config.plot(node_quantity="phi")

Program output:

alt text

n = np.zeros(sq_array.face_count())

n[sq_array.locate_faces(x=[2.5,6.5], y=[2.5,6.5])] = 1

config, status, info = problem.new_problem(vortex_configuration=n).compute()

config.plot(node_quantity="phi")

plt.show()

Program output:

alt text

More examples:

alt text

figure 1: Example of a frustrated honeycomb array with horizontal current bias.

Snapshot of a time evolution; the vortices are drifting downward. The electric potential

gradually increases in the direction of the external current

(see examples/images/biassed_honeycomb.py).

alt text

figure 2: Example of giant Shapiro steps in a square array. The external

current has a DC and AC component causing resonance in the form of

voltage plateaus (see examples/images/shapiro_steps.py).

alt text

figure 3: Example of a disordered array with different types of Josephson vortices

(see examples/images/disordered.py).

If you have any questions, comments, complaints,

bug reports, feature requests, etc.

please contact me at m.lankhorst89@gmail.com!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyjjasim-4.0.2.tar.gz (64.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyjjasim-4.0.2-py3-none-any.whl (93.5 kB view details)

Uploaded Python 3

File details

Details for the file pyjjasim-4.0.2.tar.gz.

File metadata

  • Download URL: pyjjasim-4.0.2.tar.gz
  • Upload date:
  • Size: 64.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.0

File hashes

Hashes for pyjjasim-4.0.2.tar.gz
Algorithm Hash digest
SHA256 c156198357d3ea7b5ccce31398a20e89560112b5797bba565b5a9c842fb1e2e1
MD5 97b23ce91eaf7b6489f930558ff4fcf0
BLAKE2b-256 9428169ac8fbef8f8bade3b159d4fe6a3c8b123066fd890c9bfc1a95f0944640

See more details on using hashes here.

File details

Details for the file pyjjasim-4.0.2-py3-none-any.whl.

File metadata

  • Download URL: pyjjasim-4.0.2-py3-none-any.whl
  • Upload date:
  • Size: 93.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.0

File hashes

Hashes for pyjjasim-4.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2f61838ea232d3d608e8004432e57b37583f857fdfe24409febce1a91e70bc06
MD5 5f878536ce3db5b56399e9dc4610b928
BLAKE2b-256 8b39a3e26a3912625b514a75da87767d37d16ad71b10dfdd49c813fc0e4066ce

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page