app: stacked_cores: 48-xx: add some runs
This commit is contained in:
@@ -52,6 +52,10 @@ class SimParams:
|
||||
def is_discharge_high(self) -> bool:
|
||||
return False # see 41-xx
|
||||
|
||||
@property
|
||||
def t_init(self) -> float:
|
||||
return 2e-9
|
||||
|
||||
@property
|
||||
def t_last(self) -> float:
|
||||
return 3e-9
|
||||
@@ -199,6 +203,14 @@ class SimParams48(SimParams):
|
||||
self.clock_length_ps = int(clock_length_ps)
|
||||
self.clock_decay_ps = int(clock_decay_ps)
|
||||
|
||||
@property
|
||||
def t_init(self) -> float:
|
||||
return 2e-12 * self.clock_length_ps
|
||||
|
||||
@property
|
||||
def t_last(self) -> float:
|
||||
return 3e-12 * self.clock_length_ps
|
||||
|
||||
@property
|
||||
def machine_name(self) -> str:
|
||||
return f"{self.run}-{self.um_str}rad-{self.control_cond}ctl_cond-{self.coupling_cond}coupling_cond-{self.clock_length_ps}ps-{self.clock_decay_ps}ps-{self.couplings}ctl-{self.couplings}coupling-{self.wrappings}_1_winding-{self.drive_str}-drive"
|
||||
@@ -380,9 +392,15 @@ sims = [
|
||||
(SimParams47(4, 2, 600, "5e10"), None, 20000),
|
||||
|
||||
# control conductivity, coupling cond, clock decay (ps), clock duration, coupling loops, asymmetric s0 loops, radius, drive current
|
||||
(SimParams48(5e2, 1e4, 1000, 50, 9, 1, 400, "1e10"), None, 20000),
|
||||
(SimParams48(5e2, 1e4, 1000, 50, 9, 1, 400, "5e9"), None, 20000),
|
||||
(SimParams48(5e2, 5e3, 1000, 50, 9, 1, 400, "1e10"), None, 20000),
|
||||
(SimParams48(5e2, 5e3, 1000, 50, 9, 1, 400, "1e10"), None, 20000),
|
||||
(SimParams48(5e2, 1e4, 1000, 50, 9, 1, 400, "3e9"), None, 20000),
|
||||
(SimParams48(5e2, 1e4, 1000, 50, 9, 1, 400, "5e9"), None, 20000),
|
||||
(SimParams48(5e2, 1e4, 1000, 50, 9, 1, 400, "1e10"), None, 20000),
|
||||
(SimParams48(1e3, 1e4, 2000, 100, 9, 1, 400, "3e9"), None, 20000),
|
||||
(SimParams48(1e3, 1e4, 2000, 100, 9, 1, 400, "5e9"), None, 20000),
|
||||
(SimParams48(1e3, 1e4, 2000, 100, 9, 1, 400, "1e10"), None, 20000),
|
||||
(SimParams48(2e3, 2e4, 4000, 200, 9, 1, 400, "3e9"), None, 20000),
|
||||
(SimParams48(5e3, 5e4,10000, 500, 9, 1, 400, "3e9"), None, 20000),
|
||||
]
|
||||
|
||||
measurements = { real.machine_name: [human, norm, None, None] for (real, human, norm) in sims }
|
||||
@@ -430,13 +448,13 @@ def set_meas(real: str, expr: str):
|
||||
if human:
|
||||
globals()[human] = pw
|
||||
|
||||
def try_measure(real: str, t_last: float, t_mid: float = None):
|
||||
def try_measure(real: str, t_init: float, t_last: float, t_mid: float = None):
|
||||
try:
|
||||
new_value = subprocess.check_output(
|
||||
[
|
||||
"./stacked_cores_39xx.py",
|
||||
f"../../../../out/applications/stacked_cores/{real}",
|
||||
"2e-9",
|
||||
str(t_init),
|
||||
str(t_last),
|
||||
] + ([str(t_mid)] if t_mid is not None else [])
|
||||
).decode()
|
||||
@@ -448,7 +466,7 @@ def try_measure(real: str, t_last: float, t_mid: float = None):
|
||||
|
||||
def update_all():
|
||||
for (params, _human, _norm) in sims:
|
||||
try_measure(params.machine_name, t_last=params.t_last, t_mid=params.t_mid)
|
||||
try_measure(params.machine_name, t_init=params.t_init, t_last=params.t_last, t_mid=params.t_mid)
|
||||
|
||||
def dump(path: str):
|
||||
orig = open(path).read()
|
||||
@@ -4047,13 +4065,75 @@ Piecewise(
|
||||
)
|
||||
""")
|
||||
|
||||
set_meas("48-0.0004rad-500ctl_cond-5000coupling_cond-1000ps-50ps-9ctl-9coupling-3_1_winding-1e10-drive", """
|
||||
Piecewise(
|
||||
[
|
||||
[ -17210, 1376 ], # -1.00
|
||||
[ 16931, 16791 ], # 1.00
|
||||
]
|
||||
)
|
||||
""")
|
||||
|
||||
set_meas("48-0.0004rad-500ctl_cond-10000coupling_cond-1000ps-50ps-9ctl-9coupling-3_1_winding-3e9-drive", """
|
||||
Piecewise(
|
||||
[
|
||||
[ -18331, -6085 ], # -1.00
|
||||
[ 17160, 6840 ], # 1.00
|
||||
]
|
||||
)
|
||||
""")
|
||||
|
||||
set_meas("48-0.0004rad-500ctl_cond-10000coupling_cond-1000ps-50ps-9ctl-9coupling-3_1_winding-5e9-drive", """
|
||||
Piecewise(
|
||||
[
|
||||
[ -18553, -1270 ], # -1.00
|
||||
[ 17271, 16313 ], # 1.00
|
||||
]
|
||||
)
|
||||
""")
|
||||
|
||||
set_meas("48-0.0004rad-500ctl_cond-10000coupling_cond-1000ps-50ps-9ctl-9coupling-3_1_winding-1e10-drive", """
|
||||
Piecewise(
|
||||
[
|
||||
[ -18828, 1410 ], # -1.00
|
||||
[ -18549, 1845 ], # -0.35
|
||||
[ -17921, 2757 ], # -0.20
|
||||
[ -4275, 16419 ], # -0.10
|
||||
[ 11309, 16820 ], # 0.00
|
||||
[ 13053, 16822 ], # 0.10
|
||||
[ 16668, 16825 ], # 0.20
|
||||
[ 17106, 16825 ], # 0.35
|
||||
[ 17405, 16824 ], # 1.00
|
||||
]
|
||||
)
|
||||
""")
|
||||
|
||||
set_meas("48-0.0004rad-1000ctl_cond-10000coupling_cond-2000ps-100ps-9ctl-9coupling-3_1_winding-3e9-drive", """
|
||||
Piecewise(
|
||||
[
|
||||
[ -16999, -3777 ], # -1.00
|
||||
[ 16812, 10556 ], # 1.00
|
||||
]
|
||||
)
|
||||
""")
|
||||
|
||||
set_meas("48-0.0004rad-1000ctl_cond-10000coupling_cond-2000ps-100ps-9ctl-9coupling-3_1_winding-5e9-drive", """
|
||||
Piecewise(
|
||||
[
|
||||
[ -17090, -1037 ], # -1.00
|
||||
[ 16874, 16650 ], # 1.00
|
||||
]
|
||||
)
|
||||
""")
|
||||
|
||||
set_meas("48-0.0004rad-1000ctl_cond-10000coupling_cond-2000ps-100ps-9ctl-9coupling-3_1_winding-1e10-drive", """
|
||||
Piecewise(
|
||||
[
|
||||
[ -17206, 2148 ], # -1.00
|
||||
[ 11896, 16811 ], # 0.00
|
||||
[ 16938, 16814 ], # 1.00
|
||||
]
|
||||
)
|
||||
""")
|
||||
|
||||
if __name__ == '__main__': main()
|
||||
|
@@ -5113,11 +5113,60 @@ fn main() {
|
||||
0.35,
|
||||
-0.35,
|
||||
][..],
|
||||
&[
|
||||
-0.05,
|
||||
-0.15,
|
||||
-0.25,
|
||||
0.05,
|
||||
-0.07,
|
||||
-0.12,
|
||||
-0.17,
|
||||
-0.02,
|
||||
0.07,
|
||||
0.12,
|
||||
][..],
|
||||
&[
|
||||
// exhaustive
|
||||
-0.01,
|
||||
-0.02,
|
||||
-0.03,
|
||||
-0.04,
|
||||
-0.06,
|
||||
-0.07,
|
||||
-0.08,
|
||||
-0.09,
|
||||
-0.11,
|
||||
-0.12,
|
||||
-0.13,
|
||||
-0.14,
|
||||
-0.16,
|
||||
-0.17,
|
||||
-0.18,
|
||||
-0.19,
|
||||
-0.21,
|
||||
-0.22,
|
||||
-0.23,
|
||||
-0.24,
|
||||
0.01,
|
||||
0.02,
|
||||
0.03,
|
||||
0.04,
|
||||
][..],
|
||||
] {
|
||||
for (ctl_cond, coupling_cond, clock_duration, clock_decay, coupling_loops, s0_loops, s_major, cur_flt) in [
|
||||
(5e2, 1e4, ps(1000), ps(50), 9, 1, um(400), 1e10),
|
||||
(5e2, 1e4, ps(1000), ps(50), 9, 1, um(400), 5e9),
|
||||
(5e2, 5e3, ps(1000), ps(50), 9, 1, um(400), 1e10),
|
||||
(1e3, 1e4, ps(2000), ps(100), 9, 1, um(400), 3e9),
|
||||
(1e3, 1e4, ps(2000), ps(100), 9, 1, um(400), 5e9),
|
||||
(5e2, 1e4, ps(1000), ps(50), 9, 1, um(400), 5e9),
|
||||
(2e3, 2e4, ps(4000), ps(200), 9, 1, um(400), 3e9),
|
||||
(5e3, 5e4, ps(10000),ps(500), 9, 1, um(400), 3e9),
|
||||
|
||||
// boring current variants of the above
|
||||
(1e3, 1e4, ps(2000), ps(100), 9, 1, um(400), 1e10),
|
||||
// (5e2, 1e4, ps(1000), ps(50), 9, 1, um(400), 3e9),
|
||||
// (5e2, 1e4, ps(1000), ps(50), 9, 1, um(400), 1e10),
|
||||
|
||||
// original
|
||||
(5e2, 5e3, ps(1000), ps(50), 9, 1, um(400), 1e10),
|
||||
] {
|
||||
for &init_flt in init_set {
|
||||
// coupling loops (M0 -> M1) + control slots
|
||||
|
Reference in New Issue
Block a user