better wavelength_window rules
This commit is contained in:
@@ -465,7 +465,7 @@ default_rules: list[Rule] = [
|
|||||||
Rule("w_num", len, ["w"]),
|
Rule("w_num", len, ["w"]),
|
||||||
Rule("dw", lambda w: w[1] - w[0]),
|
Rule("dw", lambda w: w[1] - w[0]),
|
||||||
Rule(["fft", "ifft"], utils.fft_functions, priorities=1),
|
Rule(["fft", "ifft"], utils.fft_functions, priorities=1),
|
||||||
Rule("wavelength_window", lambda dt: (max(100e-9, 2 * units.c * dt), 8e-6)),
|
Rule("wavelength_window", lambda dt, wavelength: (math.min_wl_from_dt(dt, wavelength), 8e-6)),
|
||||||
Rule("wavelength_window", fiber.valid_wavelength_window),
|
Rule("wavelength_window", fiber.valid_wavelength_window),
|
||||||
Rule("dispersion_ind", fiber.dispersion_indices),
|
Rule("dispersion_ind", fiber.dispersion_indices),
|
||||||
# Pulse
|
# Pulse
|
||||||
|
|||||||
@@ -271,7 +271,11 @@ def iwspace(w: np.ndarray, retstep: bool = False):
|
|||||||
|
|
||||||
|
|
||||||
def dt_from_min_wl(wl_min: float, wavelength: float) -> float:
|
def dt_from_min_wl(wl_min: float, wavelength: float) -> float:
|
||||||
return 0.5 * 1 / c * 1 / (1 / wl_min - 1 / wavelength)
|
return 0.5 / c / (1 / wl_min - 1 / wavelength)
|
||||||
|
|
||||||
|
|
||||||
|
def min_wl_from_dt(dt: float, wavelength: float) -> float:
|
||||||
|
return wavelength / (1 + wavelength / (2 * c * dt))
|
||||||
|
|
||||||
|
|
||||||
def _dt_from_wl_window(wavelength_window: tuple[float, float], wavelength: float) -> float:
|
def _dt_from_wl_window(wavelength_window: tuple[float, float], wavelength: float) -> float:
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ PARAMS = dict(
|
|||||||
# fiber
|
# fiber
|
||||||
dispersion_file="./PM2000D_2 extrapolated 4 0.npz",
|
dispersion_file="./PM2000D_2 extrapolated 4 0.npz",
|
||||||
effective_area_file="./PM2000D_A_eff_marcuse.npz",
|
effective_area_file="./PM2000D_A_eff_marcuse.npz",
|
||||||
wavelength_window=(400e-9, 4000e-9),
|
|
||||||
n2=4.5e-20,
|
n2=4.5e-20,
|
||||||
# simulation
|
# simulation
|
||||||
raman_type="measured",
|
raman_type="measured",
|
||||||
|
|||||||
Reference in New Issue
Block a user