app: stacked_cores: 51-xx: complete some experiments using single-clock cascaded cores
i'm able to get 0.8x amplification between the first and the third core. this is *less* than the amplification i got when cascading only one core of the first, so not likely a good direction to pursue, though i haven't yet explored that much of the parameter space.
This commit is contained in:
parent
12f286c3c7
commit
0c7df48234
|
@ -3,6 +3,8 @@
|
|||
from fake_cores_db import *
|
||||
from stacked_cores_40xx_db import *
|
||||
|
||||
_3e10 = "30000001024e0"
|
||||
|
||||
class SimParamsCascaded(SimParams):
|
||||
def __init__(self, p1: SimParams, p2: SimParams):
|
||||
super().__init__(p1.couplings, p1.wrappings_spec, p1.um, p1.drive_str)
|
||||
|
@ -231,9 +233,16 @@ _49xx_study = from_params(
|
|||
# SimParams50(1e4, 2e4, 2000, 100, 5, 1, 400, "2e10"),
|
||||
# y(0)=0.30, y(1)=0.40, slope0>0.09
|
||||
# SimParams50(2e4, 2e4, 2000, 100, 5, 1, 400, "1e10"),
|
||||
]
|
||||
)
|
||||
|
||||
_51xx_study = from_params(
|
||||
[
|
||||
|
||||
SimParams51(1e3, 2e4, 2000, 100, 5, 1, 400, "2e10"),
|
||||
SimParams51(2e3, 2e4, 2000, 100, 5, 1, 400, "1e10"),
|
||||
SimParams51(2e3, 2e4, 2000, 100, 5, 1, 400, "2e10"),
|
||||
SimParams51(2e3, 2e4, 2000, 100, 5, 1, 400, _3e10),
|
||||
SimParams51(5e3, 2e4, 2000, 100, 5, 1, 400, _3e10),
|
||||
]
|
||||
)
|
||||
|
@ -257,7 +266,8 @@ _49xx_study = from_params(
|
|||
# of_interest += inverters_with_steepest_slope0
|
||||
# of_interest += _47xx_all
|
||||
# of_interest += _48xx_study
|
||||
of_interest += _49xx_study
|
||||
# of_interest += _49xx_study
|
||||
of_interest += _51xx_study
|
||||
|
||||
# plot cascaded inverter -> buffer
|
||||
# for (inv_p, inv_curve) in filter_meas(is_inverter=True):
|
||||
|
@ -279,10 +289,10 @@ of_interest += _49xx_study
|
|||
|
||||
for (params, curve) in of_interest:
|
||||
curve = curve.flat_extrapolation()
|
||||
curve.plot(title = f"{params.human_name} mapping")
|
||||
curve.plot_slope(title = f"{params.human_name} slope")
|
||||
fwd = curve.logically_inverted() if params.is_inverter else curve
|
||||
fwd.plot(title = f"{params.human_name} mapping")
|
||||
fwd.plot_slope(title = f"{params.human_name} slope")
|
||||
|
||||
if not params.is_inverter:
|
||||
curve = curve.logically_inverted()
|
||||
inv = fwd.logically_inverted()
|
||||
# if params.is_inverter or True:
|
||||
# curve.plot_equilibrium(title = f"{params.human_name} equilibrium")
|
||||
# inv.plot_equilibrium(title = f"{params.human_name} equilibrium")
|
||||
|
|
|
@ -245,12 +245,16 @@ class SimParams51(SimParamsV3):
|
|||
return True
|
||||
|
||||
@property
|
||||
def t_last(self) -> float:
|
||||
def t_init(self) -> float:
|
||||
return 1e-12 * self.clock_length_ps
|
||||
|
||||
@property
|
||||
def t_mid(self) -> float:
|
||||
return 2e-12 * self.clock_length_ps
|
||||
|
||||
@property
|
||||
def t_init(self) -> float:
|
||||
return 1e-12 * self.clock_length_ps
|
||||
def t_last(self) -> float:
|
||||
return 2e-12 * self.clock_length_ps
|
||||
|
||||
sims = [
|
||||
# params, human friendly db name, normalization
|
||||
|
@ -461,7 +465,9 @@ sims = [
|
|||
(SimParams50(5e3, 4e4, 4000, 200, 5, 1, 400, "2e10"), None, 20000),
|
||||
|
||||
(SimParams51(1e3, 2e4, 2000, 100, 5, 1, 400, "2e10"), None, 20000),
|
||||
(SimParams51(2e3, 2e4, 2000, 100, 5, 1, 400, "1e10"), None, 20000),
|
||||
(SimParams51(2e3, 2e4, 2000, 100, 5, 1, 400, "2e10"), None, 20000),
|
||||
(SimParams51(2e3, 2e4, 2000, 100, 5, 1, 400, _3e10), None, 20000),
|
||||
(SimParams51(5e3, 2e4, 2000, 100, 5, 1, 400, _3e10), None, 20000),
|
||||
]
|
||||
|
||||
|
@ -5160,7 +5166,96 @@ Piecewise(
|
|||
set_meas("51-0.0004rad-1000ctl_cond-20000coupling_cond-2000ps-100ps-5ctl-5coupling-3_1_winding-2e10-drive", """
|
||||
Piecewise(
|
||||
[
|
||||
[ 16910, -16375 ], # 1.000
|
||||
[ -17462, 955 ], # -1.000, M1=-6544
|
||||
[ -11848, -3516 ], # -0.350, M1=-2673
|
||||
[ -8384, -6316 ], # -0.300, M1= -516
|
||||
[ -4922, -8983 ], # -0.250, M1= 1553
|
||||
[ -1482, -11476 ], # -0.200, M1= 3520
|
||||
[ 1903, -13698 ], # -0.150, M1= 5384
|
||||
[ 5191, -15268 ], # -0.100, M1= 7122
|
||||
[ 8322, -15915 ], # -0.050, M1= 8725
|
||||
[ 11174, -16156 ], # 0.000, M1=10122
|
||||
[ 13214, -16263 ], # 0.050, M1=11025
|
||||
[ 14526, -16312 ], # 0.100, M1=11538
|
||||
[ 16070, -16357 ], # 0.200, M1=12096
|
||||
[ 16910, -16375 ], # 1.000, M1=12480
|
||||
]
|
||||
)
|
||||
""")
|
||||
|
||||
set_meas("51-0.0004rad-2000ctl_cond-20000coupling_cond-2000ps-100ps-5ctl-5coupling-3_1_winding-1e10-drive", """
|
||||
Piecewise(
|
||||
[
|
||||
[ -17412, 7351 ], # -1.000, M1=-9661
|
||||
[ -5507, 1206 ], # -0.350, M1=-3475
|
||||
[ -2926, -132 ], # -0.300, M1=-2233
|
||||
[ -374, -1375 ], # -0.250, M1=-1051
|
||||
[ 2145, -2528 ], # -0.200, M1= 93
|
||||
[ 4593, -3593 ], # -0.150, M1= 1189
|
||||
[ 6922, -4577 ], # -0.100, M1= 2205
|
||||
[ 9061, -5432 ], # -0.050, M1= 3096
|
||||
[ 10849, -6119 ], # 0.000, M1= 3826
|
||||
[ 12083, -6573 ], # 0.050, M1= 4335
|
||||
[ 13169, -6962 ], # 0.100, M1= 4781
|
||||
[ 14949, -7537 ], # 0.200, M1= 5498
|
||||
[ 16881, -8016 ], # 1.000, M1= 6376
|
||||
]
|
||||
)
|
||||
""")
|
||||
|
||||
set_meas("51-0.0004rad-2000ctl_cond-20000coupling_cond-2000ps-100ps-5ctl-5coupling-3_1_winding-2e10-drive", """
|
||||
Piecewise(
|
||||
[
|
||||
[ -17596, 4048 ], # -1.000, M1=-7725
|
||||
[ -17162, 3838 ], # -0.350, M1=-7354
|
||||
[ -16533, 3548 ], # -0.300, M1=-6886
|
||||
[ -13668, 1824 ], # -0.250, M1=-5211
|
||||
[ -8574, -1224 ], # -0.200, M1=-2500
|
||||
[ -3482, -4166 ], # -0.150, M1= 127
|
||||
[ 1525, -6940 ], # -0.100, M1= 2643
|
||||
[ 6355, -9461 ], # -0.050, M1= 4983
|
||||
[ 10815, -11658 ], # 0.000, M1= 7056
|
||||
[ 13837, -13075 ], # 0.050, M1= 8459
|
||||
[ 15352, -13707 ], # 0.100, M1= 9179
|
||||
[ 16596, -14137 ], # 0.200, M1= 9832
|
||||
[ 16938, -14287 ], # 1.000, M1=10139
|
||||
]
|
||||
)
|
||||
""")
|
||||
|
||||
set_meas("51-0.0004rad-2000ctl_cond-20000coupling_cond-2000ps-100ps-5ctl-5coupling-3_1_winding-30000001024e0-drive", """
|
||||
Piecewise(
|
||||
[
|
||||
[ -17699, 1454 ], # -1.000, M1=-6236
|
||||
[ -17551, 1379 ], # -0.350, M1=-6069
|
||||
[ -17522, 1350 ], # -0.300, M1=-6025
|
||||
[ -17425, 1317 ], # -0.250, M1=-5948
|
||||
[ -16719, 1033 ], # -0.200, M1=-5451
|
||||
[ -11661, -2116 ], # -0.150, M1=-2565
|
||||
[ -4081, -6784 ], # -0.100, M1= 1528
|
||||
[ 3400, -10964 ], # -0.050, M1= 5393
|
||||
[ 10508, -14107 ], # 0.000, M1= 8877
|
||||
[ 16959, -15828 ], # 1.000, M1=12067
|
||||
]
|
||||
)
|
||||
""")
|
||||
|
||||
set_meas("51-0.0004rad-5000ctl_cond-20000coupling_cond-2000ps-100ps-5ctl-5coupling-3_1_winding-30000001024e0-drive", """
|
||||
Piecewise(
|
||||
[
|
||||
[ -18072, 5436 ], # -1.000, M1=-7703
|
||||
[ -17883, 5390 ], # -0.350, M1=-7524
|
||||
[ -17859, 5365 ], # -0.300, M1=-7486
|
||||
[ -17831, 5381 ], # -0.250, M1=-7471
|
||||
[ -17796, 5380 ], # -0.200, M1=-7440
|
||||
[ -17738, 5369 ], # -0.150, M1=-7391
|
||||
[ -16762, 5145 ], # -0.100, M1=-6795
|
||||
[ -4256, 769 ], # -0.050, M1=-1544
|
||||
[ 9643, -3986 ], # 0.000, M1= 4057
|
||||
[ 15927, -5962 ], # 0.050, M1= 6589
|
||||
[ 16601, -6128 ], # 0.100, M1= 6942
|
||||
[ 16747, -6163 ], # 0.200, M1= 7068
|
||||
[ 17073, -6302 ], # 1.000, M1= 7390
|
||||
]
|
||||
)
|
||||
""")
|
||||
|
|
|
@ -5573,16 +5573,27 @@ fn main() {
|
|||
&[
|
||||
-0.20,
|
||||
-0.10,
|
||||
0.10,
|
||||
-0.05,
|
||||
][..],
|
||||
&[
|
||||
0.05,
|
||||
-0.15,
|
||||
-0.25,
|
||||
-0.30,
|
||||
-0.35,
|
||||
0.20,
|
||||
-0.30,
|
||||
0.10,
|
||||
0.05,
|
||||
][..],
|
||||
&[
|
||||
-0.50,
|
||||
][..],
|
||||
&[
|
||||
-0.17,
|
||||
-0.12,
|
||||
-0.07,
|
||||
-0.22,
|
||||
-0.27,
|
||||
-0.02,
|
||||
][..],
|
||||
] {
|
||||
for (ctl_cond, coupling_cond, clock_duration, clock_decay, coupling_loops, s0_loops, s_major, cur_flt) in [
|
||||
|
@ -5590,7 +5601,8 @@ fn main() {
|
|||
(1e3, 2e4, ps(2000), ps(100), 5, 1, um(400), 2e10),
|
||||
(2e3, 2e4, ps(2000), ps(100), 5, 1, um(400), 2e10),
|
||||
(5e3, 2e4, ps(2000), ps(100), 5, 1, um(400), 3e10),
|
||||
// (2e3, 2e4, ps(2000), ps(100), 5, 1, um(400), 1e10),
|
||||
(2e3, 2e4, ps(2000), ps(100), 5, 1, um(400), 1e10),
|
||||
(2e3, 2e4, ps(2000), ps(100), 5, 1, um(400), 3e10),
|
||||
|
||||
] {
|
||||
for &init_flt in init_set {
|
||||
|
|
Loading…
Reference in New Issue