You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/source/usage/workflows/add_element.rst
+20-14Lines changed: 20 additions & 14 deletions
Original file line number
Diff line number
Diff line change
@@ -10,6 +10,25 @@ The workflows described here apply both for thin kicks or thick elements.
10
10
Thick elements can also use soft-edged fringe fields (see `existing soft-edged elements for implementation details <https://github.com/ECP-WarpX/impactx/tree/development/src/particles/elements>`__).
11
11
12
12
13
+
.. _usage-workflows-add-element-linmap:
14
+
15
+
Linear Map
16
+
----------
17
+
18
+
A custom linear element can be provided by specifying the 6x6 linear transport matrix :math:`R` as an input.
19
+
See the :ref:` example <examples-fodo-userdef>` for Python and inputs file syntax to specify a custom linear element.
20
+
21
+
The entries of the transport matrix are ordered for multiplication with the beam vector :math:`x,px,y,py,t,pt`.
22
+
The units of the transport matrix :math:`R` elements are... TODO
23
+
24
+
.. note::
25
+
26
+
Note that generally, if a user-provided linear map is used, the beam transport may not be symplectic.
27
+
Thus, where symplecticity is needed, the :ref:`Python Programmable Element <usage-workflows-add-element-python>` and the :ref:`C++ Element <usage-workflows-add-element-cxx>` provide a more general approach.
28
+
29
+
30
+
.. _usage-workflows-add-element-python:
31
+
13
32
Python Programmable Element
14
33
---------------------------
15
34
@@ -30,20 +49,7 @@ Detailed examples that show usage of the programmable element are:
30
49
Detailed particle computing interfaces are presented in the `pyAMReX examples <https://pyamrex.readthedocs.io/en/latest/usage/compute.html#particles>`__.
31
50
32
51
33
-
Linear Map
34
-
----------
35
-
36
-
A custom linear element can be provided by specifying the 6x6 linear transport matrix :math:`R` as an input.
37
-
See the :ref:` example <examples-fodo-userdef>` for Python and inputs file syntax to specify a custom linear element.
38
-
39
-
The entries of the transport matrix are ordered for multiplication with the beam vector :math:`x,px,y,py,t,pt`.
40
-
The units of the transport matrix :math:`R` elements are... TODO
41
-
42
-
.. note::
43
-
44
-
Note that generally, if a user-provided linear map is used, the beam transport may not be symplectic.
45
-
Thus, where symplecticity is needed, the programmable element and the C++ element provide a more general approach.
0 commit comments