Resolve "Orbit threader throws an exception when TRACKBACK = TRUE and traveling wave structure present"
Closes #494 (closed)
Merge request reports
Activity
changed milestone to %OPAL-2.2.0
added 1 commit
- 5dccf6c1 - don't override the method trackOnAxisParticle
Very hard to judge if these methods are similar, but conceptually they seem to be. Did you test this, e.g. with the regression test
ExternalFieldTest
?However, I see some differences between the two methods
trackOnAxisParticle
:-
TravelingWave
uses the chargeq
(RFCavity
doesn't) -
TravelingWave
does not useRFCavity::startField_m
,RFCavity::endField_m
(which are used intrackOnAxisParticle
), but its own members for this.
Especially the last one seems important to me. This might fixed by defining
startField_m
andendField_m
inTravelingWave::initialise
(and making them protected instead of private).Edited by snuverink_j-
- Resolved by snuverink_j
By the way,
TravelingWave
andRFCavity
each have private members andinitialise
method that have the same name or are similar (length_m
,fast_m
,designEnergy_m
,fieldmap_m
vsCoreFieldmap_m
, etc. ) . In a proper inheritance these members are shared from the parent and theTravelingWave::initialise
would call theRFCavity::initialise
.
I've tested it with the input file of Youna, see e-mail on mailing list.
- the RFCavity side doesn't use
q
in the method directly but uses an instance of the BorisPusher, which usesq
. - startField_m is indeed not set, so it probably just has the value zero. The method then would miss the entrance fringe field. Have to look into that.
At the moment I don't have the time to rewrite the two classes (have to watch the kids half the day and do my regular job the other half). They were two independent classes, that might explain why the TravelingWave class is currently not in such a good shape. But
fieldmap_m
isn't the same as CoreFieldmap_m. The field maps for TWS have three parts: the entrance, the exit and the core. The latter needs to be repeatedN
times and evaluate twice (shifted and at different phases). Once we have the general field map reader (#327) then we can simplify the TravelingWave class or get rid of it.- the RFCavity side doesn't use
- Resolved by snuverink_j
added 1 commit
- 96e26bed - fix typo and error message for failed parsing of field maps
added 1 commit
- e3b41e65 - throw an exception if something isnt' right about the length of the field map
- Resolved by kraus
mentioned in commit 0b72a1d4