BE
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch
Quadrupole example
33
BE Department Beams 33 Laurent Deniau, CERN BE/ABP, 1211 Geneva, - - PDF document
Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch Quadrupole example BE Department Beams 33 Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch Quad: Quadrupole example x k 1 > 0 y z x k 1 < 0 y z
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch
33
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch
33
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch
33
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch
33
ρ
ρ
<latexit sha1_base64="(nul)">(nul)</latexit><latexit sha1_base64="(nul)">(nul)</latexit><latexit sha1_base64="(nul)">(nul)</latexit><latexit sha1_base64="(nul)">(nul)</latexit>Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch
33
ρ
ρ
<latexit sha1_base64="(nul)">(nul)</latexit><latexit sha1_base64="(nul)">(nul)</latexit><latexit sha1_base64="(nul)">(nul)</latexit><latexit sha1_base64="(nul)">(nul)</latexit>Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch
33
ρ
ρ
<latexit sha1_base64="(nul)">(nul)</latexit><latexit sha1_base64="(nul)">(nul)</latexit><latexit sha1_base64="(nul)">(nul)</latexit><latexit sha1_base64="(nul)">(nul)</latexit>Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch
33
ρ
ρ
<latexit sha1_base64="(nul)">(nul)</latexit><latexit sha1_base64="(nul)">(nul)</latexit><latexit sha1_base64="(nul)">(nul)</latexit><latexit sha1_base64="(nul)">(nul)</latexit>Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch
33
ρ
ρ
<latexit sha1_base64="(nul)">(nul)</latexit><latexit sha1_base64="(nul)">(nul)</latexit><latexit sha1_base64="(nul)">(nul)</latexit><latexit sha1_base64="(nul)">(nul)</latexit>Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch
34
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch
34
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch
34
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch
34 reference frame
1
2
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch
34 reference frame
1
2
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch 35
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
f (x; a) = f(a) + f′(a)(x − a) + f′′(a)
n
k=0
a
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
f (x; a) = f(a) + f′(a)(x − a) + f′′(a)
n
k=0
a
TPSA coefficients
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
f (x; a) = f(a) + f′(a)(x − a) + f′′(a)
n
k=0
a
TPSA coefficients
n→∞ Rn f (x; a) = lim n→∞ f(x) − Tn f (x; a) = 0
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
f (x; a) = f(a) + f′(a)(x − a) + f′′(a)
n
k=0
a
TPSA coefficients
n→∞ Rn f (x; a) = lim n→∞ f(x) − Tn f (x; a) = 0
f (x; a)
h>0 lim n→∞ Rn f (a ± h; a) ≠ 0.
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
f (x; a) = f(a) + f′(a)(x − a) + f′′(a)
n
k=0
a
TPSA coefficients
n→∞ Rn f (x; a) = lim n→∞ f(x) − Tn f (x; a) = 0
f (x; a)
h>0 lim n→∞ Rn f (a ± h; a) ≠ 0.
f (x, y; a, b) = f(a, b) + ∂f
(a,b)
(a,b)
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
f (x; a) = f(a) + f′(a)(x − a) + f′′(a)
n
k=0
a
TPSA coefficients
n→∞ Rn f (x; a) = lim n→∞ f(x) − Tn f (x; a) = 0
f (x; a)
h>0 lim n→∞ Rn f (a ± h; a) ≠ 0.
f (x, y; a, b) = f(a, b) + ∂f
(a,b)
(a,b)
(a,b)(x − a, y − b)
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
f (x; a) = f(a) + f′(a)(x − a) + f′′(a)
n
k=0
a
TPSA coefficients
n→∞ Rn f (x; a) = lim n→∞ f(x) − Tn f (x; a) = 0
f (x; a)
h>0 lim n→∞ Rn f (a ± h; a) ≠ 0.
f (x, y; a, b) = f(a, b) + ∂f
(a,b)
(a,b)
(a,b)(x − a, y − b)
(a,b)
(a,b)
(a,b)
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
f (x; a) = f(a) + f′(a)(x − a) + f′′(a)
n
k=0
a
TPSA coefficients
n→∞ Rn f (x; a) = lim n→∞ f(x) − Tn f (x; a) = 0
f (x; a)
h>0 lim n→∞ Rn f (a ± h; a) ≠ 0.
f (x, y; a, b) = f(a, b) + ∂f
(a,b)
(a,b)
(a,b)(x − a, y − b)
(a,b)
(a,b)
(a,b)
(a,b)(x − a, y − b)
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
f (x; a) = f(a) + f′(a)(x − a) + f′′(a)
n
k=0
a
TPSA coefficients
n→∞ Rn f (x; a) = lim n→∞ f(x) − Tn f (x; a) = 0
f (x; a)
h>0 lim n→∞ Rn f (a ± h; a) ≠ 0.
f (x, y; a, b) = f(a, b) + ∂f
(a,b)
(a,b)
(a,b)(x − a, y − b)
(a,b)
(a,b)
(a,b)
(a,b)(x − a, y − b)
homogeneous polynomials
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
f (x; a) = f(a) + f′(a)(x − a) + f′′(a)
n
k=0
a
TPSA coefficients
n→∞ Rn f (x; a) = lim n→∞ f(x) − Tn f (x; a) = 0
f (x; a)
h>0 lim n→∞ Rn f (a ± h; a) ≠ 0.
f (x, y; a, b) = f(a, b) + ∂f
(a,b)
(a,b)
(a,b)(x − a, y − b)
(a,b)
(a,b)
(a,b)
(a,b)(x − a, y − b)
homogeneous polynomials f must not depend on the integration path, i.e. must derive from a potential!
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
f (x; a) = f(a) + f′(a)(x − a) + f′′(a)
n
k=0
a
TPSA coefficients
n→∞ Rn f (x; a) = lim n→∞ f(x) − Tn f (x; a) = 0
f (x; a)
h>0 lim n→∞ Rn f (a ± h; a) ≠ 0.
f (x, y; a, b) = f(a, b) + ∂f
(a,b)
(a,b)
(a,b)(x − a, y − b)
(a,b)
(a,b)
(a,b)
(a,b)(x − a, y − b)
homogeneous polynomials f must not depend on the integration path, i.e. must derive from a potential!
f (X; A) = n
k=0
A
n
k=0
| ⃗ m|=k (
⃗ m A
⃗ m with (
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
f (x; a) = f(a) + f′(a)(x − a) + f′′(a)
n
k=0
a
TPSA coefficients
n→∞ Rn f (x; a) = lim n→∞ f(x) − Tn f (x; a) = 0
f (x; a)
h>0 lim n→∞ Rn f (a ± h; a) ≠ 0.
f (x, y; a, b) = f(a, b) + ∂f
(a,b)
(a,b)
(a,b)(x − a, y − b)
(a,b)
(a,b)
(a,b)
(a,b)(x − a, y − b)
homogeneous polynomials f must not depend on the integration path, i.e. must derive from a potential!
f (X; A) = n
k=0
A
n
k=0
| ⃗ m|=k (
⃗ m A
⃗ m with (
monomials of order k
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
f (x; a) = f(a) + f′(a)(x − a) + f′′(a)
n
k=0
a
TPSA coefficients
n→∞ Rn f (x; a) = lim n→∞ f(x) − Tn f (x; a) = 0
f (x; a)
h>0 lim n→∞ Rn f (a ± h; a) ≠ 0.
f (x, y; a, b) = f(a, b) + ∂f
(a,b)
(a,b)
(a,b)(x − a, y − b)
(a,b)
(a,b)
(a,b)
(a,b)(x − a, y − b)
homogeneous polynomials f must not depend on the integration path, i.e. must derive from a potential!
f (X; A) = n
k=0
A
n
k=0
| ⃗ m|=k (
⃗ m A
⃗ m with (
monomials of order k multinomial
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
f (x; a) = f(a) + f′(a)(x − a) + f′′(a)
n
k=0
a
TPSA coefficients
n→∞ Rn f (x; a) = lim n→∞ f(x) − Tn f (x; a) = 0
f (x; a)
h>0 lim n→∞ Rn f (a ± h; a) ≠ 0.
f (x, y; a, b) = f(a, b) + ∂f
(a,b)
(a,b)
(a,b)(x − a, y − b)
(a,b)
(a,b)
(a,b)
(a,b)(x − a, y − b)
homogeneous polynomials f must not depend on the integration path, i.e. must derive from a potential!
f (X; A) = n
k=0
A
n
k=0
| ⃗ m|=k (
⃗ m A
⃗ m with (
monomials of order k multinomial TPSA coefficients
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
f (x; a) = f(a) + f′(a)(x − a) + f′′(a)
n
k=0
a
TPSA coefficients
n→∞ Rn f (x; a) = lim n→∞ f(x) − Tn f (x; a) = 0
f (x; a)
h>0 lim n→∞ Rn f (a ± h; a) ≠ 0.
f (x, y; a, b) = f(a, b) + ∂f
(a,b)
(a,b)
(a,b)(x − a, y − b)
(a,b)
(a,b)
(a,b)
(a,b)(x − a, y − b)
homogeneous polynomials f must not depend on the integration path, i.e. must derive from a potential!
f (X; A) = n
k=0
A
n
k=0
| ⃗ m|=k (
⃗ m A
⃗ m with (
monomials of order k multinomial TPSA coefficients IPAC 2015
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
f (x; a) = f(a) + f′(a)(x − a) + f′′(a)
n
k=0
a
TPSA coefficients
n→∞ Rn f (x; a) = lim n→∞ f(x) − Tn f (x; a) = 0
f (x; a)
h>0 lim n→∞ Rn f (a ± h; a) ≠ 0.
f (x, y; a, b) = f(a, b) + ∂f
(a,b)
(a,b)
(a,b)(x − a, y − b)
(a,b)
(a,b)
(a,b)
(a,b)(x − a, y − b)
homogeneous polynomials f must not depend on the integration path, i.e. must derive from a potential!
f (X; A) = n
k=0
A
n
k=0
| ⃗ m|=k (
⃗ m A
⃗ m with (
monomials of order k multinomial TPSA coefficients IPAC 2015 Github MAD
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
36
f (x; a) = f(a) + f′(a)(x − a) + f′′(a)
n
k=0
a
TPSA coefficients
n→∞ Rn f (x; a) = lim n→∞ f(x) − Tn f (x; a) = 0
f (x; a)
h>0 lim n→∞ Rn f (a ± h; a) ≠ 0.
f (x, y; a, b) = f(a, b) + ∂f
(a,b)
(a,b)
(a,b)(x − a, y − b)
(a,b)
(a,b)
(a,b)
(a,b)(x − a, y − b)
homogeneous polynomials f must not depend on the integration path, i.e. must derive from a potential!
f (X; A) = n
k=0
A
n
k=0
| ⃗ m|=k (
⃗ m A
⃗ m with (
monomials of order k multinomial TPSA coefficients IPAC 2015 Github MAD 2017-2018
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
37
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
37
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
37
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
37
from Wikipedia
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
37
from Wikipedia
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
37
from Wikipedia
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
37
from Wikipedia
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
37
from Wikipedia
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
37
from Wikipedia
f (x; a)
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
37
from Wikipedia
f (x; a + h) = n
k=0
a+h
f (x; a)
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
37
from Wikipedia
f (x; a + h) = n
k=0
a+h
n
k=0
a
f (x; a)
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
37
from Wikipedia
f (x; a + h) = n
k=0
a+h
n
k=0
a
f (a + h; a)
f (x; a)
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
37
from Wikipedia
f (x; a + h) = n
k=0
a+h
n
k=0
a
f (a + h; a)
f (x; a)
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
37
from Wikipedia
f (x; a + h) = n
k=0
a+h
n
k=0
a
a+h ≈
f (x; a)
f (a + h; a)
f (x; a)
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
37
from Wikipedia
f (x; a + h) = n
k=0
a+h
n
k=0
a
a+h ≈
f (x; a)
f (a + h; a)
f (x; a)
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
37
from Wikipedia
f (x; a + h) = n
k=0
a+h
n
k=0
a
a+h ≈
f (x; a)
f (a + h; a)
f (x; a)
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
37
from Wikipedia
f (x; a + h) = n
k=0
a+h
n
k=0
a
a+h ≈
f (x; a)
f (a + h; a)
f (x; a) Matrix codes don’t do better!
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
37
from Wikipedia
f (x; a + h) = n
k=0
a+h
n
k=0
a
a+h ≈
f (x; a)
f (a + h; a)
f (x; a) Matrix codes don’t do better!
polynomials of degree 1, 3, 5, 7, 9, 11 and 13.
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
37
from Wikipedia
f (x; a + h) = n
k=0
a+h
n
k=0
a
a+h ≈
f (x; a)
f (a + h; a)
f (x; a) Matrix codes don’t do better!
polynomials of degree 1, 3, 5, 7, 9, 11 and 13. Functions of TPSAs ≠ TPSAs as functions exact ≠ approximate
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
38
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
38
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
38
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
38
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
38
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
38
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
38
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
38
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
38
A : E (orbit)
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
38
A : E (orbit)
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
38
A : E (orbit)
A : R (matrix)
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
38
A : E (orbit)
A : R (matrix)
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
38
A : E (orbit)
A : R (matrix)
A : T* (folded tensor)
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
38
A : E (orbit)
A : R (matrix)
A : T* (folded tensor)
∂px ∂k1
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
38
A : E (orbit)
A : R (matrix)
A : T* (folded tensor)
∂px ∂k1 ∂2px ∂k2
1
∂2px ∂x∂k1
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
38
A : E (orbit)
A : R (matrix)
A : T* (folded tensor)
∂px ∂k1 ∂2px ∂k2
1
∂2px ∂x∂k1
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
38
A : E (orbit)
A : R (matrix)
A : T* (folded tensor)
∂px ∂k1 ∂2px ∂k2
1
∂2px ∂x∂k1
TPSA: homogeneous polynomials are dense (i.e. R is squared) GTPSA: homogeneous polynomials are NOT dense or include knobs
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
39
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
39
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
39
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
39
v \ n 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 2 6 12 20 30 42 56 72 90 110 132 156 182 3 12 30 60 105 168 252 360 495 660 858 1092 1365 4 20 60 140 280 504 840 1320 1980 2860 4004 5460 7280 5 30 105 280 630 1260 2310 3960 6435 10010 15015 21840 30940 6 42 168 504 1260 2772 5544 10296 18018 30030 48048 74256 111384 7 56 252 840 2310 5544 12012 24024 45045 80080 136136 222768 352716 8 72 360 1320 3960 10296 24024 51480 102960 194480 350064 604656 1007760
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
39
v \ n 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 2 6 12 20 30 42 56 72 90 110 132 156 182 3 12 30 60 105 168 252 360 495 660 858 1092 1365 4 20 60 140 280 504 840 1320 1980 2860 4004 5460 7280 5 30 105 280 630 1260 2310 3960 6435 10010 15015 21840 30940 6 42 168 504 1260 2772 5544 10296 18018 30030 48048 74256 111384 7 56 252 840 2310 5544 12012 24024 45045 80080 136136 222768 352716 8 72 360 1320 3960 10296 24024 51480 102960 194480 350064 604656 1007760
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
39
v \ n 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 2 6 12 20 30 42 56 72 90 110 132 156 182 3 12 30 60 105 168 252 360 495 660 858 1092 1365 4 20 60 140 280 504 840 1320 1980 2860 4004 5460 7280 5 30 105 280 630 1260 2310 3960 6435 10010 15015 21840 30940 6 42 168 504 1260 2772 5544 10296 18018 30030 48048 74256 111384 7 56 252 840 2310 5544 12012 24024 45045 80080 136136 222768 352716 8 72 360 1320 3960 10296 24024 51480 102960 194480 350064 604656 1007760
v \ n 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 2 6 14 30 62 126 254 510 1022 2046 4094 8190 16382 3 12 39 120 363 1092 3279 9840 29523 88572 265719 797160 2391483 4 20 84 340 1364 5460 21844 87380 349524 1398100 5592404 22369620 89478484 5 30 155 780 3905 19530 97655 488280 2441405 12207030 61035155 305175780 1525878905 6 42 258 1554 9330 55986 335922 2015538 12093234 72559410 435356466 2612138802 15672832818 7 56 399 2800 19607 137256 960799 6725600 47079207 329554456 2306881199 16148168400 113037178807 8 72 584 4680 37448 299592 2396744 19173960 153391688 1227133512 9817068104 78536544840 628292358728
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
39
v \ n 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 2 6 12 20 30 42 56 72 90 110 132 156 182 3 12 30 60 105 168 252 360 495 660 858 1092 1365 4 20 60 140 280 504 840 1320 1980 2860 4004 5460 7280 5 30 105 280 630 1260 2310 3960 6435 10010 15015 21840 30940 6 42 168 504 1260 2772 5544 10296 18018 30030 48048 74256 111384 7 56 252 840 2310 5544 12012 24024 45045 80080 136136 222768 352716 8 72 360 1320 3960 10296 24024 51480 102960 194480 350064 604656 1007760
v \ n 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 2 6 14 30 62 126 254 510 1022 2046 4094 8190 16382 3 12 39 120 363 1092 3279 9840 29523 88572 265719 797160 2391483 4 20 84 340 1364 5460 21844 87380 349524 1398100 5592404 22369620 89478484 5 30 155 780 3905 19530 97655 488280 2441405 12207030 61035155 305175780 1525878905 6 42 258 1554 9330 55986 335922 2015538 12093234 72559410 435356466 2612138802 15672832818 7 56 399 2800 19607 137256 960799 6725600 47079207 329554456 2306881199 16148168400 113037178807 8 72 584 4680 37448 299592 2396744 19173960 153391688 1227133512 9817068104 78536544840 628292358728
n
k=0
v − 1
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
39
v \ n 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 2 6 12 20 30 42 56 72 90 110 132 156 182 3 12 30 60 105 168 252 360 495 660 858 1092 1365 4 20 60 140 280 504 840 1320 1980 2860 4004 5460 7280 5 30 105 280 630 1260 2310 3960 6435 10010 15015 21840 30940 6 42 168 504 1260 2772 5544 10296 18018 30030 48048 74256 111384 7 56 252 840 2310 5544 12012 24024 45045 80080 136136 222768 352716 8 72 360 1320 3960 10296 24024 51480 102960 194480 350064 604656 1007760
v \ n 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 2 6 14 30 62 126 254 510 1022 2046 4094 8190 16382 3 12 39 120 363 1092 3279 9840 29523 88572 265719 797160 2391483 4 20 84 340 1364 5460 21844 87380 349524 1398100 5592404 22369620 89478484 5 30 155 780 3905 19530 97655 488280 2441405 12207030 61035155 305175780 1525878905 6 42 258 1554 9330 55986 335922 2015538 12093234 72559410 435356466 2612138802 15672832818 7 56 399 2800 19607 137256 960799 6725600 47079207 329554456 2306881199 16148168400 113037178807 8 72 584 4680 37448 299592 2396744 19173960 153391688 1227133512 9817068104 78536544840 628292358728
n
k=0
v − 1
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
39
v \ n 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 2 6 12 20 30 42 56 72 90 110 132 156 182 3 12 30 60 105 168 252 360 495 660 858 1092 1365 4 20 60 140 280 504 840 1320 1980 2860 4004 5460 7280 5 30 105 280 630 1260 2310 3960 6435 10010 15015 21840 30940 6 42 168 504 1260 2772 5544 10296 18018 30030 48048 74256 111384 7 56 252 840 2310 5544 12012 24024 45045 80080 136136 222768 352716 8 72 360 1320 3960 10296 24024 51480 102960 194480 350064 604656 1007760
v \ n 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 2 6 14 30 62 126 254 510 1022 2046 4094 8190 16382 3 12 39 120 363 1092 3279 9840 29523 88572 265719 797160 2391483 4 20 84 340 1364 5460 21844 87380 349524 1398100 5592404 22369620 89478484 5 30 155 780 3905 19530 97655 488280 2441405 12207030 61035155 305175780 1525878905 6 42 258 1554 9330 55986 335922 2015538 12093234 72559410 435356466 2612138802 15672832818 7 56 399 2800 19607 137256 960799 6725600 47079207 329554456 2306881199 16148168400 113037178807 8 72 584 4680 37448 299592 2396744 19173960 153391688 1227133512 9817068104 78536544840 628292358728
n
k=0
v − 1
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
39
v \ n 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 2 6 12 20 30 42 56 72 90 110 132 156 182 3 12 30 60 105 168 252 360 495 660 858 1092 1365 4 20 60 140 280 504 840 1320 1980 2860 4004 5460 7280 5 30 105 280 630 1260 2310 3960 6435 10010 15015 21840 30940 6 42 168 504 1260 2772 5544 10296 18018 30030 48048 74256 111384 7 56 252 840 2310 5544 12012 24024 45045 80080 136136 222768 352716 8 72 360 1320 3960 10296 24024 51480 102960 194480 350064 604656 1007760
v \ n 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 2 6 14 30 62 126 254 510 1022 2046 4094 8190 16382 3 12 39 120 363 1092 3279 9840 29523 88572 265719 797160 2391483 4 20 84 340 1364 5460 21844 87380 349524 1398100 5592404 22369620 89478484 5 30 155 780 3905 19530 97655 488280 2441405 12207030 61035155 305175780 1525878905 6 42 258 1554 9330 55986 335922 2015538 12093234 72559410 435356466 2612138802 15672832818 7 56 399 2800 19607 137256 960799 6725600 47079207 329554456 2306881199 16148168400 113037178807 8 72 584 4680 37448 299592 2396744 19173960 153391688 1227133512 9817068104 78536544840 628292358728
n
k=0
v − 1 TPSA manipulate
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
39
v \ n 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 2 6 12 20 30 42 56 72 90 110 132 156 182 3 12 30 60 105 168 252 360 495 660 858 1092 1365 4 20 60 140 280 504 840 1320 1980 2860 4004 5460 7280 5 30 105 280 630 1260 2310 3960 6435 10010 15015 21840 30940 6 42 168 504 1260 2772 5544 10296 18018 30030 48048 74256 111384 7 56 252 840 2310 5544 12012 24024 45045 80080 136136 222768 352716 8 72 360 1320 3960 10296 24024 51480 102960 194480 350064 604656 1007760
v \ n 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 13 2 6 14 30 62 126 254 510 1022 2046 4094 8190 16382 3 12 39 120 363 1092 3279 9840 29523 88572 265719 797160 2391483 4 20 84 340 1364 5460 21844 87380 349524 1398100 5592404 22369620 89478484 5 30 155 780 3905 19530 97655 488280 2441405 12207030 61035155 305175780 1525878905 6 42 258 1554 9330 55986 335922 2015538 12093234 72559410 435356466 2612138802 15672832818 7 56 399 2800 19607 137256 960799 6725600 47079207 329554456 2306881199 16148168400 113037178807 8 72 584 4680 37448 299592 2396744 19173960 153391688 1227133512 9817068104 78536544840 628292358728 TPSA are the only suitable solutions for high orders!
n
k=0
v − 1 TPSA manipulate
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
40
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
40 damap { .nv=nv or 6, -- number of map variables .xy=no or 2, -- order for xy planes .pt=no or xy, -- order for pt plane .vn=vn or {‘x’,’px’,’y’,’py’,’t’,’pt’}
} damap{ } ⟺ damap{.nv=6, .xy=2, .pt=2} damap{.xy=3} ⟺ damap{.nv=6, .xy=3, .pt=3} damap{.pt=5} ⟺ damap{.nv=6, .xy=2, .pt=5} .nv=6 ⟺ .mo={xy,xy,xy,xy,pt,pt} .nv=5 ⟺ .mo={xy,xy,xy,xy}, .ko={pt} .nv=4 ⟺ .mo={xy,xy,xy,xy}
damap with planes settings
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
40 damap { .nv=nv or 6, -- number of map variables .xy=no or 2, -- order for xy planes .pt=no or xy, -- order for pt plane .vn=vn or {‘x’,’px’,’y’,’py’,’t’,’pt’}
} damap{ } ⟺ damap{.nv=6, .xy=2, .pt=2} damap{.xy=3} ⟺ damap{.nv=6, .xy=3, .pt=3} damap{.pt=5} ⟺ damap{.nv=6, .xy=2, .pt=5} .nv=6 ⟺ .mo={xy,xy,xy,xy,pt,pt} .nv=5 ⟺ .mo={xy,xy,xy,xy}, .ko={pt} .nv=4 ⟺ .mo={xy,xy,xy,xy}
damap with planes settings
damap { .nv=nv -- number of mvars (replaced by #mo if array or string) .mo=mo -- mvars orders (number, string or array) .nk=nk -- number of knobs (replaced by #ko if array or string) .ko=ko -- knobs orders (number, string or array) .dk=dk -- knobs max Xorder (number) .vo=vo -- variables orders (string or array, variables orders) .vn=vn or {‘x’,’px’,’y’,’py’,’t’,’pt’} -- variables names } .mo={3,4} .ko={1,2} .dk=2 .vn={‘x’,’y’,’k1’,’k2’} .vo={2,3}
damap with variables settings
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
NV+NK NV
x px y py t pt
GTPSA
f (0)
A
f (1)
A
f (2)
A
knobs
0 0 0 0 0 0 1
k1
MO NV
40 damap { .nv=nv or 6, -- number of map variables .xy=no or 2, -- order for xy planes .pt=no or xy, -- order for pt plane .vn=vn or {‘x’,’px’,’y’,’py’,’t’,’pt’}
} damap{ } ⟺ damap{.nv=6, .xy=2, .pt=2} damap{.xy=3} ⟺ damap{.nv=6, .xy=3, .pt=3} damap{.pt=5} ⟺ damap{.nv=6, .xy=2, .pt=5} .nv=6 ⟺ .mo={xy,xy,xy,xy,pt,pt} .nv=5 ⟺ .mo={xy,xy,xy,xy}, .ko={pt} .nv=4 ⟺ .mo={xy,xy,xy,xy}
damap with planes settings
damap { .nv=nv -- number of mvars (replaced by #mo if array or string) .mo=mo -- mvars orders (number, string or array) .nk=nk -- number of knobs (replaced by #ko if array or string) .ko=ko -- knobs orders (number, string or array) .dk=dk -- knobs max Xorder (number) .vo=vo -- variables orders (string or array, variables orders) .vn=vn or {‘x’,’px’,’y’,’py’,’t’,’pt’} -- variables names } .mo={3,4} .ko={1,2} .dk=2 .vn={‘x’,’y’,’k1’,’k2’} .vo={2,3}
damap with variables settings
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
NV+NK NV
x px y py t pt
GTPSA
f (0)
A
f (1)
A
f (2)
A
knobs
0 0 0 0 0 0 1
k1
MO NV
40 damap { .nv=nv or 6, -- number of map variables .xy=no or 2, -- order for xy planes .pt=no or xy, -- order for pt plane .vn=vn or {‘x’,’px’,’y’,’py’,’t’,’pt’}
} damap{ } ⟺ damap{.nv=6, .xy=2, .pt=2} damap{.xy=3} ⟺ damap{.nv=6, .xy=3, .pt=3} damap{.pt=5} ⟺ damap{.nv=6, .xy=2, .pt=5} .nv=6 ⟺ .mo={xy,xy,xy,xy,pt,pt} .nv=5 ⟺ .mo={xy,xy,xy,xy}, .ko={pt} .nv=4 ⟺ .mo={xy,xy,xy,xy}
damap with planes settings
damap { .nv=nv -- number of mvars (replaced by #mo if array or string) .mo=mo -- mvars orders (number, string or array) .nk=nk -- number of knobs (replaced by #ko if array or string) .ko=ko -- knobs orders (number, string or array) .dk=dk -- knobs max Xorder (number) .vo=vo -- variables orders (string or array, variables orders) .vn=vn or {‘x’,’px’,’y’,’py’,’t’,’pt’} -- variables names } .mo={3,4} .ko={1,2} .dk=2 .vn={‘x’,’y’,’k1’,’k2’} .vo={2,3}
damap with variables settings yes: no:
2
1
2
.mo .ko
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
NV+NK NV
x px y py t pt
GTPSA
f (0)
A
f (1)
A
f (2)
A
knobs
0 0 0 0 0 0 1
k1
MO NV
40 damap { .nv=nv or 6, -- number of map variables .xy=no or 2, -- order for xy planes .pt=no or xy, -- order for pt plane .vn=vn or {‘x’,’px’,’y’,’py’,’t’,’pt’}
} damap{ } ⟺ damap{.nv=6, .xy=2, .pt=2} damap{.xy=3} ⟺ damap{.nv=6, .xy=3, .pt=3} damap{.pt=5} ⟺ damap{.nv=6, .xy=2, .pt=5} .nv=6 ⟺ .mo={xy,xy,xy,xy,pt,pt} .nv=5 ⟺ .mo={xy,xy,xy,xy}, .ko={pt} .nv=4 ⟺ .mo={xy,xy,xy,xy}
damap with planes settings
damap { .nv=nv -- number of mvars (replaced by #mo if array or string) .mo=mo -- mvars orders (number, string or array) .nk=nk -- number of knobs (replaced by #ko if array or string) .ko=ko -- knobs orders (number, string or array) .dk=dk -- knobs max Xorder (number) .vo=vo -- variables orders (string or array, variables orders) .vn=vn or {‘x’,’px’,’y’,’py’,’t’,’pt’} -- variables names } .mo={3,4} .ko={1,2} .dk=2 .vn={‘x’,’y’,’k1’,’k2’} .vo={2,3}
damap with variables settings yes: no:
2
1
2
.mo .ko
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
NV+NK NV
x px y py t pt
GTPSA
f (0)
A
f (1)
A
f (2)
A
knobs
0 0 0 0 0 0 1
k1
MO NV
40 damap { .nv=nv or 6, -- number of map variables .xy=no or 2, -- order for xy planes .pt=no or xy, -- order for pt plane .vn=vn or {‘x’,’px’,’y’,’py’,’t’,’pt’}
} damap{ } ⟺ damap{.nv=6, .xy=2, .pt=2} damap{.xy=3} ⟺ damap{.nv=6, .xy=3, .pt=3} damap{.pt=5} ⟺ damap{.nv=6, .xy=2, .pt=5} .nv=6 ⟺ .mo={xy,xy,xy,xy,pt,pt} .nv=5 ⟺ .mo={xy,xy,xy,xy}, .ko={pt} .nv=4 ⟺ .mo={xy,xy,xy,xy}
damap with planes settings
damap { .nv=nv -- number of mvars (replaced by #mo if array or string) .mo=mo -- mvars orders (number, string or array) .nk=nk -- number of knobs (replaced by #ko if array or string) .ko=ko -- knobs orders (number, string or array) .dk=dk -- knobs max Xorder (number) .vo=vo -- variables orders (string or array, variables orders) .vn=vn or {‘x’,’px’,’y’,’py’,’t’,’pt’} -- variables names } .mo={3,4} .ko={1,2} .dk=2 .vn={‘x’,’y’,’k1’,’k2’} .vo={2,3}
damap with variables settings yes: no:
2
1
2
.mo .ko
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
NV+NK NV
x px y py t pt
GTPSA
f (0)
A
f (1)
A
f (2)
A
knobs
0 0 0 0 0 0 1
k1
MO NV
40 damap { .nv=nv or 6, -- number of map variables .xy=no or 2, -- order for xy planes .pt=no or xy, -- order for pt plane .vn=vn or {‘x’,’px’,’y’,’py’,’t’,’pt’}
} damap{ } ⟺ damap{.nv=6, .xy=2, .pt=2} damap{.xy=3} ⟺ damap{.nv=6, .xy=3, .pt=3} damap{.pt=5} ⟺ damap{.nv=6, .xy=2, .pt=5} .nv=6 ⟺ .mo={xy,xy,xy,xy,pt,pt} .nv=5 ⟺ .mo={xy,xy,xy,xy}, .ko={pt} .nv=4 ⟺ .mo={xy,xy,xy,xy}
damap with planes settings
damap { .nv=nv -- number of mvars (replaced by #mo if array or string) .mo=mo -- mvars orders (number, string or array) .nk=nk -- number of knobs (replaced by #ko if array or string) .ko=ko -- knobs orders (number, string or array) .dk=dk -- knobs max Xorder (number) .vo=vo -- variables orders (string or array, variables orders) .vn=vn or {‘x’,’px’,’y’,’py’,’t’,’pt’} -- variables names } .mo={3,4} .ko={1,2} .dk=2 .vn={‘x’,’y’,’k1’,’k2’} .vo={2,3}
damap with variables settings yes: no:
2
1
2
.mo .ko
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
NV+NK NV
x px y py t pt
GTPSA
f (0)
A
f (1)
A
f (2)
A
knobs
0 0 0 0 0 0 1
k1
MO NV
40 damap { .nv=nv or 6, -- number of map variables .xy=no or 2, -- order for xy planes .pt=no or xy, -- order for pt plane .vn=vn or {‘x’,’px’,’y’,’py’,’t’,’pt’}
} damap{ } ⟺ damap{.nv=6, .xy=2, .pt=2} damap{.xy=3} ⟺ damap{.nv=6, .xy=3, .pt=3} damap{.pt=5} ⟺ damap{.nv=6, .xy=2, .pt=5} .nv=6 ⟺ .mo={xy,xy,xy,xy,pt,pt} .nv=5 ⟺ .mo={xy,xy,xy,xy}, .ko={pt} .nv=4 ⟺ .mo={xy,xy,xy,xy}
damap with planes settings
damap { .nv=nv -- number of mvars (replaced by #mo if array or string) .mo=mo -- mvars orders (number, string or array) .nk=nk -- number of knobs (replaced by #ko if array or string) .ko=ko -- knobs orders (number, string or array) .dk=dk -- knobs max Xorder (number) .vo=vo -- variables orders (string or array, variables orders) .vn=vn or {‘x’,’px’,’y’,’py’,’t’,’pt’} -- variables names } .mo={3,4} .ko={1,2} .dk=2 .vn={‘x’,’y’,’k1’,’k2’} .vo={2,3}
damap with variables settings yes: no:
2
1
2
.mo .ko
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
NV+NK NV
x px y py t pt
GTPSA
f (0)
A
f (1)
A
f (2)
A
knobs
0 0 0 0 0 0 1
k1
MO NV
40 damap { .nv=nv or 6, -- number of map variables .xy=no or 2, -- order for xy planes .pt=no or xy, -- order for pt plane .vn=vn or {‘x’,’px’,’y’,’py’,’t’,’pt’}
} damap{ } ⟺ damap{.nv=6, .xy=2, .pt=2} damap{.xy=3} ⟺ damap{.nv=6, .xy=3, .pt=3} damap{.pt=5} ⟺ damap{.nv=6, .xy=2, .pt=5} .nv=6 ⟺ .mo={xy,xy,xy,xy,pt,pt} .nv=5 ⟺ .mo={xy,xy,xy,xy}, .ko={pt} .nv=4 ⟺ .mo={xy,xy,xy,xy}
damap with planes settings
damap { .nv=nv -- number of mvars (replaced by #mo if array or string) .mo=mo -- mvars orders (number, string or array) .nk=nk -- number of knobs (replaced by #ko if array or string) .ko=ko -- knobs orders (number, string or array) .dk=dk -- knobs max Xorder (number) .vo=vo -- variables orders (string or array, variables orders) .vn=vn or {‘x’,’px’,’y’,’py’,’t’,’pt’} -- variables names } .mo={3,4} .ko={1,2} .dk=2 .vn={‘x’,’y’,’k1’,’k2’} .vo={2,3}
damap with variables settings yes: no:
2
1
2
.mo .ko
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
41
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
41
x y) .
i=1 ∂x ∂qi ∂y ∂pi − ∂x ∂pi ∂y ∂qi .
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
41
x y) .
i=1 ∂x ∂qi ∂y ∂pi − ∂x ∂pi ∂y ∂qi .
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
41
x y) .
i=1 ∂x ∂qi ∂y ∂pi − ∂x ∂pi ∂y ∂qi .
~6000 lines in C ~2500 lines in MAD
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
42
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva 23, laurent.deniau@cern.ch
42
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch
43 MAD-NG Core (VM+JIT+FFI) Linear ToolBox Real & Complex Vector & Matrix Algorithms Solvers, Eigen, FFT, Optimisers DA Toolbox Real & Complex GTPSA MADX Env Elements Sequence Beam Object Model MTable Plot Commands Survey Track COFind Twiss Match DA Map Geometric 3D Maps Symplectic Integrators Unit Tests Dynamic 6D Maps Emit
2020
IBS
2020
COCorrect
2019
Spin Maps
2020?
Radiation
2019?
Normal form Optical Funs
2019
Aperture A uses B A B A exposes B A B A is-a B A B Geo/LinAlg Dyn/DiffAlg Objects
Legend
Todo Done Dev Commands
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch 44 MAD-NG Core (VM+JIT+FFI) Linear ToolBox Real & Complex Vector & Matrix Algorithms Solvers, Eigen, FFT, Optimisers DA Toolbox Real & Complex GTPSA MADX Env Elements Sequence Beam Object Model MTable Plot Commands Survey Track COFind Twiss Match DA Map Geometric 3D Maps Symplectic Integrators Unit Tests Dynamic 6D Maps Emit
2020
IBS
2020
COCorrect
2019
Spin Maps
2020?
Radiation
2019?
Normal form Optical Funs
2019
Aperture A uses B A B A exposes B A B A is-a B A B Geo/LinAlg Dyn/DiffAlg Objects
Legend
Todo Done Dev Commands
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch 45
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch
46
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch
46
Elements Infos Selection Thick Kick Fringe Attributes DRIFT l>0, thick
none none none MULTIPOLE l=0, thin h=0 none strex_kick none angle, knl, ksl h≠0 none strex_kickh none +lrad SBEND l>0, h≠0 DKD curex_drift curex_kick curex_fringe angle, k0, k0s, k1, k1s, k2, k2s, knl, ksl TKT sbend_thick sbend_kick curex_fringe RBEND (true) l>0, h=0 DKD strex_drift strex_kick strex_fringe k0, k0s, k1, k1s, k2, k2s, knl, ksl TKT rbend_thick rbend_kick strex_fringe QUADRUPOLE l>0, h=0 DKD strex_drift strex_kick strex_fringe angle, k0, k0s, k1, k1s, k2, k2s, knl, ksl MKM TKT quad_thick quad_kick strex_fringe MKM TKT, k1s≠0 quad_thicks quad_kicks strex_fringe MKM TKT, h≠0 quad_thickh quad_kickh strex_fringe SEXTUPOLE l>0, h=0 DKD strex_drift strex_kick strex_fringe k2, k2s, knl, ksl MKM TKT quad_thick quad_kick strex_fringe OCTUPOLE l>0, h=0 DKD strex_drift strex_kick strex_fringe k3, k3s, knl, ksl MKM TKT quad_thick quad_kick strex_fringe DECAPOLE l>0, h=0 DKD strex_drift strex_kick strex_fringe k4, k4s, knl, ksl MKM TKT quad_thick quad_kick strex_fringe DODECAPOLE l>0, h=0 DKD strex_drift strex_kick strex_fringe k5, k5s, knl, ksl MKM TKT quad_thick quad_kick strex_fringe KICKERS l>0, h=0 DKD strex_drift strex_kick strex_fringe hkick, vkick, kick, knl, ksl MKM TKT quad_thick quad_kick strex_fringe SOLENOID l>0 TKT, ksi=0 strex_drift strex_kick strex_fringe ks, ksi, knl, ksl TKT, ksi≠0 solen_thick strex_kick strex_fringe ELSEPARATOR l>0 TKT, exl,eyl=0 strex_drift strex_kick strex_fringe ex, ey, exl, eyl, knl, ksl TKT, exl,eyl≠0 esept_thick strex_kick strex_fringe RFCAVITY l>0, DKD V=0 strex_drift strex_kick strex_fringe volt, freq, lag, harmon, knl, ksl V≠0 strex_drift rfcav_kick rfcav_fringe nmul≠0, nbsl≠0 strex_drift rfcav_kickn rfcav_fringe +n_bessel
Beams Department Laurent Deniau, CERN BE/ABP, 1211 Geneva, laurent.deniau@cern.ch
46
Elements Infos Selection Thick Kick Fringe Attributes DRIFT l>0, thick
none none none MULTIPOLE l=0, thin h=0 none strex_kick none angle, knl, ksl h≠0 none strex_kickh none +lrad SBEND l>0, h≠0 DKD curex_drift curex_kick curex_fringe angle, k0, k0s, k1, k1s, k2, k2s, knl, ksl TKT sbend_thick sbend_kick curex_fringe RBEND (true) l>0, h=0 DKD strex_drift strex_kick strex_fringe k0, k0s, k1, k1s, k2, k2s, knl, ksl TKT rbend_thick rbend_kick strex_fringe QUADRUPOLE l>0, h=0 DKD strex_drift strex_kick strex_fringe angle, k0, k0s, k1, k1s, k2, k2s, knl, ksl MKM TKT quad_thick quad_kick strex_fringe MKM TKT, k1s≠0 quad_thicks quad_kicks strex_fringe MKM TKT, h≠0 quad_thickh quad_kickh strex_fringe SEXTUPOLE l>0, h=0 DKD strex_drift strex_kick strex_fringe k2, k2s, knl, ksl MKM TKT quad_thick quad_kick strex_fringe OCTUPOLE l>0, h=0 DKD strex_drift strex_kick strex_fringe k3, k3s, knl, ksl MKM TKT quad_thick quad_kick strex_fringe DECAPOLE l>0, h=0 DKD strex_drift strex_kick strex_fringe k4, k4s, knl, ksl MKM TKT quad_thick quad_kick strex_fringe DODECAPOLE l>0, h=0 DKD strex_drift strex_kick strex_fringe k5, k5s, knl, ksl MKM TKT quad_thick quad_kick strex_fringe KICKERS l>0, h=0 DKD strex_drift strex_kick strex_fringe hkick, vkick, kick, knl, ksl MKM TKT quad_thick quad_kick strex_fringe SOLENOID l>0 TKT, ksi=0 strex_drift strex_kick strex_fringe ks, ksi, knl, ksl TKT, ksi≠0 solen_thick strex_kick strex_fringe ELSEPARATOR l>0 TKT, exl,eyl=0 strex_drift strex_kick strex_fringe ex, ey, exl, eyl, knl, ksl TKT, exl,eyl≠0 esept_thick strex_kick strex_fringe RFCAVITY l>0, DKD V=0 strex_drift strex_kick strex_fringe volt, freq, lag, harmon, knl, ksl V≠0 strex_drift rfcav_kick rfcav_fringe nmul≠0, nbsl≠0 strex_drift rfcav_kickn rfcav_fringe +n_bessel
Reviewed to improve PTC compatibility (ptcmodel), writing test suites (~million of tests), adding missing physics. MAD-NG has now ~3000 lines of physics and will continue to grow…