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:
Envelope1DThe 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 baseBeamCalculator.
- _abc_impl = <_abc._abc_data object at 0x7f36f94a3600>