Element

Abstract element

Adding new elements:

  1. add new keys to library.keys if any

  2. add to command.build (build from external and serializaton)

  3. add to command.layout (graphical representation settings)

class model.library.element.Element(name: str, length: float = 0.0, dp: float = 0.0, *, alignment: bool = True, dx: float = 0.0, dy: float = 0.0, dz: float = 0.0, wx: float = 0.0, wy: float = 0.0, wz: float = 0.0, ns: int = 1, ds: float | None = None, order: int = 0, exact: bool = False, insertion: bool = False, output: bool = False, matrix: bool = False)[source]

Abstract element

property alignment: bool

Get alignment flag

Parameters:

None

Return type:

int

clone() Element[source]

Clone element

Parameters:

None

Return type:

Element

data(*, name: bool = False, alignment: bool = True) dict[str, dict[str, torch.Tensor]] | dict[str, torch.Tensor][source]

Generate default deviation data

Parameters:

None

Return type:

dict[str, dict[str,Tensor]] | dict[str,Tensor]

property dp: torch.Tensor

Get momentum deviation

Parameters:

None

Return type:

Tensor

property dx: torch.Tensor

Get dx alignment error

Parameters:

None

Return type:

Tensor

property dy: torch.Tensor

Get dy alignment error

Parameters:

None

Return type:

Tensor

property dz: torch.Tensor

Get dz alignment error

Parameters:

None

Return type:

Tensor

property exact: bool

Get exact flag

Parameters:

None

Return type:

bool

property insertion: bool

Get insertion flag

Parameters:

None

Return type:

bool

inverse() Element[source]

Inverse element

Parameters:

None

Return type:

Element

property kind: str

Get kind

Parameters:

None

Return type:

str

property length: torch.Tensor

Get length

Parameters:

None

Return type:

Tensor

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

Generate transformation matrices (error element)

Parameters:

None

Return type:

tuple[Tensor, Tensor]

abstract make_step() Mapping[source]

Generate integration step

Parameters:

None

Return type:

Mapping

property matrix: bool

Get matrix flag

Parameters:

None

Return type:

bool

property name: str

Get name

Parameters:

None

Return type:

str

property ns: int

Get number of integration steps

Parameters:

None

Return type:

int

property order: int

Get integration order

Parameters:

None

Return type:

int

property output: bool

Get output flag

Parameters:

None

Return type:

bool

property serialize: dict[str, str | int | float | bool]

Serialize element

Parameters:

None

Return type:

dict[str, str|int|float|bool]

property wx: torch.Tensor

Get wx alignment error

Parameters:

None

Return type:

Tensor

property wy: torch.Tensor

Get wy alignment error

Parameters:

None

Return type:

Tensor

property wz: torch.Tensor

Get wz alignment error

Parameters:

None

Return type:

Tensor

model.library.element.transform(element: Element, state: State, data: dict[str, torch.Tensor]) State[source]

Apply alignment errors

element: Element

element to apply error to

state: State

initial input state

data: dict[str, Tensor]

deviation and alignment table