Skip to content

Commit e2c17a7

Browse files
andrekuoLFL-Labzlatko-minev
authored
Added ability to change length of pin/CPW leading out of transmon cross (#949)
* claw cpw fix * claw cpw fix 2 * typo * forgot pin mod * forgot to account for 0 cpw length * lint fix * fixed unit test * more linting --------- Co-authored-by: LFL-Lab <109769051+LFL-Lab@users.noreply.github.com> Co-authored-by: Zlatko Minev <zminev@gmail.com>
1 parent 60a9af0 commit e2c17a7

File tree

3 files changed

+15
-6
lines changed

3 files changed

+15
-6
lines changed

docs/installation.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ To do so, first navigate to the folder created by the clone. For example:
7373

7474
cd qiskit-metal
7575

76-
Once you are in the folder that contains the `environemnt.yml` file, execute the following installation commands:
76+
Once you are in the folder that contains the `environment.yml` file, execute the following installation commands:
7777

7878
::
7979

qiskit_metal/qlibrary/qubits/transmon_cross.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ class TransmonCross(BaseQubit): # pylint: disable=invalid-name
7979
ground_spacing='5um',
8080
claw_width='10um',
8181
claw_gap='6um',
82+
claw_cpw_length='40um',
83+
claw_cpw_width='10um',
8284
connector_location=
8385
'0' # 0 => 'west' arm, 90 => 'north' arm, 180 => 'east' arm
8486
))
@@ -175,10 +177,12 @@ def make_connection_pad(self, name: str):
175177
c_g = pc.claw_gap
176178
c_l = pc.claw_length
177179
c_w = pc.claw_width
180+
c_c_w = pc.claw_cpw_width
181+
c_c_l = pc.claw_cpw_length
178182
g_s = pc.ground_spacing
179183
con_loc = pc.connector_location
180184

181-
claw_cpw = draw.box(0, -c_w / 2, -4 * c_w, c_w / 2)
185+
claw_cpw = draw.box(-c_w, -c_c_w / 2, -c_c_l - c_w, c_c_w / 2)
182186

183187
if pc.connector_type == 0: # Claw connector
184188
t_claw_height = 2*c_g + 2 * c_w + 2*g_s + \
@@ -193,14 +197,15 @@ def make_connection_pad(self, name: str):
193197
connector_arm = draw.shapely.ops.unary_union([claw_base, claw_cpw])
194198
connector_etcher = draw.buffer(connector_arm, c_g)
195199
else:
196-
connector_arm = claw_cpw
200+
connector_arm = draw.box(0, -c_w / 2, -4 * c_w, c_w / 2)
197201
connector_etcher = draw.buffer(connector_arm, c_g)
198202

199203
# Making the pin for tracking (for easy connect functions).
200204
# Done here so as to have the same translations and rotations as the connector. Could
201205
# extract from the connector later, but since allowing different connector types,
202206
# this seems more straightforward.
203-
port_line = draw.LineString([(-4 * c_w, -c_w / 2), (-4 * c_w, c_w / 2)])
207+
port_line = draw.LineString([(-c_c_l - c_w, -c_c_w / 2),
208+
(-c_c_l - c_w, c_w / 2)])
204209

205210
claw_rotate = 0
206211
if con_loc > 135:
@@ -225,4 +230,4 @@ def make_connection_pad(self, name: str):
225230
subtract=True,
226231
chip=chip)
227232

228-
self.add_pin(name, port_line.coords, c_w)
233+
self.add_pin(name, port_line.coords, c_c_w)

qiskit_metal/tests/test_qlibrary_2_options.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,7 @@ def test_qlibrary_transmon_cross_options(self):
487487
self.assertEqual(_options['cross_length'], '200um')
488488
self.assertEqual(_options['cross_gap'], '20um')
489489

490-
self.assertEqual(len(_options['_default_connection_pads']), 6)
490+
self.assertEqual(len(_options['_default_connection_pads']), 8)
491491
self.assertEqual(_options['_default_connection_pads']['connector_type'],
492492
'0')
493493
self.assertEqual(_options['_default_connection_pads']['claw_length'],
@@ -498,6 +498,10 @@ def test_qlibrary_transmon_cross_options(self):
498498
'10um')
499499
self.assertEqual(_options['_default_connection_pads']['claw_gap'],
500500
'6um')
501+
self.assertEqual(
502+
_options['_default_connection_pads']['claw_cpw_length'], '40um')
503+
self.assertEqual(_options['_default_connection_pads']['claw_cpw_width'],
504+
'10um')
501505
self.assertEqual(
502506
_options['_default_connection_pads']['connector_location'], '0')
503507

0 commit comments

Comments
 (0)