Recently, I am trying to make a C++ programme for for beam-ion effect simulation. As the first step, I actually follow the approaches used in Elegant. The main steps can be descried as follows (take the weak-strong mode for example). The index k is used to specify the interaction point and the index j is used to specify the bunch index
1) latticeInterActionPoint.ionLineDensity[k] = corssSectionEI * latticeInterActionPoint.vacuumPressure[k]
/latticeInterActionPoint.temperature[k]/Boltzmann * beamVec[j].electronNumPerBunch;
2) latticeInterActionPoint.ionNumber[k] = latticeInterActionPoint.ionLineDensity[k] *
latticeInterActionPoint.interactionLength[k];
3) beamVec[j].WSRMSCal(latticeInterActionPoint,k);
4) latticeInterActionPoint.IonGenerator(beamVec[j].rmsRx,beamVec[j].rmsRy,beamVec[j].xAver,beamVec[j].yAver,k);
5) latticeInterActionPoint.IonsUpdate(k); //to get the accumulated ions which affect the beam thereafter
6) latticeInterActionPoint.IonRMSCal(k);
7) beamVec[j].WSIonBunchInteraction(latticeInterActionPoint,k);
8) latticeInterActionPoint.IonTransferDueToBunch(beamVec[j].bunchGap,k);
10) beamVec[j].BunchTransferDueToIon(latticeInterActionPoint,k);
The Bastine complex error function is used to get the space charge force between ions and beam in this weak-strong simulation.
As to the "strong-strong" simulation, two times of "weak-strong" is used to get the forces of ions and the bunch particles. Since this process is still not self-consistent, I would rather call it as a "quasi-strong-strong" model.
The source files of the developed code can be found with the following links
https://github.com/ChaoLiIHEP/FASTION
Sorry for such a long introduction, let go into the the question part.
The attached files shows 3 sub figures, the a) and b) are the beam centre oscillation as functions of turns with and w/o synchrotron radiation damping respectively, the weak-strong model is applied; c) is obtained with "quasi-strong-strong" simulation and the synchrotron radiation is turns on. Other condition as filling pattern, beam current, and lattice are the same.
As seen, I am surprised that the "strong-strong" does not give me any bunch oscillation information. Compared with the weak-strong simulation, almost nothing useful is given.
Since I am really new in this field and do not have too much experience on the beam-ion interaction simulation, I am really wandering what would be the case for the "strong-strong" results? Should be similar to the subfig b), but with a much smaller oscillation amplitude ?
Sorry for bother you too much, since right now, I did no know how to benchmark it, helpfully, we can discuss more in the coming days and more details can be explore.
Best regards
yours Chao and Saike Tian