element_parameters module

Define a class to hold solver parameters for CyEnvelope1D.

Almost everything is inherited from the python version of the module. The main difference is that with the Cython version, we give the transfer matrix function the name of the field map.

class ElementCyEnvelope1DParameters(length_m, n_steps, beam_kwargs, transf_mat_function=None, **kwargs)[source]

Bases: ElementEnvelope1DParameters

Hold the parameters to compute beam propagation in an Element.

has and get method inherited from ElementBeamCalculatorParameters parent class.

Parameters:
__init__(length_m, n_steps, beam_kwargs, transf_mat_function=None, **kwargs)[source]

Set the actually useful parameters.

Parameters:
Return type:

None

_proper_transfer_matrix_func(element_nature, method=None)[source]

Get the proper transfer matrix function.

Parameters:
  • element_nature (str)

  • method (Literal['RK4', 'leapfrog'] | None, default: None)

Return type:

Callable

_abc_impl = <_abc._abc_data object at 0x7318faa16180>
class DriftCyEnvelope1DParameters(elt, beam_kwargs, n_steps=1, **kwargs)[source]

Bases: DriftEnvelope1DParameters, ElementCyEnvelope1DParameters

Hold the properties to compute transfer matrix of a Drift.

As this is 1D, it is also used for Solenoid, Quad, broken FieldMap.

Parameters:
_abc_impl = <_abc._abc_data object at 0x7318fa9ce8c0>
class FieldMapCyEnvelope1DParameters(elt, method, n_steps_per_cell, solver_id, beam_kwargs, phi_s_model='historical', **kwargs)[source]

Bases: FieldMapEnvelope1DParameters, ElementCyEnvelope1DParameters

Hold the properties to compute transfer matrix of a FieldMap.

Non-accelerating cavities will use DriftEnvelope1DParameters instead.

Parameters:
__init__(elt, method, n_steps_per_cell, solver_id, beam_kwargs, phi_s_model='historical', **kwargs)[source]

Set the name of the field map and init base class.

Parameters:
Return type:

None

_abc_impl = <_abc._abc_data object at 0x7318fb94ec80>
class SuperposedFieldMapCyEnvelope1DParameters(*args, **kwargs)[source]

Bases: SuperposedFieldMapEnvelope1DParameters, ElementCyEnvelope1DParameters

Hold properties to compute transfer matrix of SuperposedFieldMap.

__init__(*args, **kwargs)[source]

Create the specific parameters for a superposed field map.

Return type:

None

_abc_impl = <_abc._abc_data object at 0x7318fb6acc40>
class BendCyEnvelope1DParameters(elt, beam_kwargs, n_steps=1, **kwargs)[source]

Bases: BendEnvelope1DParameters, ElementCyEnvelope1DParameters

Hold the specific parameters to compute Bend transfer matrix.

In particular, we define factor_1, factor_2 and factor_3 to speed-up calculations.

Parameters:
_abc_impl = <_abc._abc_data object at 0x7318fb2dc500>