misc
This commit is contained in:
@@ -249,5 +249,5 @@ upper_wavelength_interp_limit: float
|
||||
sets the lowest end of this range. If the set value is higher than the higher end of the
|
||||
wavelength window, it is lowered down to that point. default : 1900e-9
|
||||
|
||||
interp_degree: int
|
||||
interpolation_degree: int
|
||||
max degree of the Taylor polynomial fitting the dispersion data
|
||||
|
||||
@@ -26,7 +26,7 @@ default_parameters = dict(
|
||||
tolerated_error=1e-11,
|
||||
lower_wavelength_interp_limit=100e-9,
|
||||
upper_wavelength_interp_limit=2000e-9,
|
||||
interp_degree=8,
|
||||
interpolation_degree=8,
|
||||
ideal_gas=False,
|
||||
recovery_last_stored=0,
|
||||
)
|
||||
|
||||
@@ -241,7 +241,7 @@ class Config(BareConfig):
|
||||
"repeat",
|
||||
"lower_wavelength_interp_limit",
|
||||
"upper_wavelength_interp_limit",
|
||||
"interp_degree",
|
||||
"interpolation_degree",
|
||||
"ideal_gas",
|
||||
"recovery_last_stored",
|
||||
]:
|
||||
@@ -701,7 +701,7 @@ def build_sim_grid_in_place(params: BareParams):
|
||||
params.length,
|
||||
params.z_num,
|
||||
params.wavelength,
|
||||
params.interp_degree,
|
||||
params.interpolation_degree,
|
||||
params.time_window,
|
||||
params.t_num,
|
||||
params.dt,
|
||||
|
||||
@@ -674,9 +674,7 @@ def compute_custom_A_eff(params: BareParams) -> np.ndarray:
|
||||
data = np.load(params.A_eff_file)
|
||||
A_eff = data["A_eff"]
|
||||
wl = data["wavelength"]
|
||||
return interp1d(
|
||||
wl, A_eff, fill_value=(A_eff[wl.argmin()], A_eff[wl.argmax()]), bounds_error=False
|
||||
)(params.l)
|
||||
return interp1d(wl, A_eff, fill_value=1, bounds_error=False)(params.l)
|
||||
|
||||
|
||||
def compute_loss(params: BareParams) -> Optional[np.ndarray]:
|
||||
@@ -750,7 +748,7 @@ def compute_dispersion(params: BareParams) -> tuple[np.ndarray, np.ndarray, tupl
|
||||
params.w0,
|
||||
params.interp_range,
|
||||
material_dico,
|
||||
params.interp_degree,
|
||||
params.interpolation_degree,
|
||||
)
|
||||
else:
|
||||
beta2 = HCPCF_dispersion(
|
||||
@@ -781,7 +779,7 @@ def compute_dispersion(params: BareParams) -> tuple[np.ndarray, np.ndarray, tupl
|
||||
beta2 += plasma_dispersion(lambda_, params.plasma_density)
|
||||
|
||||
beta2_coef = dispersion_coefficients(
|
||||
lambda_, beta2, params.w0, params.interp_range, params.interp_degree
|
||||
lambda_, beta2, params.w0, params.interp_range, params.interpolation_degree
|
||||
)
|
||||
|
||||
if gamma is None:
|
||||
|
||||
@@ -13,7 +13,6 @@ from ..errors import IncompleteDataFolderError
|
||||
from ..logger import get_logger
|
||||
from . import pulse
|
||||
from .fiber import create_non_linear_op, fast_dispersion_op
|
||||
from scgenerator.physics import fiber
|
||||
|
||||
try:
|
||||
import ray
|
||||
@@ -105,22 +104,22 @@ class RK4IP:
|
||||
if "raman" in self.behaviors and self.alpha is not None:
|
||||
self.logger.debug("Conserved quantity : photon number with loss")
|
||||
self.conserved_quantity_func = lambda spectrum, h: pulse.photon_number_with_loss(
|
||||
spectrum, self.w, self.dw, self.gamma, self.alpha, h
|
||||
self.C_to_A_factor * spectrum, self.w, self.dw, self.gamma, self.alpha, h
|
||||
)
|
||||
elif "raman" in self.behaviors:
|
||||
self.logger.debug("Conserved quantity : photon number without loss")
|
||||
self.conserved_quantity_func = lambda spectrum, h: pulse.photon_number(
|
||||
spectrum, self.w, self.dw, self.gamma
|
||||
self.C_to_A_factor * spectrum, self.w, self.dw, self.gamma
|
||||
)
|
||||
elif self.alpha is not None:
|
||||
self.logger.debug("Conserved quantity : energy with loss")
|
||||
self.conserved_quantity_func = lambda spectrum, h: pulse.pulse_energy_with_loss(
|
||||
spectrum, self.dw, self.alpha, h
|
||||
self.C_to_A_factor * spectrum, self.dw, self.alpha, h
|
||||
)
|
||||
else:
|
||||
self.logger.debug("Conserved quantity : energy without loss")
|
||||
self.conserved_quantity_func = lambda spectrum, h: pulse.pulse_energy(
|
||||
spectrum, self.dw
|
||||
self.C_to_A_factor * spectrum, self.dw
|
||||
)
|
||||
else:
|
||||
self.conserved_quantity_func = lambda spectrum, h: 0.0
|
||||
|
||||
@@ -6,6 +6,7 @@ scgenerator module but some function may be used in any python program
|
||||
|
||||
import itertools
|
||||
import multiprocessing
|
||||
import os
|
||||
import random
|
||||
import re
|
||||
import threading
|
||||
@@ -39,6 +40,7 @@ class PBars:
|
||||
) -> "PBars":
|
||||
|
||||
self.id = random.randint(100000, 999999)
|
||||
self.width = os.get_terminal_size().columns
|
||||
|
||||
if isinstance(task, abc.Iterable):
|
||||
self.iterator: Iterable[T_] = iter(task)
|
||||
@@ -58,13 +60,14 @@ class PBars:
|
||||
)
|
||||
if "print" not in env.pbar_policy():
|
||||
head_kwargs["file"] = worker_kwargs["file"] = StringIO()
|
||||
self.width = 80
|
||||
head_kwargs["desc"] = desc
|
||||
self.pbars = [tqdm(total=self.num_tot, ncols=100, ascii=False, **head_kwargs)]
|
||||
self.pbars = [tqdm(total=self.num_tot, ncols=self.width, ascii=False, **head_kwargs)]
|
||||
for i in range(1, num_sub_bars + 1):
|
||||
kwargs = {k: v for k, v in worker_kwargs.items()}
|
||||
if "desc" in kwargs:
|
||||
kwargs["desc"] = kwargs["desc"].format(worker_id=i)
|
||||
self.append(tqdm(position=i, ncols=100, ascii=False, **kwargs))
|
||||
self.append(tqdm(position=i, ncols=self.width, ascii=False, **kwargs))
|
||||
self.print_path = Path(f"progress {self.pbars[0].desc} {self.id}").resolve()
|
||||
self.close_ev = threading.Event()
|
||||
if "file" in self.policy:
|
||||
|
||||
@@ -282,11 +282,13 @@ valid_variable = {
|
||||
"wavelength",
|
||||
"intensity_noise",
|
||||
"width",
|
||||
"t0",
|
||||
"soliton_num",
|
||||
"behaviors",
|
||||
"raman_type",
|
||||
"tolerated_error",
|
||||
"step_size",
|
||||
"interpolation_degree",
|
||||
"ideal_gas",
|
||||
}
|
||||
|
||||
@@ -379,7 +381,7 @@ class BareParams:
|
||||
step_size: float = Parameter(positive(float, int))
|
||||
lower_wavelength_interp_limit: float = Parameter(in_range_incl(100e-9, 3000e-9))
|
||||
upper_wavelength_interp_limit: float = Parameter(in_range_incl(200e-9, 5000e-9))
|
||||
interp_degree: int = Parameter(positive(int))
|
||||
interpolation_degree: int = Parameter(positive(int))
|
||||
prev_sim_dir: str = Parameter(string)
|
||||
recovery_last_stored: int = Parameter(non_negative(int))
|
||||
worker_num: int = Parameter(positive(int))
|
||||
|
||||
Reference in New Issue
Block a user