-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.py
96 lines (81 loc) · 3.11 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
from flask import Flask
from qiskit_metal.analyses.quantization.lumped_capacitive import load_q3d_capacitance_matrix
from qiskit_metal.analyses.quantization.lom_core_analysis import CompositeSystem, Cell, Subsystem
from scipy.constants import speed_of_light as c_light
app = Flask(__name__)
def demo(print_output=True):
# alice cap matrix
path1 = './Q1_TwoTransmon_CapMatrix.txt'
ta_mat, _, _, _ = load_q3d_capacitance_matrix(path1)
# bob cap matrix
path2 = './Q2_TwoTransmon_CapMatrix.txt'
tb_mat, _, _, _ = load_q3d_capacitance_matrix(path2)
# cell 1: transmon Alice cell
opt1 = dict(
node_rename={
'coupler_connector_pad_Q1': 'coupling',
'readout_connector_pad_Q1': 'readout_alice'
},
cap_mat=ta_mat,
ind_dict={('pad_top_Q1', 'pad_bot_Q1'):
10}, # junction inductance in nH
jj_dict={('pad_top_Q1', 'pad_bot_Q1'): 'j1'},
cj_dict={('pad_top_Q1', 'pad_bot_Q1'):
2}, # junction capacitance in fF
)
cell_1 = Cell(opt1)
# cell 2: transmon Bob cell
opt2 = dict(
node_rename={
'coupler_connector_pad_Q2': 'coupling',
'readout_connector_pad_Q2': 'readout_bob'
},
cap_mat=tb_mat,
ind_dict={('pad_top_Q2', 'pad_bot_Q2'):
12}, # junction inductance in nH
jj_dict={('pad_top_Q2', 'pad_bot_Q2'): 'j2'},
cj_dict={('pad_top_Q2', 'pad_bot_Q2'):
2}, # junction capacitance in fF
)
cell_2 = Cell(opt2)
# subsystem 1: transmon Alice
transmon_alice = Subsystem(name='transmon_alice',
sys_type='TRANSMON',
nodes=['j1'])
# subsystem 2: transmon Bob
transmon_bob = Subsystem(name='transmon_bob',
sys_type='TRANSMON',
nodes=['j2'])
# subsystem 3: Alice readout resonator
q_opts = dict(
f_res=8, # resonator dressed frequency in GHz
Z0=50, # characteristic impedance in Ohm
vp=0.404314 * c_light # phase velocity
)
res_alice = Subsystem(name='readout_alice',
sys_type='TL_RESONATOR',
nodes=['readout_alice'],
q_opts=q_opts)
# subsystem 4: Bob readout resonator
q_opts = dict(
f_res=7.6, # resonator dressed frequency in GHz
Z0=50, # characteristic impedance in Ohm
vp=0.404314 * c_light # phase velocity
)
res_bob = Subsystem(name='readout_bob',
sys_type='TL_RESONATOR',
nodes=['readout_bob'],
q_opts=q_opts)
composite_sys = CompositeSystem(
subsystems=[transmon_alice, transmon_bob, res_alice, res_bob],
cells=[cell_1, cell_2],
grd_node='ground_main_plane',
nodes_force_keep=['readout_alice', 'readout_bob'])
cg = composite_sys.circuitGraph()
if print_output:
print(cg)
return cg
@app.route('/')
def hello_world():
cg = demo(print_output=False)
return cg.C_k.to_dataframe().to_json()