minimize_mismatch module

Hold mismatch related functions.

It has its own module as this quantity is pretty specific.

class MinimizeMismatch(name: str, weight: float, get_key: str, get_kwargs: dict[str, Element | str | bool], reference: SimulationOutput, descriptor: str | None = None)

Bases: Objective

Minimize a mismatch factor.

__init__(name: str, weight: float, get_key: str, get_kwargs: dict[str, Element | str | bool], reference: SimulationOutput, descriptor: str | None = None) None

Set complementary SimulationOutput.get() flags, reference value.

Parameters:
  • get_key (str) – Must contain ‘twiss’ plus the name of a phase-space, or simply ‘twiss’ and the phase-space is defined in get_kwargs.

  • get_kwargs (dict[str, Element | str | bool]) – Keyword arguments for the SimulationOutput.get() method. We do not check its validity, but in general you will want to define the keys elt and pos. You should also define the phase_space_name key if it is not defined in the get_key.

  • reference (SimulationOutput) – The reference simulation output from which the Twiss parameters will be taken.

base_str() str

Tell nature and position of objective.

__str__() str

Give objective information value.

_twiss_getter(simulation_output: SimulationOutput) ndarray

Get desired value using SimulationOutput.get() method.

evaluate(simulation_output: SimulationOutput) float

Compute residue of this objective.

Parameters:

simulation_output (SimulationOutput | float) – Object containing simulation results of the broken linac.

Returns:

residue – Difference between current evaluation and ideal_value value for self.name, scaled by self.weight.

Return type:

float

_compute_residues(twiss_fix: ndarray) float

Compute the residues.

_abc_impl = <_abc._abc_data object at 0x7f36f755eac0>