envelope_3d module
Define Envelope3D, an envelope solver.
- class Envelope3D(*, flag_phi_abs, n_steps_per_cell, out_folder, default_field_map_folder, method='RK4', phi_s_definition='historical', **kwargs)[source]
Bases:
BeamCalculatorA 3D envelope solver.
- Parameters:
- flag_cython = False
- __init__(*, flag_phi_abs, n_steps_per_cell, out_folder, default_field_map_folder, method='RK4', phi_s_definition='historical', **kwargs)[source]
Set the proper motion integration function, according to inputs.
- _set_up_specific_factories()[source]
Set up the factories specific to the
BeamCalculator.This method is called in the
BeamCalculator.__init__(), hence it appears only in the baseBeamCalculator.- Return type:
- run(elts, update_reference_phase=False, **kwargs)[source]
Compute beam propagation in 3D, envelope calculation.
- Parameters:
elts (ListOfElements) – List of elements in which the beam must be propagated.
update_reference_phase (bool, optional) – To change the reference phase of cavities when it is different from the one asked in the
.toml. To use after the first calculation, ifBeamCalculator.flag_phi_absdoes not correspond toCavitySettings.reference. The default is False.
- Returns:
simulation_output – Holds energy, phase, transfer matrices (among others) packed into a single object.
- Return type:
- run_with_this(set_of_cavity_settings, elts, use_a_copy_for_nominal_settings=True)[source]
Compute beam propagation with non-nominal settings.
- Parameters:
set_of_cavity_settings (SetOfCavitySettings | None) – The new cavity settings to try. If it is None, then the cavity settings are taken from the FieldMap objects.
elts (ListOfElements) – List of elements in which the beam must be propagated.
use_a_copy_for_nominal_settings (bool, optional) – To copy the nominal
CavitySettingsand avoid altering their nominal counterpart. Set it to True during optimisation, to False when you want to keep the current settings. The default is True.
- Returns:
simulation_output – Holds energy, phase, transfer matrices (among others) packed into a single object.
- Return type:
- post_optimisation_run_with_this(optimized_cavity_settings, full_elts, **specific_kwargs)[source]
Run Envelope3D with optimized cavity settings.
With this solver, we have nothing to do, nothing to update. Just call the regular
run_with_thismethod.- Parameters:
optimized_cavity_settings (
SetOfCavitySettings)full_elts (
ListOfElements)
- Return type:
- init_solver_parameters(accelerator)[source]
Create the number of steps, meshing, transfer functions for elts.
The solver parameters are stored in the
Element’sbeam_calc_param.- Parameters:
accelerator (Accelerator) – Object which
ListOfElementsmust be initialized.- Return type:
- _abc_impl = <_abc._abc_data object at 0x73df424f67c0>
- _store_entry_phase_in_settings(phi_bunch_abs, cavity_settings)[source]
Set entry phase.
- Parameters:
phi_bunch_abs (
float)cavity_settings (
CavitySettings|Collection[CavitySettings] |None)
- Return type: