app: stacked-cores: 40xx db: preserve parameterization in more context
i want to add some filtering functions to the db lookups, and this will faciliate that
This commit is contained in:
@@ -5,55 +5,73 @@ from inverter_characteristics import Piecewise
|
|||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
def sim_name(couplings: int, wrappings: int, um: int, drive: str) -> str:
|
class SimParams:
|
||||||
wrappings = 2*wrappings + 1
|
def __init__(self, couplings: int, wrappings_spec: int, um: int, drive: str) -> str:
|
||||||
um_str = {
|
self.couplings = couplings
|
||||||
|
self.wrappings_spec = wrappings_spec
|
||||||
|
self.um = um
|
||||||
|
self.drive_str = drive
|
||||||
|
|
||||||
|
@property
|
||||||
|
def drive(self) -> int:
|
||||||
|
return int(float(self.drive_str))
|
||||||
|
|
||||||
|
@property
|
||||||
|
def wrappings(self) -> int:
|
||||||
|
return self.wrappings_spec * 2 + 1
|
||||||
|
|
||||||
|
@property
|
||||||
|
def um_str(self) -> str:
|
||||||
|
return {
|
||||||
400: "0.0004",
|
400: "0.0004",
|
||||||
600: "0.00059999997",
|
600: "0.00059999997",
|
||||||
800: "0.0008",
|
800: "0.0008",
|
||||||
}[um]
|
}[self.um]
|
||||||
|
|
||||||
|
@property
|
||||||
|
def machine_name(self) -> str:
|
||||||
|
return f"40-{self.um_str}rad-{self.couplings}coupling-{self.wrappings}_1_winding-{self.drive_str}-drive"
|
||||||
|
|
||||||
return f"40-{um_str}rad-{couplings}coupling-{wrappings}_1_winding-{drive}-drive"
|
|
||||||
|
|
||||||
sims = [
|
sims = [
|
||||||
# real name, human friendly, normalization
|
# params, human friendly db name, normalization
|
||||||
(sim_name(12, 1, 400, "5e10"), "fwd_40_12_3_1_5e10", 17000),
|
(SimParams(12, 1, 400, "5e10"), "fwd_40_12_3_1_5e10", 17000),
|
||||||
(sim_name(6, 1, 400, "5e10"), "fwd_40_6_3_1_5e10", 17000),
|
(SimParams(6, 1, 400, "5e10"), "fwd_40_6_3_1_5e10", 17000),
|
||||||
(sim_name(6, 3, 400, "5e10"), "fwd_40_6_7_1_5e10", 15000),
|
(SimParams(6, 3, 400, "5e10"), "fwd_40_6_7_1_5e10", 15000),
|
||||||
|
|
||||||
(sim_name(20, 1, 600, "3e10"), "fwd_40_600um_20_3_1_3e10", 10000),
|
(SimParams(20, 1, 600, "3e10"), "fwd_40_600um_20_3_1_3e10", 10000),
|
||||||
(sim_name(20, 1, 600, "5e10"), "fwd_40_600um_20_3_1_5e10", 19000),
|
(SimParams(20, 1, 600, "5e10"), "fwd_40_600um_20_3_1_5e10", 19000),
|
||||||
(sim_name(20, 1, 600, "1e11"), "fwd_40_600um_20_3_1_1e11", 15000),
|
(SimParams(20, 1, 600, "1e11"), "fwd_40_600um_20_3_1_1e11", 15000),
|
||||||
(sim_name(20, 1, 600, "2e11"), "fwd_40_600um_20_3_1_2e11", 15000),
|
(SimParams(20, 1, 600, "2e11"), "fwd_40_600um_20_3_1_2e11", 15000),
|
||||||
(sim_name(12, 2, 600, "5e10"), "fwd_40_600um_12_5_1_5e10", 12000),
|
(SimParams(12, 2, 600, "5e10"), "fwd_40_600um_12_5_1_5e10", 12000),
|
||||||
(sim_name(12, 2, 600, "1e11"), "fwd_40_600um_12_5_1_1e11", 14000),
|
(SimParams(12, 2, 600, "1e11"), "fwd_40_600um_12_5_1_1e11", 14000),
|
||||||
(sim_name(12, 2, 600, "2e11"), "fwd_40_600um_12_5_1_2e11", 14000),
|
(SimParams(12, 2, 600, "2e11"), "fwd_40_600um_12_5_1_2e11", 14000),
|
||||||
(sim_name(8, 3, 600, "5e10"), "fwd_40_600um_8_7_1_5e10", 12000),
|
(SimParams(8, 3, 600, "5e10"), "fwd_40_600um_8_7_1_5e10", 12000),
|
||||||
(sim_name(8, 3, 600, "1e11"), "fwd_40_600um_8_7_1_1e11", 12000),
|
(SimParams(8, 3, 600, "1e11"), "fwd_40_600um_8_7_1_1e11", 12000),
|
||||||
(sim_name(6, 4, 600, "5e10"), "fwd_40_600um_6_9_1_5e10", 12000),
|
(SimParams(6, 4, 600, "5e10"), "fwd_40_600um_6_9_1_5e10", 12000),
|
||||||
(sim_name(6, 4, 600, "1e11"), "fwd_40_600um_6_9_1_1e11", 12000),
|
(SimParams(6, 4, 600, "1e11"), "fwd_40_600um_6_9_1_1e11", 12000),
|
||||||
(sim_name(6, 5, 600, "5e10"), "fwd_40_600um_6_11_1_5e10", 10000),
|
(SimParams(6, 5, 600, "5e10"), "fwd_40_600um_6_11_1_5e10", 10000),
|
||||||
|
|
||||||
(sim_name(6, 3, 600, "5e10"), "fwd_40_600um_6_7_1_5e10", 20000),
|
(SimParams(6, 3, 600, "5e10"), "fwd_40_600um_6_7_1_5e10", 20000),
|
||||||
# (sim_name(10, 3, 600, "5e10"), "fwd_40_600um_10_7_1_5e10", 20000),
|
# (SimParams(10, 3, 600, "5e10"), "fwd_40_600um_10_7_1_5e10", 20000),
|
||||||
(sim_name(6, 2, 600, "5e10"), "fwd_40_600um_6_5_1_5e10", 20000),
|
(SimParams(6, 2, 600, "5e10"), "fwd_40_600um_6_5_1_5e10", 20000),
|
||||||
(sim_name(8, 2, 600, "5e10"), "fwd_40_600um_8_5_1_5e10", 20000),
|
(SimParams(8, 2, 600, "5e10"), "fwd_40_600um_8_5_1_5e10", 20000),
|
||||||
(sim_name(10, 2, 600, "5e10"), "fwd_40_600um_10_5_1_5e10", 20000),
|
(SimParams(10, 2, 600, "5e10"), "fwd_40_600um_10_5_1_5e10", 20000),
|
||||||
|
|
||||||
# partially complete
|
# partially complete
|
||||||
(sim_name(24, 1, 800, "1e11"), "fwd_40_800um_24_3_1_1e11", 12000),
|
(SimParams(24, 1, 800, "1e11"), "fwd_40_800um_24_3_1_1e11", 12000),
|
||||||
(sim_name(18, 2, 800, "1e11"), "fwd_40_800um_18_5_1_1e11", 10000),
|
(SimParams(18, 2, 800, "1e11"), "fwd_40_800um_18_5_1_1e11", 10000),
|
||||||
(sim_name(18, 2, 800, "5e10"), "fwd_40_800um_18_5_1_5e10", 10000),
|
(SimParams(18, 2, 800, "5e10"), "fwd_40_800um_18_5_1_5e10", 10000),
|
||||||
(sim_name(12, 3, 800, "5e10"), "fwd_40_800um_12_7_1_5e10", 8000),
|
(SimParams(12, 3, 800, "5e10"), "fwd_40_800um_12_7_1_5e10", 8000),
|
||||||
(sim_name(12, 3, 800, "1e11"), "fwd_40_800um_12_7_1_1e11", 8000),
|
(SimParams(12, 3, 800, "1e11"), "fwd_40_800um_12_7_1_1e11", 8000),
|
||||||
(sim_name(10, 4, 800, "2e11"), "fwd_40_800um_10_9_1_2e11", 8000),
|
(SimParams(10, 4, 800, "2e11"), "fwd_40_800um_10_9_1_2e11", 8000),
|
||||||
(sim_name(10, 4, 800, "5e10"), "fwd_40_800um_10_9_1_5e10", 8000),
|
(SimParams(10, 4, 800, "5e10"), "fwd_40_800um_10_9_1_5e10", 8000),
|
||||||
(sim_name(10, 4, 800, "1e11"), "fwd_40_800um_10_9_1_1e11", 8000),
|
(SimParams(10, 4, 800, "1e11"), "fwd_40_800um_10_9_1_1e11", 8000),
|
||||||
(sim_name(12, 2, 800, "5e10"), "fwd_40_800um_12_5_1_5e10", 8000),
|
(SimParams(12, 2, 800, "5e10"), "fwd_40_800um_12_5_1_5e10", 8000),
|
||||||
(sim_name(12, 2, 800, "1e11"), "fwd_40_800um_12_5_1_1e11", 8000),
|
(SimParams(12, 2, 800, "1e11"), "fwd_40_800um_12_5_1_1e11", 8000),
|
||||||
]
|
]
|
||||||
|
|
||||||
measurements = { real: [human, norm, None, None] for (real, human, norm) in sims }
|
measurements = { real.machine_name: [human, norm, None, None] for (real, human, norm) in sims }
|
||||||
|
|
||||||
def set_meas(real: str, expr: str):
|
def set_meas(real: str, expr: str):
|
||||||
pw = eval(expr)
|
pw = eval(expr)
|
||||||
@@ -77,7 +95,7 @@ def try_measure(real: str):
|
|||||||
|
|
||||||
def update_all():
|
def update_all():
|
||||||
for (real, _human, _norm) in sims:
|
for (real, _human, _norm) in sims:
|
||||||
try_measure(real)
|
try_measure(real.machine_name)
|
||||||
|
|
||||||
def dump(path: str):
|
def dump(path: str):
|
||||||
orig = open(path).read()
|
orig = open(path).read()
|
||||||
@@ -87,9 +105,9 @@ def dump(path: str):
|
|||||||
f.write(prelude)
|
f.write(prelude)
|
||||||
f.write(marker)
|
f.write(marker)
|
||||||
for (real, _human, _norm) in sims:
|
for (real, _human, _norm) in sims:
|
||||||
encoded = measurements[real][2]
|
encoded = measurements[real.machine_name][2]
|
||||||
if encoded:
|
if encoded:
|
||||||
f.write(f"\n\nset_meas(\"{real}\", \"\"\"{encoded}\"\"\")")
|
f.write(f"\n\nset_meas(\"{real.machine_name}\", \"\"\"{encoded}\"\"\")")
|
||||||
|
|
||||||
f.write("\n\nif __name__ == '__main__': main()\n")
|
f.write("\n\nif __name__ == '__main__': main()\n")
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user