From 0a204aafe19d9f4bb5019000f7391a70c8e1e497 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Sierro?= Date: Thu, 19 Oct 2023 10:56:52 +0200 Subject: [PATCH] removed useless parameters, removed some defaults --- pyproject.toml | 2 +- src/scgenerator/parameter.py | 29 ++++++++++++----------------- src/scgenerator/physics/pulse.py | 14 ++------------ 3 files changed, 15 insertions(+), 30 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 13de4ba..f66d7f1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "scgenerator" -version = "0.3.21" +version = "0.3.22" description = "Simulate nonlinear pulse propagation in optical fibers" readme = "README.md" authors = [{ name = "Benoit Sierro", email = "benoit.sierro@iap.unibe.ch" }] diff --git a/src/scgenerator/parameter.py b/src/scgenerator/parameter.py index 3195141..40fc492 100644 --- a/src/scgenerator/parameter.py +++ b/src/scgenerator/parameter.py @@ -306,7 +306,7 @@ class Parameters: frozen: bool = field(init=False, default=False, repr=False) # root - name: str = Parameter(string, default="no name") + name: str = Parameter(string) # fiber input_transmission: float = Parameter(in_range_incl(0, 1), default=1.0) @@ -322,8 +322,8 @@ class Parameters: pcf_pitch: float = Parameter(in_range_excl(0, 1e-3), unit="m") pcf_pitch_ratio: float = Parameter(in_range_excl(0, 1)) core_radius: float = Parameter(in_range_excl(0, 1e-3), unit="m") - he_mode: tuple[int, int] = Parameter(int_pair, default=(1, 1)) - fit_parameters: tuple[int, int] = Parameter(float_pair, default=(0.08, 200e-9)) + he_mode: tuple[int, int] = Parameter(int_pair) + fit_parameters: tuple[int, int] = Parameter(float_pair) beta2_coefficients: Iterable[float] = Parameter(num_list) dispersion_file: DataFile = Parameter(DataFile.validate) model: str = Parameter( @@ -338,31 +338,30 @@ class Parameters: capillary_resonance_strengths: Iterable[float] = Parameter( validator_list(type_checker(int, float, np.ndarray)) ) - capillary_resonance_max_order: int = Parameter(non_negative(*integer), default=0) - capillary_nested: int = Parameter(non_negative(*integer), default=0) + capillary_resonance_max_order: int = Parameter(non_negative(*integer)) + capillary_nested: int = Parameter(non_negative(*integer)) # gas - gas_name: str = Parameter(low_string, default="vacuum") + gas_name: str = Parameter(low_string) pressure: float = Parameter(non_negative(*number), unit="bar") pressure_in: float = Parameter(non_negative(*number), unit="bar") pressure_out: float = Parameter(non_negative(*number), unit="bar") - temperature: float = Parameter(positive(*number), unit="K", default=300) - plasma_density: float = Parameter(non_negative(*number), default=0) + temperature: float = Parameter(positive(*number), unit="K") + plasma_density: float = Parameter(non_negative(*number)) # pulse field_file: DataFile = Parameter(DataFile.validate) input_time: np.ndarray = Parameter(type_checker(np.ndarray)) input_field: np.ndarray = Parameter(type_checker(np.ndarray)) - repetition_rate: float = Parameter(non_negative(*number), unit="Hz", default=40e6) + repetition_rate: float = Parameter(non_negative(*number), unit="Hz") peak_power: float = Parameter(positive(*number), unit="W") mean_power: float = Parameter(positive(*number), unit="W") energy: float = Parameter(positive(*number), unit="J") soliton_num: float = Parameter(non_negative(*number)) - additional_noise_factor: float = Parameter(positive(*number), default=1) - shape: str = Parameter(literal("gaussian", "sech"), default="gaussian") + shape: str = Parameter(literal("gaussian", "sech")) wavelength: float = Parameter(in_range_incl(100e-9, 10000e-9), unit="m") - intensity_noise: float = Parameter(in_range_incl(0, 1), unit="%", default=0) - noise_correlation: float = Parameter(in_range_incl(-10, 10), default=0) + intensity_noise: float = Parameter(in_range_incl(0, 1), unit="%") + noise_correlation: float = Parameter(in_range_incl(-10, 10)) width: float = Parameter(in_range_excl(0, 1e-9), unit="s") t0: float = Parameter(in_range_excl(0, 1e-9), unit="s") delay: float = Parameter(type_checker(*number), unit="s") @@ -394,10 +393,6 @@ class Parameters: interpolation_degree: int = Parameter( validator_and(type_checker(*integer), in_range_incl(2, 18)) ) - prev_sim_dir: str = Parameter(string) - recovery_last_stored: int = Parameter(non_negative(*integer), default=0) - parallel: bool = Parameter(boolean, default=True) - worker_num: int = Parameter(positive(*integer)) # computed linear_operator: VariableQuantity = Parameter(is_function, can_pickle=False) diff --git a/src/scgenerator/physics/pulse.py b/src/scgenerator/physics/pulse.py index 3d558f1..4ac72ed 100644 --- a/src/scgenerator/physics/pulse.py +++ b/src/scgenerator/physics/pulse.py @@ -395,9 +395,6 @@ def adjust_custom_field( input_time: np.ndarray, input_field: np.ndarray, t: np.ndarray, - delay: float | None = None, - intensity_noise: float | None = None, - noise_correlation: float | None = None, energy: float | None = None, peak_power: float = None, ) -> np.ndarray: @@ -440,9 +437,7 @@ def adjust_custom_field( else: raise ValueError("Not enough parameters specified to load custom field correctly") - field_0 = field_0 * modify_field_ratio( - t, field_0, peak_power, energy, intensity_noise, noise_correlation - ) + field_0 = field_0 * modify_field_ratio(t, field_0, peak_power, energy) width, peak_power, energy = measure_field(t, field_0) return field_0, peak_power, energy, width @@ -563,16 +558,11 @@ def finalize_pulse( w: np.ndarray, dt: float, input_transmission: float, - intensity_noise: float | None, ) -> np.ndarray: if quantum_noise: pre_field_0 = pre_field_0 + shot_noise(w, dt) - ratio = 1 - if intensity_noise is not None: - d_int, _ = technical_noise(intensity_noise, 0) - ratio *= np.sqrt(d_int) - return np.sqrt(input_transmission) * pre_field_0 * ratio + return np.sqrt(input_transmission) * pre_field_0 def A_to_C(A: np.ndarray, effective_area_arr: np.ndarray) -> np.ndarray: