Skip to main content

An AutoCAD library for KID design

Project description

G31_KID_design package

This Python package allows one to quickly generate an array of Kinetic Inductance Detectors as well as single pixels. I developed this package during my master thesis period and it is still an ongoing project for my PhD.

How to install

The use of this package is recommended under Linux or Mac OS. This software is developed under Mac OS.

Using the pip package

Make sure you are using a >=3.7 Python version and the latest pip version available by executing, for Mac Os / Linux users, the following command

python3 -m pip install --upgrade pip

or, for Windows users,

py -m pip install --upgrade pip

Then proceed with the package installation by typing

pip install G31_KID_design

and you are done.

Required third-party packages

In order to make things working the following packages are mandatory.

  • ezdxf: version >=0.17.2 (thank you mozman for allowing me to ease my back and save time) here you can find the repo to this package;
  • shapely: version >=1.8.0. Here the link to the repo!

Stable versions and changelog

  • 1.0.3 - October 10th, 2022. A preview plot of an array design has been added. Also two new functions allow to generate more quickly the coordinate pattern of both a triangular lattice and a square lattice inside a circle.
  • 1.0.1 - October 4th, 2022. First release.

Overview

With this package it is possible to generate .dxf design files of Kinetic Inductance Detectors (KIDs) starting from geometrical parameters defined below:

  • index: int, the id of the pixel
  • vertical_size: float, edge size of the absorber
  • line_width: float, width of the conductive path
  • coupling_capacitor_length: float, length of the coupling capacitor
  • coupling_capacitor_width: float, width of the coupling capacitor
  • coupling_connector_width: float, width of the conductive segment that goes from the pixel to the coupling capacitor
  • coupling_capacitor_y_offset: float, vertical separation between the pixel and the coupling capacitor
  • capacitor_finger_number: float, number of fingers of the interdigital capacitor with decimal digits meaning an extra finger of variable length
  • capacitor_finger_gap: float, gap between interdigitated fingers
  • capacitor_finger_width: float, width of the interdigitated fingers
  • hilbert_order: int, hilbert order of the absorber (it is reccommended to not exceed the 7th order for computational reasons)
  • absorber_separation: float, horizontal separation of the absorber from the capacitor

These parameters are shown in the following image (with capacitor_finger_number = 3.6 and hilbert_order = 3).

schematic

The final dxf drawing has many layers:

  • PIXEL: the actual layer where the KID is shown
  • PIXEL_AREA: a layer where a rectangle encloses the whole pixel
  • ABSORBER_AREA: a layer where a square encloses the absorber section of the KID
  • CENTER: a layer where the two diagonals of the ABSORBER_AREA square are shown
  • INDEX: a layer where the index value of the pixel is shown

The output drawing has the absorber centered to the origin

All the distances are expressed in units of microns. The following image shows an example of a real KID generated with this package.

example

Examples

The test.py script is an example script. Try to run it. You can find the expected output in the examples directory.

# test script

# import the package
import KID_drawer as KID

# define a Pixel object
pixel = KID.Pixel(index = 1,
		  vertical_size = 3000.0,
		  line_width = 4.0,
		  coupling_capacitor_length = 2500.0,
		  coupling_capacitor_width = 80.0,
		  coupling_connector_width = 20.0,
		  coupling_capacitor_y_offset = 120.0,
		  capacitor_finger_number = 50.65,
		  capacitor_finger_gap = 4.0,
		  capacitor_finger_width = 4.0,
		  hilbert_order = 4,
		  absorber_separation = 200.0)

# print the pixel parameters
pixel.print_info()

# save the .dxf file
pixel.save_dxf(filename = 'examples/test/pixel.dxf')

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

G31_KID_design-1.0.3.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

G31_KID_design-1.0.3-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file G31_KID_design-1.0.3.tar.gz.

File metadata

  • Download URL: G31_KID_design-1.0.3.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for G31_KID_design-1.0.3.tar.gz
Algorithm Hash digest
SHA256 dc9828ebb6c244675e05087dc6ad119b1ab351eb58a6d98c606920819009908f
MD5 73fb0697f5d8ab13d03e3f7acaf373ad
BLAKE2b-256 84f0f4d9e184cc32fc02ca4bb3c9d1caf3bc8a33f6569bf9a4277fc0d59959aa

See more details on using hashes here.

File details

Details for the file G31_KID_design-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for G31_KID_design-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c07740dbfb5338db721b48c5d8c88355ae7fc8311ffb917b9606df13be29b8db
MD5 6a0028786fcb049d3e9d0662a1565e17
BLAKE2b-256 64f5041837226300ff0912eb0bc69a18ca4e4caea9bdc6b4d0854347ecf15325

See more details on using hashes here.

Supported by

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