envelope_1d module

Define class to compute beam propagation in envelope, 1D, no space-charge.

This solver is fast, but should not be used at low energies.

Almost everything is inherited from the Python version of the solver, Envelope1D.

class CyEnvelope1D(*, flag_phi_abs: bool, n_steps_per_cell: int, method: Literal['RK4', 'leapfrog'], out_folder: Path | str, default_field_map_folder: Path | str, phi_s_definition: Literal['historical', 'lagniel'] = 'historical', **kwargs)

Bases: Envelope1D

The fastest beam calculator, adapted to high energies.

flag_cython = True
__init__(*, flag_phi_abs: bool, n_steps_per_cell: int, method: Literal['RK4', 'leapfrog'], out_folder: Path | str, default_field_map_folder: Path | str, phi_s_definition: Literal['historical', 'lagniel'] = 'historical', **kwargs) None

Set the proper motion integration function, according to inputs.

_set_up_specific_factories() None

Set up the factories specific to the BeamCalculator.

This method is called in the BeamCalculator.__init__(), hence it appears only in the base BeamCalculator.

_abc_impl = <_abc._abc_data object at 0x7f36f94a3600>