Implement Strang splitting with space charge#920
Open
cemitch99 wants to merge 8 commits intoBLAST-ImpactX:developmentfrom
Open
Implement Strang splitting with space charge#920cemitch99 wants to merge 8 commits intoBLAST-ImpactX:developmentfrom
cemitch99 wants to merge 8 commits intoBLAST-ImpactX:developmentfrom
Conversation
cemitch99
commented
Mar 27, 2025
| 9.029112e-04, | ||
| 9.029112e-04, | ||
| 1.841402e-06, | ||
| 8.94427191e-04, |
Member
Author
There was a problem hiding this comment.
Here the targets were tuned to analytically-determined values, instead of being set to coincide with a low-resolution run.
cemitch99
commented
Mar 27, 2025
| atol = 0.0 # ignored | ||
| rtol = 2.0e-3 # from random sampling of a smooth distribution | ||
| rtol = 3.5e-3 # from random sampling of a smooth distribution | ||
| print(f" rtol={rtol} (ignored: atol~={atol})") |
Member
Author
There was a problem hiding this comment.
The original tolerance was too tight.
cemitch99
commented
Mar 27, 2025
Member
Author
|
The attached result illustrates the improvement in numerical convergence obtained when running the expanding beam test with envelope tracking ( |
Add linear return maps for additional elements (BLAST-ImpactX#923)
ax3l
reviewed
Jun 18, 2025
ax3l
reviewed
Jun 25, 2025
| << " slice_step=" << slice_step << "\n"; | ||
| } | ||
|
|
||
| std::visit([&ref, &cm](auto&& element) |
Member
There was a problem hiding this comment.
Is the reference particle pushed twice now? o.0
Happens again in line 176 below
Member
Author
There was a problem hiding this comment.
Clarified in person:
- also includes envelope push
- note the difference in weights (half step for push, full step for SC & CSR, another half step for push)
Member
Author
There was a problem hiding this comment.
We have to make sure that thin elements, which only go through this loop body once, are still only kicked once though.
3d57bbb to
dcae328
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR modifies the main tracking loop with collective effects to use a second-order Strang splitting.
nslicesis time-symmetric, which is needed for reversible back-trackingClose #846
A follow-up PR will address Issue #794