diff --git a/src/scgenerator/evaluator.py b/src/scgenerator/evaluator.py index 26413b6..cd4cf84 100644 --- a/src/scgenerator/evaluator.py +++ b/src/scgenerator/evaluator.py @@ -510,10 +510,7 @@ default_rules: list[Rule] = [ Rule("beta_arr", fiber.beta), Rule("beta1_arr", fiber.beta1), Rule("beta2_arr", fiber.beta2), - Rule( - "zero_dispersion_wavelength", - lambda beta2_arr, l: l[math.argclosest(beta2_arr, 0)], - ), + Rule("zero_dispersion_wavelength", fiber.find_zdw), # Fiber nonlinearity Rule("effective_area", fiber.effective_area_pcf), Rule("effective_area", fiber.effective_area_from_V, priorities=-1), diff --git a/src/scgenerator/parameter.py b/src/scgenerator/parameter.py index 93c716d..da296e5 100644 --- a/src/scgenerator/parameter.py +++ b/src/scgenerator/parameter.py @@ -336,7 +336,7 @@ class Parameters: literal("pcf", "marcatili", "marcatili_adjusted", "hasan", "custom"), ) zero_dispersion_wavelength: float = Parameter( - in_range_incl(100e-9, 5000e-9), display_info=(1e9, "nm") + validator_list(non_negative(float, int)), display_info=(1e9, "nm") ) length: float = Parameter(non_negative(float, int), display_info=(1e2, "cm")) capillary_num: int = Parameter(positive(int))