add default to birefsteps
This commit is contained in:
@@ -244,8 +244,8 @@ def initialize_fiber_and_data(config, input_data_override=None):
|
|||||||
D=config["fiber"]["d"],
|
D=config["fiber"]["d"],
|
||||||
S=config["fiber"]["s"],
|
S=config["fiber"]["s"],
|
||||||
)
|
)
|
||||||
if config["fiber"]["birefsteps"] > 0:
|
if config["fiber"].get("birefsteps", 0) > 0:
|
||||||
config["fiber"]["birefseed"] = config["fiber"].get(
|
seed = config["fiber"].get(
|
||||||
"birefseed", (int(time.time() * 1000)) % 2**32
|
"birefseed", (int(time.time() * 1000)) % 2**32
|
||||||
)
|
)
|
||||||
py_fiber.birefarray = pypho.birefringence_segment.create_pmd_fibre(
|
py_fiber.birefarray = pypho.birefringence_segment.create_pmd_fibre(
|
||||||
@@ -253,7 +253,7 @@ def initialize_fiber_and_data(config, input_data_override=None):
|
|||||||
py_fiber.l / config["fiber"]["birefsteps"],
|
py_fiber.l / config["fiber"]["birefsteps"],
|
||||||
# maxDeltaD=config["fiber"]["d"]/5,
|
# maxDeltaD=config["fiber"]["d"]/5,
|
||||||
maxDeltaBeta = config["fiber"].get("max_delta_beta", 0),
|
maxDeltaBeta = config["fiber"].get("max_delta_beta", 0),
|
||||||
seed=config["fiber"]["birefseed"],
|
seed=seed,
|
||||||
)
|
)
|
||||||
c_params = pypho.cfiber.ParamsWrapper.from_fiber(
|
c_params = pypho.cfiber.ParamsWrapper.from_fiber(
|
||||||
py_fiber, max_step=1e3 if py_fiber.gamma == 0 else 200
|
py_fiber, max_step=1e3 if py_fiber.gamma == 0 else 200
|
||||||
@@ -296,7 +296,7 @@ def save_data(data, config):
|
|||||||
f"alpha = {config['fiber']['alpha']}",
|
f"alpha = {config['fiber']['alpha']}",
|
||||||
f"D = {config['fiber']['d']}",
|
f"D = {config['fiber']['d']}",
|
||||||
f"S = {config['fiber']['s']}",
|
f"S = {config['fiber']['s']}",
|
||||||
f"birefsteps = {config['fiber']['birefsteps']}",
|
f"birefsteps = {config['fiber'].get('birefsteps',0)}",
|
||||||
f"max_delta_beta = {config['fiber'].get('max_delta_beta', 0)}",
|
f"max_delta_beta = {config['fiber'].get('max_delta_beta', 0)}",
|
||||||
f"birefseed = {hex(birefseed)}" if birefseed else "; birefseed = not set",
|
f"birefseed = {hex(birefseed)}" if birefseed else "; birefseed = not set",
|
||||||
"",
|
"",
|
||||||
@@ -336,7 +336,7 @@ def save_data(data, config):
|
|||||||
config["fiber"]["d"],
|
config["fiber"]["d"],
|
||||||
config["fiber"]["s"],
|
config["fiber"]["s"],
|
||||||
f"{config['signal']['modulation'].upper()}{config['signal']['mod_order']}",
|
f"{config['signal']['modulation'].upper()}{config['signal']['mod_order']}",
|
||||||
config["fiber"]["birefsteps"],
|
config['fiber'].get('birefsteps',0),
|
||||||
config["fiber"].get("max_delta_beta", 0),
|
config["fiber"].get("max_delta_beta", 0),
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -366,7 +366,7 @@ def length_loop(config, lengths, incremental=False, bireflength=None, save=True)
|
|||||||
else:
|
else:
|
||||||
print(f"\nGenerating data for fiber length {length}m")
|
print(f"\nGenerating data for fiber length {length}m")
|
||||||
config["fiber"]["length"] = length
|
config["fiber"]["length"] = length
|
||||||
if bireflength is not None:
|
if bireflength is not None and bireflength > 0:
|
||||||
config["fiber"]["birefsteps"] = length // bireflength
|
config["fiber"]["birefsteps"] = length // bireflength
|
||||||
birefsteps_running += config["fiber"]["birefsteps"]
|
birefsteps_running += config["fiber"]["birefsteps"]
|
||||||
# set the input data to the output data of the previous run
|
# set the input data to the output data of the previous run
|
||||||
@@ -520,9 +520,15 @@ if __name__ == "__main__":
|
|||||||
add_pypho.show_log()
|
add_pypho.show_log()
|
||||||
config = get_config()
|
config = get_config()
|
||||||
|
|
||||||
# lengths = np.arange(50000, 150000+6000, 10000)
|
ranges = (10000,)
|
||||||
lengths = [10000]
|
# scales = tuple(range(1, 10))
|
||||||
length_loop(config, lengths, incremental=False, bireflength=1000, save=True)
|
scales = (1,)
|
||||||
|
lengths = [range_ * scale for range_ in ranges for scale in scales]
|
||||||
|
# lengths.append(10*max(ranges))
|
||||||
|
lengths = [*lengths, *lengths]
|
||||||
|
lengths = sorted(lengths)
|
||||||
|
|
||||||
|
length_loop(config, lengths, incremental=False, bireflength=None, save=True)
|
||||||
# birefringence is constant over coupling length -> several 100m -> bireflength=1000 (m)
|
# birefringence is constant over coupling length -> several 100m -> bireflength=1000 (m)
|
||||||
|
|
||||||
# single_run_with_plot(config, save=False)
|
# single_run_with_plot(config, save=False)
|
||||||
|
|||||||
Reference in New Issue
Block a user