Skip to content

feat: off-momentum RDT#1074

Merged
lfarv merged 2 commits into
atcollab:masterfrom
wei0852:off_momentum_RDT
May 13, 2026
Merged

feat: off-momentum RDT#1074
lfarv merged 2 commits into
atcollab:masterfrom
wei0852:off_momentum_RDT

Conversation

@wei0852
Copy link
Copy Markdown
Contributor

@wei0852 wei0852 commented Apr 11, 2026

This PR implements off-momentum RDT calculation, which can be used to directly analyze the nonlinear dynamics for a given off-momentum case.
Validation is performed by comparing ADTS and tracked tune shifts.
The following results are produced using the test script test_off_momentum_tuneshifts.m

off_momentum_ADTS
       ***************     dp/p = -6%         ***********************

tracked ADTS: dnux/dJx=291439.8309, dnuy/dJx=82225.2794, dnux/dJy=82355.4638, dnuy/dJy=-262227.5636
off-momentum ADTS: dnux/dJx=297021.2381, dnux/dJy=84154.8008, dnuy/dJy=-260910.2673
*************** dp/p = -5% ***********************
tracked ADTS: dnux/dJx=238109.4868, dnuy/dJx=64495.3823, dnux/dJy=64601.9309, dnuy/dJy=-243325.1448
off-momentum ADTS: dnux/dJx=243346.8947, dnux/dJy=66521.4485, dnuy/dJy=-242008.7421
*************** dp/p = -4% ***********************
tracked ADTS: dnux/dJx=185066.1173, dnuy/dJx=44059.0946, dnux/dJy=44150.0413, dnuy/dJy=-228730.4941
off-momentum ADTS: dnux/dJx=189876.3387, dnux/dJy=46131.347, dnuy/dJy=-227476.5268
*************** dp/p = -3% ***********************
tracked ADTS: dnux/dJx=132290.3446, dnuy/dJx=21172.701, dnux/dJy=21218.0419, dnuy/dJy=-216553.2475
off-momentum ADTS: dnux/dJx=136804.773, dnux/dJy=23227.315, dnuy/dJy=-215398.231
*************** dp/p = -2% ***********************
tracked ADTS: dnux/dJx=78966.7311, dnuy/dJx=-3364.7958, dnux/dJy=-3347.108, dnuy/dJy=-205516.98
off-momentum ADTS: dnux/dJx=83358.4706, dnux/dJy=-1368.8922, dnuy/dJy=-204466.1605
*************** dp/p = -1% ***********************
tracked ADTS: dnux/dJx=23033.1612, dnuy/dJx=-28570.0934, dnux/dJy=-28574.3279, dnuy/dJy=-194911.0855
off-momentum ADTS: dnux/dJx=27456.5428, dnux/dJy=-26671.7088, dnuy/dJy=-193945.5812
*************** dp/p = 0% ***********************
tracked ADTS: dnux/dJx=-39084.6511, dnuy/dJx=-53667.5615, dnux/dJy=-53706.2265, dnuy/dJy=-184499.9204
off-momentum ADTS: dnux/dJx=-34531.1666, dnux/dJy=-51877.4417, dnuy/dJy=-183575.8077
*************** dp/p = 1% ***********************
tracked ADTS: dnux/dJx=-113177.2278, dnuy/dJx=-78359.7659, dnux/dJy=-78436.7779, dnuy/dJy=-174405.1507
off-momentum ADTS: dnux/dJx=-108423.074, dnux/dJy=-76662.3053, dnuy/dJy=-173433.9391
*************** dp/p = 2% ***********************
tracked ADTS: dnux/dJx=-209611.566, dnuy/dJx=-103124.805, dnux/dJy=-103265.3033, dnuy/dJy=-164984.5582
off-momentum ADTS: dnux/dJx=-204512.1993, dnux/dJy=-101528.1272, dnuy/dJy=-163805.2629
*************** dp/p = 3% ***********************
tracked ADTS: dnux/dJx=-350606.2737, dnuy/dJx=-130026.9447, dnux/dJy=-130281.0354, dnuy/dJy=-156753.6808
off-momentum ADTS: dnux/dJx=-344691.4587, dnux/dJy=-128386.2957, dnuy/dJy=-155097.7186
*************** dp/p = 4% ***********************
tracked ADTS: dnux/dJx=-594677.099, dnuy/dJx=-164984.3599, dnux/dJy=-165268.9472, dnuy/dJy=-150407.3212
off-momentum ADTS: dnux/dJx=-585205.8096, dnux/dJy=-162189.2792, dnuy/dJy=-147924.2418

@lfarv
Copy link
Copy Markdown
Contributor

lfarv commented Apr 22, 2026

@wei0852 : very nice !

Just one detail: on most other functions (findorbit4, atlinopt6…), the off-momentum is given using the keyword dp, while here you are using dpp. For consistency, it would be better keeping the same convention:

[dpp,varargs]=getoption(varargs,'dp',0.00);

@lfarv lfarv added enhancement Matlab For Matlab/Octave AT code labels Apr 22, 2026
@wei0852
Copy link
Copy Markdown
Contributor Author

wei0852 commented May 10, 2026

@wei0852 : very nice !

Just one detail: on most other functions (findorbit4, atlinopt6…), the off-momentum is given using the keyword dp, while here you are using dpp. For consistency, it would be better keeping the same convention:

[dpp,varargs]=getoption(varargs,'dp',0.00);

the variable is renamed in the new commit.

Copy link
Copy Markdown
Contributor

@lfarv lfarv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice improvement

@lfarv lfarv merged commit 0ffce99 into atcollab:master May 13, 2026
@lfarv
Copy link
Copy Markdown
Contributor

lfarv commented May 13, 2026

@wei0852 : thanks for contributing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Matlab For Matlab/Octave AT code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants