Gradient

Gradient element (thin quadrupole kick)

px -> px - kn*qx + ks*qy py -> py + kn*qy + ks*qx

class model.library.gradient.Gradient(name: str, kn: float = 0.0, ks: float = 0.0, dp: float = 0.0, output: bool = False, matrix: bool = False)[source]

Gradient element

Zero lenght element, can’t be used in insertion mode

rtype:

Gradient

property kn: torch.Tensor

Get kn

Parameters:

None

Return type:

Tensor

property ks: torch.Tensor

Get ks

Parameters:

None

Return type:

Tensor

make_matrix() tuple[torch.Tensor, torch.Tensor][source]

Generate transformation matrices (error element)

Parameters:

None

Return type:

tuple[Tensor, Tensor]

make_step() tuple[Mapping, ParametricMapping][source]

Generate integration step

Parameters:

None

Return type:

tuple[Mapping, ParametricMapping]