Intrabeam scattering tracking implementation
-
Review changes -
Open in Workspace
-
-
Download -
Patches
-
Plain diff
Hello Salah,
Nicely done! Let's use this interface to review your code. One major thing is that documentation is missing, but we can fix this later when you solve all the other requests. Here are my requests on your IBS implementation right now.
- (lines 13-15) You could move these imports inside your IBS class because they are only used by the IBS part of the code.
- (line 535) The number of partitions cannot be selected without modifying the source code.
- (line 536) I believe your self.dt is the same as self.ring.T0.
- (line 538) You can import the classical electron radius from scipy.constants.physical_constants. However, this should be more general. Consider a situation when the code is used to compute the IBS of a hadron/proton accelerator. In that case, would you still use classical electron radius in the IBS formulas?
- (line 541) There's no way to select the IBS model to compute T_ibs without modifying the source code.
- (line 551,552) Why not use the same assignment as in line 546 (beta functions).
- (lines 563-584) All three functions are the same. The only difference is their arguments. It should be a single function f (a, b, q), and you call it in your code f (a, b, q), f (1/a, b/a, q/a), and f (1/b, b/a, q/b). This will reduce the number of lines in the code and make it more readable.
- (line 604-612) This is tracking. It should be inside the track() function. Functions get_T_ibs() should compute the T_ibs.
- (line 621, 622) Same as (line 551, 552)
- (line 666-676) Same consideration as (line 563-584)
- (line 545, 614, 716, 770) These two functions share some similarities. You probably should create a separate function that does this shared part (like averaging different positions 's'). Then you call get_T_CIMP() or get_T_Piwinski() from it.
- (line 797-815) Same consideration as (line 563-584, line 666-676)
- (line 854) All the tracking related functionality (manipulation of x, xp, y, yp, delta, tau) and related 'kicks' should be implemented here. Model selection should be done when the object is initialised.
Merge request reports
Compare and
- version 3925f97f95
- version 38bf1f079a
- version 376765b3a1
- version 36ec915a6c
- version 35d890f8fa
- version 34381f6bd4
- version 335b2610ee
- version 3275603ec6
- version 31847aa229
- version 3084c526f2
- version 29cca48d95
- version 283de5eade
- version 27b37f577b
- version 26372e208e
- version 258f062f3c
- version 24f845f528
- version 23997d3663
- version 22b2b0e86c
- version 21775bb877
- version 203f9e6f42
- version 19b0172f8f
- version 18428b46b0
- version 170a12b778
- version 166bb03edd
- version 1531e60ff3
- version 1493893c6c
- version 13651a18ee
- version 126d1bef1d
- version 11b6988d6a
- version 100066a5bc
- version 9a6c34496
- version 80361139a
- version 73ae1a1a0
- version 687f607a9
- version 5e4bbee58
- version 43c33d20a
- version 3ec97993c
- version 2451cbc74
- version 13fe18b26
- develop (base)
- latest version6694d8de63 commits,
- version 3925f97f9562 commits,
- version 38bf1f079a61 commits,
- version 376765b3a160 commits,
- version 36ec915a6c57 commits,
- version 35d890f8fa56 commits,
- version 34381f6bd455 commits,
- version 335b2610ee54 commits,
- version 3275603ec653 commits,
- version 31847aa22952 commits,
- version 3084c526f251 commits,
- version 29cca48d9550 commits,
- version 283de5eade49 commits,
- version 27b37f577b48 commits,
- version 26372e208e47 commits,
- version 258f062f3c40 commits,
- version 24f845f52839 commits,
- version 23997d366338 commits,
- version 22b2b0e86c37 commits,
- version 21775bb87736 commits,
- version 203f9e6f4235 commits,
- version 19b0172f8f34 commits,
- version 18428b46b033 commits,
- version 170a12b77830 commits,
- version 166bb03edd29 commits,
- version 1531e60ff328 commits,
- version 1493893c6c15 commits,
- version 13651a18ee14 commits,
- version 126d1bef1d13 commits,
- version 11b6988d6a12 commits,
- version 100066a5bc11 commits,
- version 9a6c3449610 commits,
- version 80361139a9 commits,
- version 73ae1a1a08 commits,
- version 687f607a96 commits,
- version 5e4bbee585 commits,
- version 43c33d20a4 commits,
- version 3ec97993c3 commits,
- version 2451cbc742 commits,
- version 13fe18b261 commit,
2 files
+ 374
− 1
Compare changes
- Side-by-side
- Inline
Files
2Loading