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 youmozman
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 pixelvertical_size
: float, edge size of the absorberline_width
: float, width of the conductive pathcoupling_capacitor_length
: float, length of the coupling capacitorcoupling_capacitor_width
: float, width of the coupling capacitorcoupling_connector_width
: float, width of the conductive segment that goes from the pixel to the coupling capacitorcoupling_capacitor_y_offset
: float, vertical separation between the pixel and the coupling capacitorcapacitor_finger_number
: float, number of fingers of the interdigital capacitor with decimal digits meaning an extra finger of variable lengthcapacitor_finger_gap
: float, gap between interdigitated fingerscapacitor_finger_width
: float, width of the interdigitated fingershilbert_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
).
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.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc9828ebb6c244675e05087dc6ad119b1ab351eb58a6d98c606920819009908f |
|
MD5 | 73fb0697f5d8ab13d03e3f7acaf373ad |
|
BLAKE2b-256 | 84f0f4d9e184cc32fc02ca4bb3c9d1caf3bc8a33f6569bf9a4277fc0d59959aa |
File details
Details for the file G31_KID_design-1.0.3-py3-none-any.whl
.
File metadata
- Download URL: G31_KID_design-1.0.3-py3-none-any.whl
- Upload date:
- Size: 14.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c07740dbfb5338db721b48c5d8c88355ae7fc8311ffb917b9606df13be29b8db |
|
MD5 | 6a0028786fcb049d3e9d0662a1565e17 |
|
BLAKE2b-256 | 64f5041837226300ff0912eb0bc69a18ca4e4caea9bdc6b4d0854347ecf15325 |