element_parameters_factory module

Create the solver parameters for CyEnvelope1D.

CY_PARAMETERS_1D = {   <class 'lightwin.core.elements.quad.Quad'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.DriftCyEnvelope1DParameters'>,     <class 'lightwin.core.elements.solenoid.Solenoid'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.DriftCyEnvelope1DParameters'>,     <class 'lightwin.core.elements.thin_steering.ThinSteering'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.DriftCyEnvelope1DParameters'>,     <class 'lightwin.core.elements.aperture.Aperture'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.DriftCyEnvelope1DParameters'>,     <class 'lightwin.core.elements.bend.Bend'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.BendCyEnvelope1DParameters'>,     <class 'lightwin.core.elements.diagnostic.Diagnostic'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.DriftCyEnvelope1DParameters'>,     <class 'lightwin.core.elements.drift.Drift'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.DriftCyEnvelope1DParameters'>,     <class 'lightwin.core.elements.edge.Edge'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.DriftCyEnvelope1DParameters'>,     <class 'lightwin.core.elements.field_maps.field_map.FieldMap'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.FieldMapCyEnvelope1DParameters'>,     <class 'lightwin.core.elements.field_maps.superposed_field_map.SuperposedFieldMap'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.SuperposedFieldMapCyEnvelope1DParameters'>}

Implemented elements; a non-implemented element will be replaced by a Drift. A warning will be raised.

class ElementCyEnvelope1DParametersFactory(method, n_steps_per_cell, solver_id, beam_kwargs, phi_s_definition='historical')[source]

Bases: ElementEnvelope1DParametersFactory

Define a method to easily create the solver parameters.

Parameters:
  • method (Literal['RK4', 'leapfrog'])

  • n_steps_per_cell (int)

  • solver_id (str)

  • beam_kwargs (BeamKwargs)

  • phi_s_definition (Literal['historical', 'lagniel'], default: 'historical')

_parameters = {   <class 'lightwin.core.elements.quad.Quad'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.DriftCyEnvelope1DParameters'>,     <class 'lightwin.core.elements.solenoid.Solenoid'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.DriftCyEnvelope1DParameters'>,     <class 'lightwin.core.elements.thin_steering.ThinSteering'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.DriftCyEnvelope1DParameters'>,     <class 'lightwin.core.elements.aperture.Aperture'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.DriftCyEnvelope1DParameters'>,     <class 'lightwin.core.elements.bend.Bend'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.BendCyEnvelope1DParameters'>,     <class 'lightwin.core.elements.diagnostic.Diagnostic'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.DriftCyEnvelope1DParameters'>,     <class 'lightwin.core.elements.drift.Drift'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.DriftCyEnvelope1DParameters'>,     <class 'lightwin.core.elements.edge.Edge'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.DriftCyEnvelope1DParameters'>,     <class 'lightwin.core.elements.field_maps.field_map.FieldMap'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.FieldMapCyEnvelope1DParameters'>,     <class 'lightwin.core.elements.field_maps.superposed_field_map.SuperposedFieldMap'>: <class 'lightwin.beam_calculation.cy_envelope_1d.element_parameters.SuperposedFieldMapCyEnvelope1DParameters'>}
run(elt)[source]

Create the proper subclass of solver parameters, instantiate it.

Note

If an Element type is not found in self.parameters, we take its mother type.

Parameters:

elt (Element) – Element under study.

Return type:

ElementCyEnvelope1DParameters

Returns:

Proper instantiated subclass of ElementCyEnvelope1DParameters.

_abc_impl = <_abc._abc_data object at 0x7318fb196700>