OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
#include <ParallelTTracker.h>
Public Member Functions | |
ParallelTTracker (const Beamline &bl, const PartData &data, bool revBeam, bool revTrack) | |
Constructor. More... | |
ParallelTTracker (const Beamline &bl, PartBunchBase< double, 3 > *bunch, DataSink &ds, const PartData &data, bool revBeam, bool revTrack, const std::vector< unsigned long long > &maxSTEPS, double zstart, const std::vector< double > &zstop, const std::vector< double > &dt) | |
Constructor. More... | |
virtual | ~ParallelTTracker () |
virtual void | execute () |
Apply the algorithm to the top-level beamline. More... | |
virtual void | visitBeamline (const Beamline &) |
Apply the algorithm to a beam line. More... | |
virtual void | visitCCollimator (const CCollimator &) |
Apply the algorithm to a collimator. More... | |
virtual void | visitCorrector (const Corrector &) |
Apply the algorithm to a closed orbit corrector. More... | |
virtual void | visitDegrader (const Degrader &) |
Apply the algorithm to a degrader. More... | |
virtual void | visitDrift (const Drift &) |
Apply the algorithm to a drift space. More... | |
virtual void | visitFlexibleCollimator (const FlexibleCollimator &) |
Apply the algorithm to a flexible collimator. More... | |
virtual void | visitMarker (const Marker &) |
Apply the algorithm to a marker. More... | |
virtual void | visitMonitor (const Monitor &) |
Apply the algorithm to a beam position monitor. More... | |
virtual void | visitMultipole (const Multipole &) |
Apply the algorithm to a multipole. More... | |
virtual void | visitMultipoleT (const MultipoleT &) |
Apply the algorithm to an arbitrary multipole. More... | |
virtual void | visitProbe (const Probe &) |
Apply the algorithm to a probe. More... | |
virtual void | visitRBend (const RBend &) |
Apply the algorithm to a rectangular bend. More... | |
virtual void | visitRBend3D (const RBend3D &) |
Apply the algorithm to a rectangular bend. More... | |
virtual void | visitRFCavity (const RFCavity &) |
Apply the algorithm to a RF cavity. More... | |
virtual void | visitSBend (const SBend &) |
Apply the algorithm to a sector bend. More... | |
virtual void | visitSeptum (const Septum &) |
Apply the algorithm to a septum. More... | |
virtual void | visitSolenoid (const Solenoid &) |
Apply the algorithm to a solenoid. More... | |
virtual void | visitSource (const Source &) |
Apply the algorithm to a source. More... | |
virtual void | visitTravelingWave (const TravelingWave &) |
Apply the algorithm to a traveling wave. More... | |
virtual void | visitVacuum (const Vacuum &) |
Apply the algorithm to a vacuum space. More... | |
![]() | |
Tracker (const Beamline &, const PartData &, bool backBeam, bool backTrack) | |
Constructor. More... | |
Tracker (const Beamline &, PartBunchBase< double, 3 > *bunch, const PartData &, bool backBeam, bool backTrack) | |
Constructor. More... | |
virtual | ~Tracker () |
const PartBunchBase< double, 3 > * | getBunch () const |
Return the current bunch. More... | |
void | addToBunch (const OpalParticle &) |
Add particle to bunch. More... | |
virtual void | visitComponent (const Component &) |
Store the bunch. More... | |
virtual void | setNumBunch (short) |
set total number of tracked bunches More... | |
virtual short | getNumBunch () |
get total number of tracked bunches More... | |
![]() | |
AbstractTracker (const Beamline &, const PartData &, bool backBeam, bool backTrack) | |
Constructor. More... | |
virtual | ~AbstractTracker () |
![]() | |
DefaultVisitor (const Beamline &beamline, bool backBeam, bool backTrack) | |
Constructor. More... | |
virtual | ~DefaultVisitor ()=0 |
virtual void | visitCyclotron (const Cyclotron &) |
Apply the algorithm to an cyclotron. More... | |
virtual void | visitFlaggedElmPtr (const FlaggedElmPtr &) |
Apply the algorithm to a FlaggedElmPtr. More... | |
virtual void | visitMultipoleTStraight (const MultipoleTStraight &) |
Apply the algorithm to an arbitrary straight multipole. More... | |
virtual void | visitMultipoleTCurvedConstRadius (const MultipoleTCurvedConstRadius &) |
Apply the algorithm to an arbitrary curved multipole of constant radius. More... | |
virtual void | visitMultipoleTCurvedVarRadius (const MultipoleTCurvedVarRadius &) |
Apply the algorithm to an arbitrary curved multipole of variable radius. More... | |
virtual void | visitOffset (const Offset &) |
Apply the algorithm to an offset (placement). More... | |
virtual void | visitRing (const Ring &) |
Apply the algorithm to a ring. More... | |
virtual void | visitSBend3D (const SBend3D &) |
Apply the algorithm to a sector bend with 3D field map. More... | |
virtual void | visitScalingFFAMagnet (const ScalingFFAMagnet &) |
Apply the algorithm to a scaling FFA magnet. More... | |
virtual void | visitStripper (const Stripper &) |
Apply the algorithm to a particle stripper. More... | |
virtual void | visitVariableRFCavity (const VariableRFCavity &vcav) |
Apply the algorithm to a a variable RF cavity. More... | |
virtual void | visitVariableRFCavityFringeField (const VariableRFCavityFringeField &vcav) |
Apply the algorithm to a a variable RF cavity with Fringe Field. More... | |
virtual void | visitVerticalFFAMagnet (const VerticalFFAMagnet &) |
Apply the algorithm to a vertical FFA magnet. More... | |
![]() | |
BeamlineVisitor () | |
virtual | ~BeamlineVisitor () |
Private Attributes | |
DataSink * | itsDataSink_m |
OpalBeamline | itsOpalBeamline_m |
bool | globalEOL_m |
bool | wakeStatus_m |
bool | deletedParticles_m |
WakeFunction * | wakeFunction_m |
double | pathLength_m |
double | zstart_m |
where to start More... | |
StepSizeConfig | stepSizes_m |
double | dtCurrentTrack_m |
int | minStepforReBin_m |
size_t | minBinEmitted_m |
unsigned int | repartFreq_m |
unsigned int | emissionSteps_m |
size_t | numParticlesInSimulation_m |
IpplTimings::TimerRef | timeIntegrationTimer1_m |
IpplTimings::TimerRef | timeIntegrationTimer2_m |
IpplTimings::TimerRef | fieldEvaluationTimer_m |
IpplTimings::TimerRef | BinRepartTimer_m |
IpplTimings::TimerRef | WakeFieldTimer_m |
std::set< ParticleMatterInteractionHandler * > | activeParticleMatterInteractionHandlers_m |
bool | particleMatterStatus_m |
Additional Inherited Members | |
![]() | |
enum | { X , PX , Y , PY , T , PT } |
![]() | |
FieldList | cavities_m |
const Beamline & | itsBeamline_m |
![]() | |
void | applyDrift (double length) |
Apply a drift length. More... | |
void | applyThinMultipole (const BMultipoleField &field, double factor) |
void | applyThinSBend (const BMultipoleField &field, double scale, double h) |
void | applyTransform (const Euclid3D &, double refLength=0.0) |
Apply a geometric transformation. More... | |
FTps< double, 2 > | buildMultipoleVectorPotential2D (const BMultipoleField &) |
Construct vector potential for a Multipole. More... | |
FTps< double, 6 > | buildMultipoleVectorPotential (const BMultipoleField &) |
Construct vector potential for a Multipole. More... | |
FTps< double, 2 > | buildSBendVectorPotential2D (const BMultipoleField &, double h) |
Construct vector potential for a SBend. More... | |
FTps< double, 6 > | buildSBendVectorPotential (const BMultipoleField &, double h) |
Construct vector potential for a SBend. More... | |
![]() | |
PartBunchBase< double, 3 > * | itsBunch_m |
The bunch of particles to be tracked. More... | |
![]() | |
const PartData | itsReference |
The reference information. More... | |
![]() | |
const Beamline & | itsLine |
bool | back_beam |
bool | back_track |
bool | back_path |
double | flip_B |
double | flip_s |
Definition at line 70 of file ParallelTTracker.h.
|
explicit |
Constructor.
Definition at line 58 of file ParallelTTracker.cpp.
|
explicit |
Constructor.
Definition at line 84 of file ParallelTTracker.cpp.
References StepSizeConfig::push_back(), StepSizeConfig::resetIterator(), StepSizeConfig::sortAscendingZStop(), and stepSizes_m.
|
virtual |
Definition at line 123 of file ParallelTTracker.cpp.
|
private |
|
private |
|
private |
Definition at line 1157 of file ParallelTTracker.cpp.
References Physics::c, getQuaternion(), PartBunchBase< T, Dim >::getT(), CoordinateSystemTrafo::inverted(), Tracker::itsBunch_m, pathLength_m, BorisPusher::push(), Attrib::Distribution::R, PartBunchBase< T, Dim >::RefPartP_m, PartBunchBase< T, Dim >::RefPartR_m, CoordinateSystemTrafo::rotateFrom(), PartBunchBase< T, Dim >::setT(), PartBunchBase< T, Dim >::toLabTrafo_m, CoordinateSystemTrafo::transformFrom(), and zstart_m.
Referenced by findStartPosition().
|
private |
Definition at line 1234 of file ParallelTTracker.cpp.
References Physics::c, RFCavity::getAutophaseVeto(), PartBunchBase< T, Dim >::getdT(), OpalBeamline::getElements(), CavityAutophaser::getPhaseAtMaxEnergy(), PartBunchBase< T, Dim >::getT(), Tracker::itsBunch_m, itsOpalBeamline_m, AbstractTracker::itsReference, BorisPusher::push(), PartBunchBase< T, Dim >::RefPartP_m, PartBunchBase< T, Dim >::RefPartR_m, ElementBase::RFCAVITY, OpalBeamline::rotateToLocalCS(), OpalBeamline::transformToLocalCS(), and ElementBase::TRAVELINGWAVE.
Referenced by findStartPosition().
|
private |
Definition at line 433 of file ParallelTTracker.cpp.
References PartBunchBase< T, Dim >::dt, PartBunchBase< T, Dim >::getdT(), PartBunchBase< T, Dim >::getLocalNum(), Tracker::itsBunch_m, and selectDT().
Referenced by execute(), and findStartPosition().
|
private |
Definition at line 523 of file ParallelTTracker.cpp.
References PartBunchBase< T, Dim >::Bf, PartBunchBase< T, Dim >::Bin, PartBunchBase< T, Dim >::boundp_destroyT(), computeParticleMatterInteraction(), computeWakefield(), deletedParticles_m, PartBunchBase< T, Dim >::destroyT(), PartBunchBase< T, Dim >::dt, Physics::e, PartBunchBase< T, Dim >::Ef, end(), endl(), fieldEvaluationTimer_m, PartBunchBase< T, Dim >::get_bounds(), OpalBeamline::getCSTrafoLab2Local(), PartBunchBase< T, Dim >::getLocalNum(), OpalBeamline::getMisalignment(), PartBunchBase< T, Dim >::getT(), PartBunchBase< T, Dim >::getTotalNum(), globalEOL_m, gmsg, PartBunchBase< T, Dim >::hasFieldSolver(), CoordinateSystemTrafo::inverted(), Tracker::itsBunch_m, itsOpalBeamline_m, level1(), minBinEmitted_m, ne(), numParticlesInSimulation_m, PartBunchBase< T, Dim >::P, pathLength_m, OrbitThreader::query(), PartBunchBase< T, Dim >::R, reduce(), CoordinateSystemTrafo::rotateTo(), IpplTimings::startTimer(), IpplTimings::stopTimer(), PartBunchBase< T, Dim >::toLabTrafo_m, and CoordinateSystemTrafo::transformTo().
Referenced by execute().
|
private |
all particles in material if max per node is 2 and other degraders have 0 particles
Definition at line 702 of file ParallelTTracker.cpp.
References activeParticleMatterInteractionHandlers_m, IndexMap::Range::begin, PartBunchBase< T, Dim >::boundp(), ceil(), IndexMap::Range::end, endl(), ElementBase::getCSTrafoGlobal2Local(), PartBunchBase< T, Dim >::getdT(), PartBunchBase< T, Dim >::getLocalBoundingSphere(), PartBunchBase< T, Dim >::getLocalNum(), ElementBase::getMisalignment(), OrbitThreader::getRange(), PartBunchBase< T, Dim >::getT(), PartBunchBase< T, Dim >::getTotalNum(), OrbitThreader::getTouchingElements(), gmsg, PartBunchBase< T, Dim >::hasFieldSolver(), PartBunchBase< T, Dim >::incrementT(), CoordinateSystemTrafo::inverted(), Tracker::itsBunch_m, AbstractTracker::itsReference, level2(), max(), min(), minBinEmitted_m, PartBunchBase< T, Dim >::P, particleMatterStatus_m, pathLength_m, PartBunchBase< T, Dim >::R, reduce(), CoordinateSystemTrafo::rotateTo(), PartBunchBase< T, Dim >::setdT(), ParticleMatterInteractionHandler::setFlagAllParticlesIn(), PartBunchBase< T, Dim >::setT(), PartBunchBase< T, Dim >::toLabTrafo_m, CoordinateSystemTrafo::transformTo(), PartBunchBase< T, Dim >::updateNumTotal(), and updateReference().
Referenced by computeExternalFields().
|
private |
Definition at line 475 of file ParallelTTracker.cpp.
References PartBunchBase< T, Dim >::Bf, PartBunchBase< T, Dim >::boundp(), PartBunchBase< T, Dim >::calcBeamParameters(), PartBunchBase< T, Dim >::calcGammas(), PartBunchBase< T, Dim >::computeSelfFields(), Quaternion::conjugate(), doBinaryRepartition(), PartBunchBase< T, Dim >::Ef, PartBunchBase< T, Dim >::get_centroid(), PartBunchBase< T, Dim >::get_pmean(), PartBunchBase< T, Dim >::getLastEmittedEnergyBin(), PartBunchBase< T, Dim >::getLocalNum(), getQuaternion(), CoordinateSystemTrafo::inverted(), Tracker::itsBunch_m, pathLength_m, PartBunchBase< T, Dim >::Q, PartBunchBase< T, Dim >::R, repartFreq_m, PartBunchBase< T, Dim >::resetInterpolationCache(), CoordinateSystemTrafo::rotateTo(), PartBunchBase< T, Dim >::setBinCharge(), PartBunchBase< T, Dim >::setGlobalMeanR(), CoordinateSystemTrafo::transformTo(), and PartBunchBase< T, Dim >::weHaveEnergyBins().
Referenced by execute().
|
private |
Definition at line 631 of file ParallelTTracker.cpp.
References WakeFunction::apply(), PartBunchBase< T, Dim >::calcBeamParameters(), PartBunchBase< T, Dim >::Ef, end(), endl(), PartBunchBase< T, Dim >::get_pmean(), PartBunchBase< T, Dim >::getLocalNum(), getQuaternion(), gmsg, PartBunchBase< T, Dim >::hasFieldSolver(), WakeFunction::initialize(), CoordinateSystemTrafo::inverted(), Tracker::itsBunch_m, level2(), PartBunchBase< T, Dim >::P, PartBunchBase< T, Dim >::R, ElementBase::RBEND, CoordinateSystemTrafo::rotateTo(), ElementBase::SBEND, IpplTimings::startTimer(), IpplTimings::stopTimer(), CoordinateSystemTrafo::transformTo(), WakeFieldTimer_m, wakeFunction_m, and wakeStatus_m.
Referenced by computeExternalFields().
|
private |
Definition at line 861 of file ParallelTTracker.cpp.
References Communicate::barrier(), BinRepartTimer_m, IpplInfo::Comm, PartBunchBase< T, Dim >::do_binaryRepart(), endl(), PartBunchBase< T, Dim >::hasFieldSolver(), INFOMSG, Tracker::itsBunch_m, max(), minBinEmitted_m, numParticlesInSimulation_m, IpplTimings::startTimer(), and IpplTimings::stopTimer().
Referenced by computeSpaceChargeFields().
|
private |
Definition at line 878 of file ParallelTTracker.cpp.
References PartBunchBase< T, Dim >::calcEMean(), endl(), PartBunchBase< T, Dim >::get_meanKineticEnergy(), Util::getEnergyString(), PartBunchBase< T, Dim >::getGlobalTrackStep(), Util::getLengthString(), PartBunchBase< T, Dim >::getT(), Util::getTimeString(), gmsg, matheval::detail::math::isinf(), matheval::detail::math::isnan(), Tracker::itsBunch_m, level1(), level2(), level3(), minBinEmitted_m, numParticlesInSimulation_m, pathLength_m, OPALTimer::Timer::time(), and writePhaseSpace().
Referenced by execute().
|
private |
Definition at line 441 of file ParallelTTracker.cpp.
References PartBunchBase< T, Dim >::emitParticles(), OpalBeamline::getCSTrafoLab2Local(), PartBunchBase< T, Dim >::getdT(), OpalBeamline::getFieldAt(), PartBunchBase< T, Dim >::getIfBeamEmitting(), PartBunchBase< T, Dim >::getT(), PartBunchBase< T, Dim >::getTotalNum(), CoordinateSystemTrafo::inverted(), Tracker::itsBunch_m, itsOpalBeamline_m, minStepforReBin_m, numParticlesInSimulation_m, PartBunchBase< T, Dim >::Rebin(), PartBunchBase< T, Dim >::resetInterpolationCache(), CoordinateSystemTrafo::rotateTo(), PartBunchBase< T, Dim >::switchOffUnitlessPositions(), PartBunchBase< T, Dim >::switchToUnitlessPositions(), PartBunchBase< T, Dim >::toLabTrafo_m, transformBunch(), CoordinateSystemTrafo::transformTo(), PartBunchBase< T, Dim >::updateNumTotal(), and PartBunchBase< T, Dim >::weHaveEnergyBins().
Referenced by execute().
|
private |
Definition at line 1270 of file ParallelTTracker.cpp.
References allreduce(), IpplInfo::Comm, Communicate::COMM_ANY_NODE, PartBunchBase< T, Dim >::create(), PartBunchBase< T, Dim >::destroy(), PartBunchBase< T, Dim >::dt, PartBunchBase< T, Dim >::getLocalNum(), IpplInfo::getNodes(), PartBunchBase< T, Dim >::getTotalNum(), PartBunchBase< T, Dim >::hasFieldSolver(), DistributionInfo::howMany, PartBunchBase< T, Dim >::ID, Tracker::itsBunch_m, PartBunchBase< T, Dim >::M, min(), IpplInfo::myNode(), TagMaker::next_tag(), PartBunchBase< T, Dim >::P, P_LAYOUT_CYCLE, P_SPATIAL_TRANSFER_TAG, PartBunchBase< T, Dim >::POrigin, PartBunchBase< T, Dim >::Q, PartBunchBase< T, Dim >::R, Communicate::raw_isend(), Communicate::raw_probe_receive(), PartBunchBase< T, Dim >::TriID, DistributionInfo::who, and DistributionInfo::whom.
Referenced by execute().
|
virtual |
Apply the algorithm to the top-level beamline.
Reimplemented from DefaultVisitor.
Definition at line 176 of file ParallelTTracker.cpp.
References abs(), OpalBeamline::activateElements(), StepSizeConfig::advanceToPos(), OpalData::APPEND, DefaultVisitor::back_track, PartData::beta, PartBunchBase< T, Dim >::Bf, Physics::c, changeDT(), computeExternalFields(), computeSpaceChargeFields(), OpalBeamline::containsSource(), deletedParticles_m, dtCurrentTrack_m, dumpStats(), PartBunchBase< T, Dim >::Ef, emitParticles(), endl(), euclidean_norm(), evenlyDistributeParticles(), OrbitThreader::execute(), findStartPosition(), PartBunchBase< T, Dim >::get_bounds(), PartBunchBase< T, Dim >::get_pmean_Distribution(), PartBunchBase< T, Dim >::get_sPos(), OpalBeamline::getCSTrafoLab2Local(), StepSizeConfig::getdT(), PartBunchBase< T, Dim >::getdT(), Util::getGamma(), OpalData::getGlobalPhaseShift(), PartBunchBase< T, Dim >::getGlobalTrackStep(), OpalData::getInstance(), Util::getLengthString(), PartBunchBase< T, Dim >::getM(), StepSizeConfig::getMaxSteps(), StepSizeConfig::getMinTimeStep(), StepSizeConfig::getNumSteps(), PartData::getP(), PartBunchBase< T, Dim >::getT(), Util::getTimeString(), PartBunchBase< T, Dim >::getTotalNum(), StepSizeConfig::getZStop(), globalEOL_m, gmsg, hasEndOfLineReached(), PartBunchBase< T, Dim >::incrementT(), PartBunchBase< T, Dim >::incTrackSteps(), CoordinateSystemTrafo::inverted(), Tracker::itsBunch_m, itsOpalBeamline_m, AbstractTracker::itsReference, level1(), level2(), minBinEmitted_m, numParticlesInSimulation_m, pathLength_m, prepareEmission(), prepareSections(), Options::psDumpFreq, StepSizeConfig::reachedEnd(), PartBunchBase< T, Dim >::RefPartP_m, PartBunchBase< T, Dim >::RefPartR_m, restoreCavityPhases(), StepSizeConfig::reverseDirection(), CoordinateSystemTrafo::rotateTo(), saveCavityPhases(), selectDT(), PartBunchBase< T, Dim >::set_sPos(), PartBunchBase< T, Dim >::setdT(), OpalData::setGlobalPhaseShift(), OpalData::setInPrepState(), OpalData::setOpenMode(), setOptionalVariables(), OpalData::setPriorTrack(), PartBunchBase< T, Dim >::setT(), setTime(), Options::statDumpFreq, stepSizes_m, OpalBeamline::switchElementsOff(), OPALTimer::Timer::time(), timeIntegration1(), timeIntegration2(), PartBunchBase< T, Dim >::toLabTrafo_m, CoordinateSystemTrafo::transformTo(), updateReference(), wakeStatus_m, PartBunchBase< T, Dim >::weHaveEnergyBins(), writePhaseSpace(), Monitor::writeStatistics(), and zstart_m.
|
private |
Definition at line 1176 of file ParallelTTracker.cpp.
References abs(), applyFractionalStep(), autophaseCavities(), DefaultVisitor::back_track, PartData::beta, Physics::c, changeDT(), OpalBeamline::containsSource(), dtCurrentTrack_m, Physics::e, euclidean_norm(), PartData::gamma, StepSizeConfig::getdT(), PartBunchBase< T, Dim >::getdT(), Util::getGamma(), Util::getKineticEnergy(), PartBunchBase< T, Dim >::getM(), StepSizeConfig::getZStop(), Tracker::itsBunch_m, itsOpalBeamline_m, pathLength_m, pow(), StepSizeConfig::reachedEnd(), PartBunchBase< T, Dim >::RefPartP_m, PartBunchBase< T, Dim >::RefPartR_m, CoordinateSystemTrafo::rotateTo(), selectDT(), PartBunchBase< T, Dim >::setT(), StepSizeConfig::shiftZStopLeft(), sqrt(), stepSizes_m, PartBunchBase< T, Dim >::toLabTrafo_m, updateReferenceParticle(), and zstart_m.
Referenced by execute().
|
private |
|
private |
Definition at line 953 of file ParallelTTracker.cpp.
References globalEOL_m, and reduce().
Referenced by execute().
|
inlineprivate |
Definition at line 366 of file ParallelTTracker.h.
References PartBunchBase< T, Dim >::Bf, PartBunchBase< T, Dim >::dt, PartBunchBase< T, Dim >::Ef, PartBunchBase< T, Dim >::getLocalNum(), Tracker::itsBunch_m, BorisPusher::kick(), PartBunchBase< T, Dim >::P, and PartBunchBase< T, Dim >::R.
Referenced by timeIntegration2().
|
private |
|
private |
Definition at line 965 of file ParallelTTracker.cpp.
References PartBunchBase< T, Dim >::doEmission(), emissionSteps_m, endl(), PartBunchBase< T, Dim >::getdT(), PartBunchBase< T, Dim >::getEmissionDeltaT(), PartBunchBase< T, Dim >::getNumberOfEmissionSteps(), PartBunchBase< T, Dim >::getNumberOfEnergyBins(), PartBunchBase< T, Dim >::getTEmission(), gmsg, Tracker::itsBunch_m, and level2().
Referenced by execute().
|
private |
Definition at line 369 of file ParallelTTracker.cpp.
References ElementBase::accept(), OpalBeamline::compute3DLattice(), Tracker::itsBeamline_m, itsOpalBeamline_m, OpalBeamline::prepareSections(), OpalBeamline::save3DInput(), and OpalBeamline::save3DLattice().
Referenced by execute().
|
private |
|
inlineprivate |
Definition at line 372 of file ParallelTTracker.h.
References PartBunchBase< T, Dim >::dt, PartBunchBase< T, Dim >::getLocalNum(), Tracker::itsBunch_m, PartBunchBase< T, Dim >::P, BorisPusher::push(), PartBunchBase< T, Dim >::R, PartBunchBase< T, Dim >::switchOffUnitlessPositions(), and PartBunchBase< T, Dim >::switchToUnitlessPositions().
Referenced by timeIntegration1(), and timeIntegration2().
|
private |
Definition at line 163 of file ParallelTTracker.cpp.
References end(), OpalData::getFirstMaxPhases(), OpalData::getInstance(), OpalData::getLastMaxPhases(), and updateRFElement().
Referenced by execute().
|
private |
Definition at line 159 of file ParallelTTracker.cpp.
References itsDataSink_m, and DataSink::storeCavityInformation().
Referenced by execute().
|
private |
Definition at line 419 of file ParallelTTracker.cpp.
References abs(), dtCurrentTrack_m, PartBunchBase< T, Dim >::getdT(), PartBunchBase< T, Dim >::getEmissionDeltaT(), PartBunchBase< T, Dim >::getIfBeamEmitting(), Tracker::itsBunch_m, and PartBunchBase< T, Dim >::setdT().
Referenced by changeDT(), execute(), and findStartPosition().
|
private |
Definition at line 925 of file ParallelTTracker.cpp.
References endl(), OpalData::find(), OpalData::getInstance(), IpplInfo::getNodes(), RealVariable::getReal(), gmsg, level2(), max(), Options::minBinEmitted, minBinEmitted_m, Options::minStepForRebin, minStepforReBin_m, Options::repartFreq, and repartFreq_m.
Referenced by execute().
|
private |
Definition at line 958 of file ParallelTTracker.cpp.
References PartBunchBase< T, Dim >::dt, PartBunchBase< T, Dim >::getdT(), PartBunchBase< T, Dim >::getLocalNum(), and Tracker::itsBunch_m.
Referenced by execute().
|
private |
Definition at line 379 of file ParallelTTracker.cpp.
References pushParticles(), IpplTimings::startTimer(), IpplTimings::stopTimer(), and timeIntegrationTimer1_m.
Referenced by execute().
|
private |
Definition at line 387 of file ParallelTTracker.cpp.
References PartBunchBase< T, Dim >::dt, PartBunchBase< T, Dim >::getdT(), PartBunchBase< T, Dim >::getLocalNum(), Tracker::itsBunch_m, kickParticles(), pushParticles(), IpplTimings::startTimer(), IpplTimings::stopTimer(), and timeIntegrationTimer2_m.
Referenced by execute().
|
private |
Definition at line 1134 of file ParallelTTracker.cpp.
References PartBunchBase< T, Dim >::Bf, PartBunchBase< T, Dim >::Ef, PartBunchBase< T, Dim >::getLocalNum(), Tracker::itsBunch_m, PartBunchBase< T, Dim >::P, PartBunchBase< T, Dim >::R, CoordinateSystemTrafo::rotateTo(), and CoordinateSystemTrafo::transformTo().
Referenced by emitParticles(), and updateRefToLabCSTrafo().
|
private |
Definition at line 1087 of file ParallelTTracker.cpp.
References updateReferenceParticle(), and updateRefToLabCSTrafo().
Referenced by computeParticleMatterInteraction(), and execute().
|
private |
Definition at line 1092 of file ParallelTTracker.cpp.
References DefaultVisitor::back_track, Physics::c, end(), endl(), OpalBeamline::getCSTrafoLab2Local(), PartBunchBase< T, Dim >::getdT(), OpalBeamline::getElements(), PartBunchBase< T, Dim >::getT(), globalEOL_m, gmsg, Tracker::itsBunch_m, itsOpalBeamline_m, BorisPusher::kick(), level1(), min(), BorisPusher::push(), PartBunchBase< T, Dim >::RefPartP_m, PartBunchBase< T, Dim >::RefPartR_m, CoordinateSystemTrafo::rotateFrom(), CoordinateSystemTrafo::rotateTo(), and CoordinateSystemTrafo::transformTo().
Referenced by findStartPosition(), and updateReference().
|
private |
Definition at line 1144 of file ParallelTTracker.cpp.
References copysign(), euclidean_norm(), PartBunchBase< T, Dim >::getdT(), getQuaternion(), CoordinateSystemTrafo::inverted(), Tracker::itsBunch_m, pathLength_m, Attrib::Distribution::R, PartBunchBase< T, Dim >::RefPartP_m, PartBunchBase< T, Dim >::RefPartR_m, CoordinateSystemTrafo::rotateFrom(), PartBunchBase< T, Dim >::toLabTrafo_m, transformBunch(), and CoordinateSystemTrafo::transformFrom().
Referenced by updateReference().
|
private |
Definition at line 140 of file ParallelTTracker.cpp.
References endl(), OpalBeamline::getElementByType(), ElementBase::getName(), INFOMSG, itsOpalBeamline_m, ElementBase::RFCAVITY, RFCavity::setAutophaseVeto(), RFCavity::setPhasem(), and ElementBase::TRAVELINGWAVE.
Referenced by restoreCavityPhases().
|
virtual |
Apply the algorithm to a beam line.
Reimplemented from DefaultVisitor.
Definition at line 125 of file ParallelTTracker.cpp.
References OpalBeamline::compute3DLattice(), TBeamline< T >::getInitialDirection(), TBeamline< T >::getOrigin3D(), TBeamline< T >::getRelativeFlag(), TBeamline< T >::iterate(), itsOpalBeamline_m, OpalBeamline::merge(), OpalBeamline::prepareSections(), and OpalBeamline::swap().
|
inlinevirtual |
Apply the algorithm to a collimator.
Reimplemented from DefaultVisitor.
Definition at line 284 of file ParallelTTracker.h.
References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a closed orbit corrector.
Reimplemented from DefaultVisitor.
Definition at line 288 of file ParallelTTracker.h.
References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a degrader.
Reimplemented from DefaultVisitor.
Definition at line 292 of file ParallelTTracker.h.
References matheval::detail::math::deg(), Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a drift space.
Reimplemented from DefaultVisitor.
Definition at line 296 of file ParallelTTracker.h.
References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a flexible collimator.
Reimplemented from DefaultVisitor.
Definition at line 300 of file ParallelTTracker.h.
References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a marker.
Reimplemented from DefaultVisitor.
Definition at line 304 of file ParallelTTracker.h.
References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a beam position monitor.
Reimplemented from DefaultVisitor.
Definition at line 308 of file ParallelTTracker.h.
References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a multipole.
Reimplemented from DefaultVisitor.
Definition at line 312 of file ParallelTTracker.h.
References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to an arbitrary multipole.
Reimplemented from DefaultVisitor.
Definition at line 316 of file ParallelTTracker.h.
References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a probe.
Reimplemented from DefaultVisitor.
Definition at line 320 of file ParallelTTracker.h.
References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a rectangular bend.
Reimplemented from DefaultVisitor.
Definition at line 324 of file ParallelTTracker.h.
References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a rectangular bend.
Reimplemented from DefaultVisitor.
Definition at line 328 of file ParallelTTracker.h.
References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a RF cavity.
Reimplemented from DefaultVisitor.
Definition at line 332 of file ParallelTTracker.h.
References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a sector bend.
Reimplemented from DefaultVisitor.
Definition at line 336 of file ParallelTTracker.h.
References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a septum.
Reimplemented from DefaultVisitor.
Definition at line 340 of file ParallelTTracker.h.
References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a solenoid.
Reimplemented from DefaultVisitor.
Definition at line 344 of file ParallelTTracker.h.
References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a source.
Reimplemented from DefaultVisitor.
Definition at line 348 of file ParallelTTracker.h.
References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a traveling wave.
Reimplemented from DefaultVisitor.
Definition at line 352 of file ParallelTTracker.h.
References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
inlinevirtual |
Apply the algorithm to a vacuum space.
Reimplemented from DefaultVisitor.
Definition at line 362 of file ParallelTTracker.h.
References Tracker::itsBunch_m, itsOpalBeamline_m, and OpalBeamline::visit().
|
private |
Definition at line 978 of file ParallelTTracker.cpp.
References a, abs(), PartData::beta, Physics::c, PartBunchBase< T, Dim >::calcBeamParameters(), ElementBase::CCOLLIMATOR, ParticleAttrib< T >::create(), ParticleAttrib< T >::destroy(), DataSink::dumpH5(), DataSink::dumpSDDS(), Physics::e, endl(), euclidean_norm(), PartBunchBase< T, Dim >::get_bounds(), PartBunchBase< T, Dim >::getdT(), OpalBeamline::getElementByType(), OpalBeamline::getFieldAt(), StepSizeConfig::getFinalZStop(), Util::getGamma(), PartBunchBase< T, Dim >::getLocalNum(), FlexibleCollimator::getLosses(), ElementBase::getName(), PartBunchBase< T, Dim >::getT(), PartBunchBase< T, Dim >::getTotalNum(), gmsg, CoordinateSystemTrafo::inverted(), Tracker::itsBunch_m, itsDataSink_m, itsOpalBeamline_m, level2(), level3(), name, PartBunchBase< T, Dim >::P, pathLength_m, PartBunchBase< T, Dim >::R, reduce(), PartBunchBase< T, Dim >::RefPartP_m, PartBunchBase< T, Dim >::RefPartR_m, CoordinateSystemTrafo::rotateFrom(), CoordinateSystemTrafo::rotateTo(), PartBunchBase< T, Dim >::set_sPos(), stepSizes_m, and PartBunchBase< T, Dim >::toLabTrafo_m.
Referenced by dumpStats(), and execute().
|
private |
Definition at line 231 of file ParallelTTracker.h.
Referenced by computeParticleMatterInteraction().
|
private |
Definition at line 228 of file ParallelTTracker.h.
Referenced by doBinaryRepartition().
|
private |
Definition at line 192 of file ParallelTTracker.h.
Referenced by computeExternalFields(), and execute().
|
private |
Definition at line 207 of file ParallelTTracker.h.
Referenced by execute(), findStartPosition(), and selectDT().
|
private |
Definition at line 221 of file ParallelTTracker.h.
Referenced by prepareEmission().
|
private |
Definition at line 227 of file ParallelTTracker.h.
Referenced by computeExternalFields().
|
private |
Definition at line 188 of file ParallelTTracker.h.
Referenced by computeExternalFields(), execute(), hasEndOfLineReached(), and updateReferenceParticle().
|
private |
Definition at line 184 of file ParallelTTracker.h.
Referenced by saveCavityPhases(), and writePhaseSpace().
|
private |
Definition at line 186 of file ParallelTTracker.h.
Referenced by autophaseCavities(), computeExternalFields(), emitParticles(), execute(), findStartPosition(), prepareSections(), updateReferenceParticle(), updateRFElement(), visitBeamline(), visitCCollimator(), visitCorrector(), visitDegrader(), visitDrift(), visitFlexibleCollimator(), visitMarker(), visitMonitor(), visitMultipole(), visitMultipoleT(), visitProbe(), visitRBend(), visitRBend3D(), visitRFCavity(), visitSBend(), visitSeptum(), visitSolenoid(), visitSource(), visitTravelingWave(), visitVacuum(), and writePhaseSpace().
|
private |
Definition at line 216 of file ParallelTTracker.h.
Referenced by computeExternalFields(), computeParticleMatterInteraction(), doBinaryRepartition(), dumpStats(), execute(), and setOptionalVariables().
|
private |
Definition at line 211 of file ParallelTTracker.h.
Referenced by emitParticles(), and setOptionalVariables().
|
private |
Definition at line 223 of file ParallelTTracker.h.
Referenced by computeExternalFields(), doBinaryRepartition(), dumpStats(), emitParticles(), and execute().
|
private |
Definition at line 232 of file ParallelTTracker.h.
Referenced by computeParticleMatterInteraction().
|
private |
Definition at line 196 of file ParallelTTracker.h.
Referenced by applyFractionalStep(), computeExternalFields(), computeParticleMatterInteraction(), computeSpaceChargeFields(), dumpStats(), execute(), findStartPosition(), updateRefToLabCSTrafo(), and writePhaseSpace().
|
private |
Definition at line 219 of file ParallelTTracker.h.
Referenced by computeSpaceChargeFields(), and setOptionalVariables().
|
private |
stores informations where to change the time step and where to stop the simulation, the time step sizes and the number of time steps with each configuration
Definition at line 205 of file ParallelTTracker.h.
Referenced by execute(), findStartPosition(), ParallelTTracker(), and writePhaseSpace().
|
private |
Definition at line 225 of file ParallelTTracker.h.
Referenced by timeIntegration1().
|
private |
Definition at line 226 of file ParallelTTracker.h.
Referenced by timeIntegration2().
|
private |
Definition at line 229 of file ParallelTTracker.h.
Referenced by computeWakefield().
|
private |
Definition at line 194 of file ParallelTTracker.h.
Referenced by computeWakefield().
|
private |
Definition at line 190 of file ParallelTTracker.h.
Referenced by computeWakefield(), and execute().
|
private |
where to start
Definition at line 199 of file ParallelTTracker.h.
Referenced by applyFractionalStep(), execute(), and findStartPosition().