removed useless parameters, removed some defaults

This commit is contained in:
Benoît Sierro
2023-10-19 10:56:52 +02:00
parent 4110579b89
commit 0a204aafe1
3 changed files with 15 additions and 30 deletions

View File

@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project] [project]
name = "scgenerator" name = "scgenerator"
version = "0.3.21" version = "0.3.22"
description = "Simulate nonlinear pulse propagation in optical fibers" description = "Simulate nonlinear pulse propagation in optical fibers"
readme = "README.md" readme = "README.md"
authors = [{ name = "Benoit Sierro", email = "benoit.sierro@iap.unibe.ch" }] authors = [{ name = "Benoit Sierro", email = "benoit.sierro@iap.unibe.ch" }]

View File

@@ -306,7 +306,7 @@ class Parameters:
frozen: bool = field(init=False, default=False, repr=False) frozen: bool = field(init=False, default=False, repr=False)
# root # root
name: str = Parameter(string, default="no name") name: str = Parameter(string)
# fiber # fiber
input_transmission: float = Parameter(in_range_incl(0, 1), default=1.0) 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: float = Parameter(in_range_excl(0, 1e-3), unit="m")
pcf_pitch_ratio: float = Parameter(in_range_excl(0, 1)) pcf_pitch_ratio: float = Parameter(in_range_excl(0, 1))
core_radius: float = Parameter(in_range_excl(0, 1e-3), unit="m") core_radius: float = Parameter(in_range_excl(0, 1e-3), unit="m")
he_mode: tuple[int, int] = Parameter(int_pair, default=(1, 1)) he_mode: tuple[int, int] = Parameter(int_pair)
fit_parameters: tuple[int, int] = Parameter(float_pair, default=(0.08, 200e-9)) fit_parameters: tuple[int, int] = Parameter(float_pair)
beta2_coefficients: Iterable[float] = Parameter(num_list) beta2_coefficients: Iterable[float] = Parameter(num_list)
dispersion_file: DataFile = Parameter(DataFile.validate) dispersion_file: DataFile = Parameter(DataFile.validate)
model: str = Parameter( model: str = Parameter(
@@ -338,31 +338,30 @@ class Parameters:
capillary_resonance_strengths: Iterable[float] = Parameter( capillary_resonance_strengths: Iterable[float] = Parameter(
validator_list(type_checker(int, float, np.ndarray)) validator_list(type_checker(int, float, np.ndarray))
) )
capillary_resonance_max_order: int = Parameter(non_negative(*integer), default=0) capillary_resonance_max_order: int = Parameter(non_negative(*integer))
capillary_nested: int = Parameter(non_negative(*integer), default=0) capillary_nested: int = Parameter(non_negative(*integer))
# gas # gas
gas_name: str = Parameter(low_string, default="vacuum") gas_name: str = Parameter(low_string)
pressure: float = Parameter(non_negative(*number), unit="bar") pressure: float = Parameter(non_negative(*number), unit="bar")
pressure_in: 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") pressure_out: float = Parameter(non_negative(*number), unit="bar")
temperature: float = Parameter(positive(*number), unit="K", default=300) temperature: float = Parameter(positive(*number), unit="K")
plasma_density: float = Parameter(non_negative(*number), default=0) plasma_density: float = Parameter(non_negative(*number))
# pulse # pulse
field_file: DataFile = Parameter(DataFile.validate) field_file: DataFile = Parameter(DataFile.validate)
input_time: np.ndarray = Parameter(type_checker(np.ndarray)) input_time: np.ndarray = Parameter(type_checker(np.ndarray))
input_field: 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") peak_power: float = Parameter(positive(*number), unit="W")
mean_power: float = Parameter(positive(*number), unit="W") mean_power: float = Parameter(positive(*number), unit="W")
energy: float = Parameter(positive(*number), unit="J") energy: float = Parameter(positive(*number), unit="J")
soliton_num: float = Parameter(non_negative(*number)) soliton_num: float = Parameter(non_negative(*number))
additional_noise_factor: float = Parameter(positive(*number), default=1) shape: str = Parameter(literal("gaussian", "sech"))
shape: str = Parameter(literal("gaussian", "sech"), default="gaussian")
wavelength: float = Parameter(in_range_incl(100e-9, 10000e-9), unit="m") wavelength: float = Parameter(in_range_incl(100e-9, 10000e-9), unit="m")
intensity_noise: float = Parameter(in_range_incl(0, 1), unit="%", default=0) intensity_noise: float = Parameter(in_range_incl(0, 1), unit="%")
noise_correlation: float = Parameter(in_range_incl(-10, 10), default=0) noise_correlation: float = Parameter(in_range_incl(-10, 10))
width: float = Parameter(in_range_excl(0, 1e-9), unit="s") width: float = Parameter(in_range_excl(0, 1e-9), unit="s")
t0: 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") delay: float = Parameter(type_checker(*number), unit="s")
@@ -394,10 +393,6 @@ class Parameters:
interpolation_degree: int = Parameter( interpolation_degree: int = Parameter(
validator_and(type_checker(*integer), in_range_incl(2, 18)) 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 # computed
linear_operator: VariableQuantity = Parameter(is_function, can_pickle=False) linear_operator: VariableQuantity = Parameter(is_function, can_pickle=False)

View File

@@ -395,9 +395,6 @@ def adjust_custom_field(
input_time: np.ndarray, input_time: np.ndarray,
input_field: np.ndarray, input_field: np.ndarray,
t: np.ndarray, t: np.ndarray,
delay: float | None = None,
intensity_noise: float | None = None,
noise_correlation: float | None = None,
energy: float | None = None, energy: float | None = None,
peak_power: float = None, peak_power: float = None,
) -> np.ndarray: ) -> np.ndarray:
@@ -440,9 +437,7 @@ def adjust_custom_field(
else: else:
raise ValueError("Not enough parameters specified to load custom field correctly") raise ValueError("Not enough parameters specified to load custom field correctly")
field_0 = field_0 * modify_field_ratio( field_0 = field_0 * modify_field_ratio(t, field_0, peak_power, energy)
t, field_0, peak_power, energy, intensity_noise, noise_correlation
)
width, peak_power, energy = measure_field(t, field_0) width, peak_power, energy = measure_field(t, field_0)
return field_0, peak_power, energy, width return field_0, peak_power, energy, width
@@ -563,16 +558,11 @@ def finalize_pulse(
w: np.ndarray, w: np.ndarray,
dt: float, dt: float,
input_transmission: float, input_transmission: float,
intensity_noise: float | None,
) -> np.ndarray: ) -> np.ndarray:
if quantum_noise: if quantum_noise:
pre_field_0 = pre_field_0 + shot_noise(w, dt) pre_field_0 = pre_field_0 + shot_noise(w, dt)
ratio = 1 return np.sqrt(input_transmission) * pre_field_0
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
def A_to_C(A: np.ndarray, effective_area_arr: np.ndarray) -> np.ndarray: def A_to_C(A: np.ndarray, effective_area_arr: np.ndarray) -> np.ndarray: