helper module
Set initial values/limits in DesignSpaceFactory.
- same_value_as_nominal(variable: str, reference_element: Element, **kwargs) float
Return
variablevalue inreference_element.This is generally a good initial value for optimisation.
- phi_s_limits(reference_element: Element, max_increase_sync_phase_in_percent: float, max_absolute_sync_phase_in_deg: float = 0.0, min_absolute_sync_phase_in_deg: float = -90.0, **kwargs) tuple[float, float]
Return classic limits for the synchronous phase.
Minimum is
min_absolute_sync_phase_in_deg, which is -90 degrees by default. Maximum is nominal synchronous phase +max_increase_in_percent, ormax_absolute_sync_phase_in_degwhich is 0 degrees by default.- Parameters:
reference_element (Element) – Element in its nominal tuning.
max_increase_in_percent (float) – Maximum increase of the synchronous phase in percent.
max_absolute_sync_phase_in_deg (float, optional) – Maximum absolute synchronous phase in radians. The default is 0.
min_absolute_sync_phase_in_deg (float, optional) – Minimum absolute synchronous phase in radians. The default is \(-\pi / 2\).
- Returns:
Lower and upper limits for the synchronous phase.
- Return type:
- phi_0_limits(**kwargs) tuple[float, float]
Return classic limits for the absolute or relative rf phase.
- k_e_limits(reference_element: Element, max_decrease_k_e_in_percent: float, max_increase_k_e_in_percent: float, maximum_k_e_is_calculated_wrt_maximum_k_e_of_section: bool = False, reference_elements: list[Element] | None = None, **kwargs) tuple[float, float]
Get classic limits for
k_e.- Parameters:
reference_element (Element) – The nominal element.
max_decrease_in_percent (float) – Allowed decrease in percent with respect to the nominal
k_e.max_increase_in_percent (float) – Allowed increase in percent with respect to the nominal
k_e.maximum_k_e_is_calculated_wrt_maximum_k_e_of_section (bool, optional) – Use this flag to compute allowed increase of
k_ewith respect to the maximumk_eof the section, instead of thek_eof the nominal cavity. This is what we used in [PB22]. The default is False.reference_elements (list[Element] | None) – List of the nominal elements. Must be provided if
maximum_k_e_is_calculated_wrt_maximum_k_e_of_sectionis True.
- Returns:
Lower and upper bounds for
k_e.- Return type: