|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
#include <CSRIGFWakeFunction.h>
Public Member Functions | |
| CSRIGFWakeFunction (const std::string &name, std::vector< Filter * > filters, const unsigned int &N) | |
| void | apply (PartBunchBase< double, 3 > *bunch) override |
| void | initialize (const ElementBase *ref) override |
| virtual WakeType | getType () const override |
| const std::string & | getName () const |
Protected Attributes | |
| const unsigned int | nBins_m |
Private Member Functions | |
| void | calculateLineDensity (PartBunchBase< double, 3 > *bunch, std::pair< double, double > &meshInfo) |
| void | calculateContributionInside (size_t sliceNumber, double angleOfSlice, double meshSpacing) |
| void | calculateContributionAfter (size_t sliceNumber, double angleOfSlice, double meshSpacing) |
| void | calculateGreenFunction (PartBunchBase< double, 3 > *bunch, double meshSpacing) |
| double | calcPsi (const double &psiInitial, const double &x, const double &Ds) const |
Private Attributes | |
| std::vector< Filter * > | filters_m |
| std::shared_ptr< Filter > | defaultFilter_m |
| Filter * | diffOp_m |
| LineDensity | lineDensity_m |
| LineDensity | dlineDensitydz_m |
| std::vector< double > | Ez_m |
| std::vector< double > | Chi_m |
| std::vector< double > | Grn_m |
| std::vector< double > | Psi_m |
| double | Begin_m |
| double | FieldBegin_m |
| double | Length_m |
| double | bendRadius_m |
| std::string | bendName_m |
| double | totalBendAngle_m |
| const std::string | name_m |
Definition at line 29 of file CSRIGFWakeFunction.h.
| CSRIGFWakeFunction::CSRIGFWakeFunction | ( | const std::string & | name, |
| std::vector< Filter * > | filters, | ||
| const unsigned int & | N ) |
Definition at line 35 of file CSRIGFWakeFunction.cpp.
References begin(), bendRadius_m, diffOp_m, dlineDensitydz_m, end(), filters_m, lineDensity_m, name, totalBendAngle_m, and WakeFunction::WakeFunction().
|
overridevirtual |
Implements WakeFunction.
Definition at line 51 of file CSRIGFWakeFunction.cpp.
References bendName_m, bendRadius_m, calculateContributionAfter(), calculateContributionInside(), calculateGreenFunction(), calculateLineDensity(), Chi_m, Util::combineFilePath(), Options::csrDump, PartBunchBase< T, Dim >::Ef, endl(), Physics::epsilon_0, Ez_m, FieldBegin_m, floor(), PartBunchBase< T, Dim >::get_bounds(), PartBunchBase< T, Dim >::get_sPos(), OpalData::getAuxiliaryOutputDirectory(), OpalData::getInstance(), PartBunchBase< T, Dim >::getLocalNum(), Grn_m, lineDensity_m, IpplInfo::myNode(), PAssert_LT, Physics::pi, Psi_m, PartBunchBase< T, Dim >::R, and totalBendAngle_m.
|
private |
solve the equation
\[\Delta s = \frac{R \Psi^3}{24} \frac{\Psi + 4x}{\Psi + x} \]
for \(\Psi\) using Newtons method.
Definition at line 257 of file CSRIGFWakeFunction.cpp.
References bendRadius_m, endl(), ERRORMSG, RootFinderForCSR::hasPositiveRealRoots(), and RootFinderForCSR::searchRoot().
Referenced by calculateContributionAfter().
|
private |
Definition at line 198 of file CSRIGFWakeFunction.cpp.
References bendRadius_m, calcPsi(), dlineDensitydz_m, Ez_m, lineDensity_m, Psi_m, and totalBendAngle_m.
Referenced by apply().
|
private |
Definition at line 189 of file CSRIGFWakeFunction.cpp.
References Ez_m, Grn_m, lineDensity_m, and totalBendAngle_m.
Referenced by apply().
|
private |
Definition at line 163 of file CSRIGFWakeFunction.cpp.
References bendRadius_m, Chi_m, Units::eV2MeV, PartBunchBase< T, Dim >::get_meanKineticEnergy(), PartBunchBase< T, Dim >::getM(), Grn_m, and lineDensity_m.
Referenced by apply().
|
private |
Definition at line 150 of file CSRIGFWakeFunction.cpp.
References PartBunchBase< T, Dim >::calcLineDensity(), diffOp_m, dlineDensitydz_m, filters_m, lineDensity_m, and WakeFunction::nBins_m.
Referenced by apply().
|
inlineinherited |
Definition at line 49 of file WakeFunction.h.
References name_m.
|
overridevirtual |
Implements WakeFunction.
Definition at line 285 of file CSRIGFWakeFunction.cpp.
References CSRIGFWakeFunction.
|
overridevirtual |
Reimplemented from WakeFunction.
Definition at line 134 of file CSRIGFWakeFunction.cpp.
References Begin_m, bendName_m, bendRadius_m, FieldBegin_m, BendBase::getBendAngle(), Bend2D::getBendRadius(), Bend2D::getDimensions(), Bend2D::getEffectiveCenter(), Bend2D::getEffectiveLength(), ElementBase::getName(), Length_m, RBEND, SBEND, and totalBendAngle_m.
|
private |
Definition at line 67 of file CSRIGFWakeFunction.h.
Referenced by initialize().
|
private |
Definition at line 79 of file CSRIGFWakeFunction.h.
Referenced by apply(), and initialize().
|
private |
Definition at line 77 of file CSRIGFWakeFunction.h.
Referenced by apply(), calcPsi(), calculateContributionAfter(), calculateGreenFunction(), CSRIGFWakeFunction(), and initialize().
|
private |
Definition at line 58 of file CSRIGFWakeFunction.h.
Referenced by apply(), and calculateGreenFunction().
|
private |
Definition at line 48 of file CSRIGFWakeFunction.h.
|
private |
Definition at line 49 of file CSRIGFWakeFunction.h.
Referenced by calculateLineDensity(), and CSRIGFWakeFunction().
|
private |
Definition at line 52 of file CSRIGFWakeFunction.h.
Referenced by calculateContributionAfter(), calculateLineDensity(), and CSRIGFWakeFunction().
|
private |
Definition at line 55 of file CSRIGFWakeFunction.h.
Referenced by apply(), calculateContributionAfter(), and calculateContributionInside().
|
private |
Definition at line 71 of file CSRIGFWakeFunction.h.
Referenced by apply(), and initialize().
|
private |
Definition at line 47 of file CSRIGFWakeFunction.h.
Referenced by calculateLineDensity(), and CSRIGFWakeFunction().
|
private |
Definition at line 61 of file CSRIGFWakeFunction.h.
Referenced by apply(), calculateContributionInside(), and calculateGreenFunction().
|
private |
Definition at line 74 of file CSRIGFWakeFunction.h.
Referenced by initialize().
|
private |
Definition at line 51 of file CSRIGFWakeFunction.h.
Referenced by apply(), calculateContributionAfter(), calculateContributionInside(), calculateGreenFunction(), calculateLineDensity(), and CSRIGFWakeFunction().
|
privateinherited |
Definition at line 55 of file WakeFunction.h.
Referenced by getName(), and WakeFunction().
|
protectedinherited |
Definition at line 52 of file WakeFunction.h.
Referenced by GreenWakeFunction::apply(), CSRIGFWakeFunction::calculateLineDensity(), CSRWakeFunction::calculateLineDensity(), and WakeFunction().
|
private |
Definition at line 64 of file CSRIGFWakeFunction.h.
Referenced by apply(), and calculateContributionAfter().
|
private |
Definition at line 81 of file CSRIGFWakeFunction.h.
Referenced by apply(), calculateContributionAfter(), calculateContributionInside(), CSRIGFWakeFunction(), and initialize().