Skip to content

Commit a0e147f

Browse files
committed
Docs Updates
1 parent 26f45db commit a0e147f

File tree

2 files changed

+21
-14
lines changed

2 files changed

+21
-14
lines changed

docs/source/usage/examples.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ Single Particle Dynamics
3131
examples/aperture/README.rst
3232
examples/iota_lens/README.rst
3333
examples/achromatic_spectrometer/README.rst
34+
examples/fodo_userdef/README.rst
3435
examples/fodo_programmable/README.rst
3536
examples/dogleg/README.rst
3637
examples/coupled_optics/README.rst

docs/source/usage/workflows/add_element.rst

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,25 @@ The workflows described here apply both for thin kicks or thick elements.
1010
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>`__).
1111

1212

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+
1332
Python Programmable Element
1433
---------------------------
1534

@@ -30,20 +49,7 @@ Detailed examples that show usage of the programmable element are:
3049
Detailed particle computing interfaces are presented in the `pyAMReX examples <https://pyamrex.readthedocs.io/en/latest/usage/compute.html#particles>`__.
3150

3251

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.
46-
52+
.. _usage-workflows-add-element-cxx:
4753

4854
C++ Element
4955
-----------

0 commit comments

Comments
 (0)