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:
colin 2022-10-28 02:43:12 -07:00
parent 12f286c3c7
commit 0c7df48234
3 changed files with 131 additions and 14 deletions

View File

@ -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")

View File

@ -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
]
)
""")

View File

@ -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 {