|
OPALX (Object Oriented Parallel Accelerator Library for Exascale) MINIorX
OPALX
|
#include <.PartBunch.h>


Classes | |
| class | ConstIterator |
Public Types | |
| enum | { Dim = Dimension } |
| enum | UnitState_t { units = 0 , unitless = 1 } |
| typedef ippl::BConds< Field< T, Dim >, Dim > | bc_type |
| typedef IpplParticleBase< Layout_t > | pbase_t |
| typedef std::pair< Vector_t< double, 3 >, Vector_t< double, 3 > > | VectorPair_t |
| using | ParticleContainer_t = ParticleContainer< T, Dim > |
| using | FieldContainer_t = FieldContainer< T, Dim > |
| using | FieldSolver_t = FieldSolver< T, Dim > |
| using | LoadBalancer_t = LoadBalancer< T, Dim > |
| using | Base = ippl::ParticleBase< ippl::ParticleSpatialLayout< T, Dim > > |
| using | BinningSelector_t = typename ParticleBinning::CoordinateSelector< ParticleContainer_t > |
| using | AdaptBins_t = typename ParticleBinning::AdaptBins< ParticleContainer_t, BinningSelector_t > |
| using | binIndex_t = typename ParticleContainer_t::bin_index_type |
| using | BCHandler_t = BCHandler< Dim > |
| using | vector_type = typename PLayout::vector_type |
| using | index_type = typename PLayout::index_type |
| using | particle_position_type = typename PLayout::particle_position_type |
| using | particle_index_type = ParticleAttrib< index_type, IDProperties... > |
| using | Layout_t = PLayout |
| using | attribute_type = typename detail::ParticleAttribBase< Properties... > |
| using | container_type = std::vector< attribute_type< MemorySpace > * > |
| using | attribute_container_type = typename detail::ContainerForAllSpaces< container_type >::type |
| using | bc_container_type = typename PLayout::bc_container_type |
| using | hash_container_type = typename detail::ContainerForAllSpaces< detail::hash_type >::type |
| using | size_type = detail::size_type |
Public Member Functions | |
| PartBunch (PLayout &pl, Vector_t< double, Dim > hr, Vector_t< double, Dim > rmin, Vector_t< double, Dim > rmax, std::array< bool, Dim > decomp, double Qtot) | |
| PartBunch & | operator= (const PartBunch &)=delete |
| ~PartBunch () | |
| void | initialize (FieldLayout_t< Dim > &fl, Mesh_t< Dim > &mesh) |
| double | getCouplingConstant () const |
| void | setCouplingConstant (double c) |
| void | calcBeamParameters () |
| void | calcBeamParametersInitial () |
| void | setCharge (double q) |
| void | setChargeZeroPart (double q) |
| void | setMass (double mass) |
| void | setMassZeroPart (double mass) |
| double | getCharge () const |
| get the total charge per simulation particle More... | |
| double | getChargePerParticle () const |
| get the macro particle charge More... | |
| double | getMassPerParticle () const |
| double | getdE () const |
| double | getGamma (int i) const |
| double | getBeta (int i) const |
| void | actT () |
| const PartData * | getReference () const |
| double | getEmissionDeltaT () |
| void | do_binaryRepart () |
| void | updateDomainLength (Vector_t< int, 3 > &grid) |
| void | updateFields (const Vector_t< T, Dim > &, const Vector_t< T, Dim > &origin) |
| void | initializeORB (FieldLayout_t< Dim > &fl, Mesh_t< Dim > &mesh) |
| void | repartition (FieldLayout_t< Dim > &fl, Mesh_t< Dim > &mesh) |
| bool | balance (unsigned int totalP) |
| void | gatherLoadBalanceStatistics () |
| size_t | getLoadBalance (int p) const |
| void | resizeMesh () |
| const Mesh_t< Dim > & | getMesh () const |
| FieldLayout_t< Dim > & | getFieldLayout () |
| void | updateLayout (FieldLayout_t< Dim > &fl, Mesh_t< Dim > &mesh) |
| bool | isGridFixed () const |
| void | boundp () |
| size_t | boundp_destroyT () |
| This is only temporary in order to get the collimator and pepperpot working. More... | |
| size_t | destroyT () |
| void | set_meshEnlargement (double dh) |
| void | setBCAllOpen () |
| void | setBCForDCBeam () |
| void | setupBCs () |
| void | setBCAllPeriodic () |
| void | runTests () |
| void | resetInterpolationCache (bool clearCache=false) |
| void | swap (unsigned int i, unsigned int j) |
| double | getRho (int x, int y, int z) |
| void | gatherStatistics (unsigned int totalP) |
| void | switchToUnitlessPositions (bool use_dt_per_particle=false) |
| void | switchOffUnitlessPositions (bool use_dt_per_particle=false) |
| size_t | calcNumPartsOutside (Vector_t< T, Dim > x) |
| returns the number of particles outside of a box defined by x More... | |
| void | calcLineDensity (unsigned int nBins, std::vector< double > &lineDensity, std::pair< double, double > &meshInfo) |
| \method calcLineDensity() More... | |
| void | setBeamFrequency (double v) |
| VectorPair_t | getEExtrema () |
| void | computeSelfFields () |
| void | computeSelfFields (int b) |
| /brief used for self fields with binned distribution More... | |
| bool | hasFieldSolver () |
| bool | getFieldSolverType () const |
| Return the fieldsolver type if we have a fieldsolver. More... | |
| Inform & | print (Inform &os) |
| void | dumpData (int iteration) |
| void | gatherCIC () |
| void | scatterCIC (unsigned int totalP, int iteration) |
| bool | getIfBeamEmitting () |
| int | getLastEmittedEnergyBin () |
| size_t | getNumberOfEmissionSteps () |
| int | getNumberOfEnergyBins () |
| void | Rebin () |
| void | setEnergyBins (int numberOfEnergyBins) |
| bool | weHaveEnergyBins () |
| void | setTEmission (double t) |
| double | getTEmission () |
| bool | weHaveBins () const |
| void | setPBins (PartBins *pbin) |
| size_t | emitParticles (double eZ) |
| Emit particles in the given bin i.e. More... | |
| void | updateNumTotal () |
| void | rebin () |
| int | getLastemittedBin () |
| void | setLocalBinCount (size_t num, int bin) |
| void | calcGammas () |
| Compute the gammas of all bins. More... | |
| double | getBinGamma (int bin) |
| Get gamma of one bin. More... | |
| bool | hasBinning () const |
| void | setBinCharge (int bin, double q) |
| Set the charge of one bin to the value of q and all other to zero. More... | |
| void | setBinCharge (int bin) |
| Set the charge of all other the ones in bin to zero. More... | |
| double | calcMeanPhi () |
| calculate average angle of longitudinal direction of bins More... | |
| bool | resetPartBinID2 (const double eta) |
| reset Bin[] for each particle according to the method given in paper PAST-AB(064402) by G. More... | |
| bool | resetPartBinBunch () |
| double | getPx (int i) |
| double | getPy (int i) |
| double | getPz (int i) |
| double | getPx0 (int i) |
| double | getPy0 (int i) |
| double | getX (int i) |
| double | getY (int i) |
| double | getZ (int i) |
| double | getX0 (int i) |
| double | getY0 (int i) |
| void | setZ (int i, double zcoo) |
| void | get_bounds (Vector_t< T, Dim > &rmin, Vector_t< T, Dim > &rmax) const |
| void | getLocalBounds (Vector_t< T, Dim > &rmin, Vector_t< T, Dim > &rmax) const |
| std::pair< Vector_t< T, Dim >, double > | getBoundingSphere () |
| std::pair< Vector_t< T, Dim >, double > | getLocalBoundingSphere () |
| void | get_PBounds (Vector_t< T, Dim > &min, Vector_t< T, Dim > &max) const |
| void | setdT (double dt) |
| double | getdT () const |
| void | setT (double t) |
| void | incrementT () |
| double | getT () const |
| void | set_sPos (double s) |
| get the spos of the primary beam More... | |
| double | get_gamma () const |
| double | get_meanKineticEnergy () |
| Vector_t< T, Dim > | get_origin () const |
| Vector_t< T, Dim > | get_maxExtent () const |
| Vector_t< T, Dim > | get_centroid () const |
| Vector_t< T, Dim > | get_rrms () const |
| Vector_t< T, Dim > | get_rprms () const |
| Vector_t< T, Dim > | get_rmean () const |
| Vector_t< T, Dim > | get_prms () const |
| Vector_t< T, Dim > | get_pmean () const |
| Vector_t< T, Dim > | get_pmean_Distribution () const |
| Vector_t< T, Dim > | get_emit () const |
| Vector_t< T, Dim > | get_norm_emit () const |
| Vector_t< T, Dim > | get_halo () const |
| Vector_t< T, Dim > | get_68Percentile () const |
| Vector_t< T, Dim > | get_95Percentile () const |
| Vector_t< T, Dim > | get_99Percentile () const |
| Vector_t< T, Dim > | get_99_99Percentile () const |
| Vector_t< T, Dim > | get_normalizedEps_68Percentile () const |
| Vector_t< T, Dim > | get_normalizedEps_95Percentile () const |
| Vector_t< T, Dim > | get_normalizedEps_99Percentile () const |
| Vector_t< T, Dim > | get_normalizedEps_99_99Percentile () const |
| Vector_t< T, Dim > | get_hr () const |
| double | get_Dx () const |
| double | get_Dy () const |
| double | get_DDx () const |
| double | get_DDy () const |
| void | setStepsPerTurn (int n) |
| int | getStepsPerTurn () const |
| void | setGlobalTrackStep (long long n) |
| step in multiple TRACK commands More... | |
| long long | getGlobalTrackStep () const |
| void | setLocalTrackStep (long long n) |
| step in a TRACK command More... | |
| void | incTrackSteps () |
| long long | getLocalTrackStep () const |
| void | setNumBunch (short n) |
| short | getNumBunch () const |
| void | setGlobalMeanR (Vector_t< T, Dim > globalMeanR) |
| Vector_t< T, Dim > | getGlobalMeanR () |
| void | setSteptoLastInj (int n) |
| int | getSteptoLastInj () const |
| double | calculateAngle (double x, double y) |
| double | get_sPos () const |
| PartBunch (const PartData *ref) | |
| Default constructor. More... | |
| PartBunch ()=delete | |
| PartBunch (const PartBunch &)=delete | |
| PartBunch & | operator= (const PartBunch &)=delete |
| ~PartBunch () | |
| void | runTests () |
| void | initialize (FieldLayout_t *fLayout) |
| void | do_binaryRepart () |
| double | getRho (int x, int y, int z) |
| const Mesh_t & | getMesh () const |
| Mesh_t & | getMesh () |
| FieldLayout_t & | getFieldLayout () |
| void | setBCAllPeriodic () |
| void | setBCAllOpen () |
| void | setBCForDCBeam () |
| VectorPair_t | getEExtrema () |
| void | computeSelfFields () |
| void | computeSelfFields (int b) |
| /brief used for self fields with binned distribution More... | |
| void | resetInterpolationCache (bool clearCache=false) |
| void | swap (unsigned int i, unsigned int j) |
| Inform & | print (Inform &os) |
| virtual | ~PartBunch () |
| PartBunch (AbstractParticle< T, Dim > *pb, const PartData *ref) | |
| PartBunch (const PartBunch &rhs)=delete | |
| ConstIterator | begin () const |
| ConstIterator | end () const |
| void | get_PBounds (Vector_t< double, 3 > &min, Vector_t< double, 3 > &max) const |
| Return maximum amplitudes. More... | |
| Quaternion_t | getQKs3D () |
| void | setQKs3D (Quaternion_t q) |
| Vector_t< double, 3 > | getKs3DRefr () |
| void | setKs3DRefr (Vector_t< double, 3 > r) |
| Vector_t< double, 3 > | getKs3DRefp () |
| void | setKs3DRefp (Vector_t< double, 3 > p) |
| void | iterateEmittedBin (int binNumber) |
| void | calcEMean () |
| size_t | getTotalNum () const |
| void | setTotalNum (size_t n) |
| void | setLocalNum (size_t n) |
| size_t | getLocalNum () const |
| size_t | getDestroyNum () const |
| size_t | getGhostNum () const |
| bool | getUpdateFlag (UpdateFlags_t f) const |
| void | setUpdateFlag (UpdateFlags_t f, bool val) |
| ParticleBConds< Position_t, Dimension > & | getBConds () |
| void | setBConds (const ParticleBConds< Position_t, Dimension > &bc) |
| void | resetID () |
| void | update () |
| void | update (const ParticleAttrib< char > &canSwap) |
| void | createWithID (unsigned id) |
| void | create (size_t M) |
| void | globalCreate (size_t np) |
| void | destroy (size_t M, size_t I, bool doNow=false) |
| void | performDestroy (bool updateLocalNum=false) |
| void | ghostDestroy (size_t M, size_t I) |
| PartBunch (double qi, double mi, size_t totalP, double lbt, std::string integration_method, std::shared_ptr< Distribution > &OPALdistribution, std::shared_ptr< FieldSolverCmd > &OPALFieldSolver) | |
| void | bunchUpdate () |
| void | bunchUpdate (ippl::Vector< double, 3 > hr) |
| ~PartBunch () | |
| std::shared_ptr< ParticleContainer_t > | getParticleContainer () |
| void | setSolver (std::string solver) |
| void | pre_run () override |
| A method that should be used for setting up the simulation. More... | |
| void | performBunchSanityChecks () const |
| std::shared_ptr< VField_t< T, Dim > > | getTempEField () |
| void | setTempEField (std::shared_ptr< VField_t< T, Dim > > Etmp) |
| std::shared_ptr< AdaptBins_t > | getBins () |
| void | setBins (std::shared_ptr< AdaptBins_t > bins) |
| void | setBCHandler (std::shared_ptr< BCHandler_t > bcHandler) |
| std::shared_ptr< BCHandler_t > | getBCHandler () const |
| void | updateMoments () |
| size_t | getTotalNum () const |
| size_t | getLocalNum () const |
| Vector_t< double, Dim > | R (size_t) |
| Vector_t< double, Dim > | P (size_t) |
| Vector_t< double, Dim > | Ef (size_t) |
| Vector_t< double, Dim > | Bf (size_t) |
| Vector_t< double, Dim > | dt (size_t) |
| void | advance () override |
| A method that should be used to execute/advance a step of simulation. More... | |
| void | par2grid () override |
| Particle-to-grid operation. More... | |
| void | grid2par () override |
| Grid-to-particle operation. More... | |
| void | gatherCIC () |
| void | scatterCIC () |
| void | scatterCICPerBin (binIndex_t binIndex) |
| double | getCouplingConstant () const |
| void | setCouplingConstant (double c) |
| void | calcBeamParameters () |
| void | do_binaryRepart () |
| void | setCharge () |
| void | setMass () |
| double | getCharge () const |
| double | getChargePerParticle () const |
| double | getMassPerParticle () const |
| double | getQ () const |
| double | getM () const |
| double | getdE () const |
| double | getGamma (int) const |
| double | getBeta (int) const |
| void | actT () |
| PartData * | getReference () |
| double | getEmissionDeltaT () |
| void | gatherLoadBalanceStatistics () |
| size_t | getLoadBalance (int p) |
| void | resizeMesh () |
| bool | isGridFixed () |
| void | boundp () |
| size_t | boundp_destroyT () |
| void | setBCAllOpen () |
| void | setBCForDCBeam () |
| void | setupBCs () |
| void | setBCAllPeriodic () |
| void | resetInterpolationCache (bool) |
| void | swap (unsigned int, unsigned int) |
| double | getRho (int, int, int) |
| void | gatherStatistics (unsigned int) |
| void | switchToUnitlessPositions (bool use_dt_per_particle=false) |
| Transform particle positions to a unitless coordinate system. More... | |
| void | switchOffUnitlessPositions (bool use_dt_per_particle=false) |
| Convert particle positions from unitless back to physical coordinates. More... | |
| size_t | calcNumPartsOutside (Vector_t< double, Dim >) |
| void | calcLineDensity (unsigned int, std::vector< double > &, std::pair< double, double > &) |
| void | setBeamFrequency (double) |
| Vector_t< double, Dim > | getEExtrema () |
| void | computeSelfFields () |
| Inform & | print (Inform &os) |
| bool | hasFieldSolver () |
| bool | getFieldSolverType () |
| bool | getIfBeamEmitting () |
| int | getLastEmittedEnergyBin () |
| size_t | getNumberOfEmissionSteps () |
| int | getNumberOfEnergyBins () |
| void | Rebin () |
| void | setEnergyBins (int) |
| bool | weHaveEnergyBins () |
| void | setTEmission (double) |
| double | getTEmission () |
| bool | weHaveBins () |
| size_t | emitParticles (double) |
| void | updateNumTotal () |
| void | rebin () |
| int | getLastemittedBin () |
| void | setLocalBinCount (size_t, int) |
| void | calcGammas () |
| double | getBinGamma (int) |
| bool | hasBinning () |
| void | setBinCharge (int, double) |
| void | setBinCharge (int) |
| double | calcMeanPhi () |
| bool | resetPartBinID2 (const double) |
| bool | resetPartBinBunch () |
| double | getPx (int) |
| double | getPy (int) |
| double | getPz (int) |
| double | getPx0 (int) |
| double | getPy0 (int) |
| double | getX (int) |
| double | getY (int) |
| double | getZ (int) |
| double | getX0 (int) |
| double | getY0 (int) |
| void | setZ (int, double) |
| void | get_bounds (Vector_t< double, Dim > &rmin, Vector_t< double, Dim > &rmax) |
| void | getLocalBounds (Vector_t< double, Dim > &, Vector_t< double, Dim > &) |
| void | get_PBounds (Vector_t< double, Dim > &, Vector_t< double, Dim > &) |
| void | setdT (double dt) |
| double | getdT () const |
| void | setT (double t) |
| void | incrementT () |
| double | getT () const |
| void | set_sPos (double s) |
| double | get_sPos () const |
| double | get_gamma () const |
| double | get_meanKineticEnergy () |
| Vector_t< double, Dim > | get_origin () const |
| Vector_t< double, Dim > | get_maxExtent () const |
| Vector_t< double, 2 *Dim > | get_centroid () const |
| Vector_t< double, Dim > | get_rrms () const |
| Vector_t< double, Dim > | get_rprms () const |
| Vector_t< double, Dim > | get_prms () const |
| Vector_t< double, Dim > | get_rmean () const |
| Vector_t< double, Dim > | get_pmean () const |
| Vector_t< double, Dim > | get_pmean_Distribution () const |
| Vector_t< double, Dim > | get_emit () const |
| Vector_t< double, Dim > | get_norm_emit () const |
| Vector_t< double, Dim > | get_halo () const |
| Vector_t< double, Dim > | get_68Percentile () const |
| Vector_t< double, Dim > | get_95Percentile () const |
| Vector_t< double, Dim > | get_99Percentile () const |
| Vector_t< double, Dim > | get_99_99Percentile () const |
| Vector_t< double, Dim > | get_normalizedEps_68Percentile () const |
| Vector_t< double, Dim > | get_normalizedEps_95Percentile () const |
| Vector_t< double, Dim > | get_normalizedEps_99Percentile () const |
| Vector_t< double, Dim > | get_normalizedEps_99_99Percentile () const |
| Vector_t< double, Dim > | get_hr () const |
| double | get_Dx () const |
| double | get_Dy () const |
| double | get_DDx () const |
| double | get_DDy () const |
| double | get_temperature () const |
| void | calcDebyeLength () |
| double | get_debyeLength () const |
| double | get_plasmaParameter () const |
| double | get_rmsDensity () const |
| void | setStepsPerTurn (int n) |
| int | getStepsPerTurn () const |
| void | setGlobalTrackStep (long long n) |
| step in multiple TRACK commands More... | |
| long long | getGlobalTrackStep () const |
| void | setLocalTrackStep (long long n) |
| step in a TRACK command More... | |
| void | incTrackSteps () |
| long long | getLocalTrackStep () const |
| void | setNumBunch (short n) |
| short | getNumBunch () const |
| void | setGlobalMeanR (Vector_t< double, Dim > globalMeanR) |
| Vector_t< double, Dim > | getGlobalMeanR () |
| void | setGlobalToLocalQuaternion (Quaternion_t globalToLocalQuaternion) |
| Quaternion_t | getGlobalToLocalQuaternion () |
| void | setSteptoLastInj (int n) |
| int | getSteptoLastInj () const |
| double | calculateAngle (double, double) |
| void | spaceChargeEFieldCheck (Vector_t< double, 3 > efScale) |
| void | initialize (Layout_t &layout) |
| void | setLocalNum (size_type size) |
| void | setParticleBC (const bc_container_type &bcs) |
| void | setParticleBC (BC bc) |
| void | addAttribute (detail::ParticleAttribBase< MemorySpace > &pa) |
| attribute_type< MemorySpace > * | getAttribute (size_t i) |
| void | forAllAttributes (Functor &&f) const |
| void | forAllAttributes (Functor &&f) |
| unsigned | getAttributeNum () const |
| void | create (size_type nLocal) |
| void | createWithID (index_type id) |
| void | globalCreate (size_type nTotal) |
| void | destroy (const Kokkos::View< bool *, Properties... > &invalid, const size_type destroyNum) |
| void | internalDestroy (const Kokkos::View< bool *, Properties... > &invalid, const size_type destroyNum) |
| void | sendToRank (int rank, int tag, std::vector< MPI_Request > &requests, const HashType &hash) |
| void | recvFromRank (int rank, int tag, size_type nRecvs) |
| void | serialize (Archive &ar, size_type nsends) |
| void | deserialize (Archive &ar, size_type nrecvs) |
| size_type | packedSize (const size_type count) const |
| detail::size_type | packedSize (const size_type count) const |
| void | setParticleContainer (std::shared_ptr< ParticleContainer< T, 3 > > pcontainer) |
| std::shared_ptr< FieldContainer< T, 3 > > | getFieldContainer () |
| void | setFieldContainer (std::shared_ptr< FieldContainer< T, 3 > > fcontainer) |
| std::shared_ptr< ippl::FieldSolverBase< T, Dim > > | getFieldSolver () |
| void | setFieldSolver (std::shared_ptr< ippl::FieldSolverBase< T, Dim > > fsolver) |
| std::shared_ptr< LoadBalancer< T, 3 > > | getLoadBalancer () |
| void | setLoadBalancer (std::shared_ptr< LoadBalancer< T, 3 > > loadbalancer) |
| virtual void | pre_step () |
| A method that should be used for preparation before perfoming a step of simulation. More... | |
| virtual void | post_step () |
| A method that should be used after perfoming a step of simulation. More... | |
| void | run (int nt) |
| The main for loop fro running a simulation. More... | |
| double | getQ () const |
| Access to reference data. More... | |
| double | getM () const |
| double | getP () const |
| double | getE () const |
| double | getInitialBeta () const |
| double | getInitialGamma () const |
| void | resetQ (double q) |
| Set reference data. More... | |
| void | resetM (double m) |
| void | setPType (const std::string &type) |
Public Attributes | |
| Solver_t< T, Dim > | solver_m |
| ParticleAttrib< double > | Q |
| ParticleAttrib< double > | M |
| ParticleAttrib< int > | bunchNum |
| ParticleAttrib< Vector_t< T, Dim > > | P |
| ParticleAttrib< Vector_t< T, Dim > > | E |
| ParticleAttrib< Vector_t< T, Dim > > | Ef |
| ParticleAttrib< Vector_t< T, Dim > > | Bf |
| ParticleAttrib< int > | Bin |
| ParticleAttrib< double > | dt |
| ParticleAttrib< double > | Phi |
| ParticleAttrib< Vector_t< T, Dim > > | Eftmp |
| Vector_t< T, Dim > | RefPartR_m |
| Reference particle structures. More... | |
| Vector_t< T, Dim > | RefPartP_m |
| CoordinateSystemTrafo | toLabTrafo_m |
| Vector_t< T, Dim > | globalMeanR_m |
| Initialize the translation vector and rotation quaternion here. More... | |
| PartBins * | pbin_m |
| The structure for particle binning. More... | |
| double | tEmission_m |
| if larger than 0, emitt particles for tEmission_m [s] More... | |
| std::unique_ptr< double[]> | bingamma_m |
| holds the gamma of the bin More... | |
| std::unique_ptr< size_t[]> | binemitted_m |
| int | stepsPerTurn_m |
| steps per turn for OPAL-cycl More... | |
| long long | localTrackStep_m |
| step in a TRACK command More... | |
| long long | globalTrackStep_m |
| if multiple TRACK commands More... | |
| short | numBunch_m |
| current bunch number More... | |
| std::vector< size_t > | bunchTotalNum_m |
| number of particles per bunch More... | |
| std::vector< size_t > | bunchLocalNum_m |
| int | SteptoLastInj_m |
| this parameter records the current steps since last bunch injection it helps to inject new bunches correctly in the restart run of OPAL-cycl it is stored during phase space dump. More... | |
| bool | fixed_grid |
| double | dh_m |
| Mesh enlargement. More... | |
| const PartData * | reference |
| relative enlargement of the mesh More... | |
| double | couplingConstant_m |
| double | qi_m |
| double | massPerParticle_m |
| UnitState_t | unit_state_m |
| UnitState_t | stateOfLastBoundP_m |
| double | centroid_m [2 *Dim] |
| holds the centroid of the beam More... | |
| double | dt_m |
| 6x6 matrix of the moments of the beam More... | |
| double | t_m |
| holds the actual time of the integration More... | |
| double | spos_m |
| the position along design trajectory More... | |
| VField_t< T, Dim > | EFD_m |
| VField_t< T, Dim > | eg_m |
| Field_t< Dim > | EFDMag_m |
| Field_t< Dim > | rho_m |
| Field< T, Dim > | phi_m |
| bc_type | allPeriodic |
| ORB< T, Dim > | orb |
| std::unique_ptr< size_t[]> | globalPartPerNode_m |
| Vector_t< T, Dim > | nr_m |
| std::array< bool, Dim > | isParallel_m |
| Vector_t< double, Dim > | hr_m |
| mesh size [m] More... | |
| Vector_t< double, Dim > | rmin_m |
| Vector_t< double, Dim > | rmax_m |
| bool | dcBeam_m |
| double | periodLength_m |
| double | Q_m |
| std::unique_ptr< Inform > | pmsg_m |
| std::unique_ptr< std::ofstream > | f_stream |
| Field_t | rho_m |
| scalar potential More... | |
| VField_t | eg_m |
| vector field on the grid More... | |
| double | time_m |
| size_type | totalP_m |
| double | lbt_m |
| int | it_m |
| std::string | integration_method_m |
| std::string | solver_m |
| bool | isFirstRepartition_m |
| Vector_t< int, Dim > | nr_m |
| Vector_t< double, Dim > | origin_m |
| double | Bext_m |
| double | alpha_m |
| double | DrInv_m |
| ippl::NDIndex< Dim > | domain_m |
| std::array< bool, Dim > | decomp_m |
| Vector_t< double, Dim > | RefPartR_m |
| Reference particle structures. More... | |
| Vector_t< double, Dim > | RefPartP_m |
| particle_position_type | R |
| view of particle positions More... | |
| particle_index_type | ID |
| view of particle IDs More... | |
Static Public Attributes | |
| static const unsigned | Dimension = Dim |
Protected Member Functions | |
| size_t | calcMoments () |
| void | calcMomentsInitial () |
| double | calculateAngle (double x, double y) |
| angle range [0~2PI) degree More... | |
| void | pack (const hash_container_type &hash) |
| void | unpack (size_type nrecvs) |
Protected Attributes | |
| std::shared_ptr< FieldContainer< T, 3 > > | fcontainer_m |
| std::shared_ptr< ParticleContainer< T, 3 > > | pcontainer_m |
| std::shared_ptr< LoadBalancer< T, 3 > > | loadbalancer_m |
| std::shared_ptr< ippl::FieldSolverBase< T, Dim > > | fsolver_m |
Private Types | |
| using | Base = ippl::ParticleBase< PLayout > |
Private Member Functions | |
| void | updateDomainLength (Vektor< int, 3 > &grid) |
| void | updateFields (const Vector_t< double, 3 > &hr, const Vector_t< double, 3 > &origin) |
| void | resizeMesh () |
| resize mesh to geometry specified More... | |
| ParticleLayout< double, 3 > & | getLayout () |
| const ParticleLayout< double, 3 > & | getLayout () const |
| virtual void | updateDomainLength (Vektor< int, 3 > &grid)=0 |
| virtual void | updateFields (const Vector_t< double, 3 > &hr, const Vector_t< double, 3 > &origin) |
| void | setup (AbstractParticle< T, Dim > *pb) |
Private Attributes | |
| BConds< double, 3, Mesh_t, Center_t > | bc_m |
| for defining the boundary conditions More... | |
| BConds< Vector_t< double, 3 >, 3, Mesh_t, Center_t > | vbc_m |
| bool | interpolationCacheSet_m |
| ParticleAttrib< CacheDataCIC< double, 3U > > | interpolationCache_m |
| double | mi_m |
| double | rmsDensity_m |
| std::shared_ptr< BCHandler_t > | bcHandler_m |
| Vector_t< double, Dim > | globalMeanR_m |
| Initialize the translation vector and rotation quaternion here. More... | |
| Quaternion_t | globalToLocalQuaternion_m |
| std::shared_ptr< AdaptBins_t > | bins_m |
| PartData * | reference_m |
| std::shared_ptr< Distribution > | OPALdist_m |
| std::shared_ptr< FieldSolverCmd > | OPALFieldSolver_m |
| bool | isUnitless_m = false |
| std::shared_ptr< VField_t< T, Dim > > | Etmp_m |
| Temporary E field container used to store temporary E field during binned solver. More... | |
| Layout_t * | layout_m |
| particle layout More... | |
| size_type | localNum_m |
| processor local number of particles More... | |
| size_type | totalNum_m |
| total number of particles (across all processes) More... | |
| attribute_container_type | attributes_m |
| all attributes More... | |
| index_type | nextID_m |
| next unique particle ID More... | |
| index_type | numNodes_m |
| number of MPI ranks More... | |
| hash_container_type | deleteIndex_m |
| buffers for particle partitioning More... | |
| hash_container_type | keepIndex_m |
Static Private Attributes | |
| static constexpr bool | EnableIDs |
Definition at line 62 of file #PartBunch.hpp#.
| using PartBunch< PLayout, T, Dim >::AdaptBins_t = typename ParticleBinning::AdaptBins<ParticleContainer_t, BinningSelector_t> |
Definition at line 53 of file PartBunch.h.
|
inherited |
Definition at line 104 of file ParticleBase.h.
|
inherited |
Definition at line 99 of file ParticleBase.h.
|
private |
Definition at line 63 of file #PartBunch.hpp#.
| using PartBunch< PLayout, T, Dim >::Base = ippl::ParticleBase<ippl::ParticleSpatialLayout<T, Dim> > |
Definition at line 50 of file PartBunch.h.
|
inherited |
Definition at line 107 of file ParticleBase.h.
| typedef ippl::BConds<Field<T, Dim>, Dim> PartBunch< PLayout, T, Dim >::bc_type |
Definition at line 174 of file #PartBunch.hpp#.
| using PartBunch< PLayout, T, Dim >::BCHandler_t = BCHandler<Dim> |
Definition at line 56 of file PartBunch.h.
| using PartBunch< PLayout, T, Dim >::binIndex_t = typename ParticleContainer_t::bin_index_type |
Definition at line 54 of file PartBunch.h.
| using PartBunch< PLayout, T, Dim >::BinningSelector_t = typename ParticleBinning::CoordinateSelector<ParticleContainer_t> |
Definition at line 52 of file PartBunch.h.
|
inherited |
Definition at line 102 of file ParticleBase.h.
| using PartBunch< PLayout, T, Dim >::FieldContainer_t = FieldContainer<T, Dim> |
Definition at line 47 of file PartBunch.h.
| using PartBunch< PLayout, T, Dim >::FieldSolver_t = FieldSolver<T, Dim> |
Definition at line 48 of file PartBunch.h.
|
inherited |
Definition at line 109 of file ParticleBase.h.
|
inherited |
Definition at line 92 of file ParticleBase.h.
|
inherited |
Definition at line 96 of file ParticleBase.h.
| using PartBunch< PLayout, T, Dim >::LoadBalancer_t = LoadBalancer<T, Dim> |
Definition at line 49 of file PartBunch.h.
|
inherited |
Definition at line 94 of file ParticleBase.h.
|
inherited |
Definition at line 93 of file ParticleBase.h.
| using PartBunch< PLayout, T, Dim >::ParticleContainer_t = ParticleContainer<T, Dim> |
Definition at line 46 of file PartBunch.h.
| typedef IpplParticleBase<Layout_t> PartBunch< PLayout, T, Dim >::pbase_t |
Definition at line 26 of file .PartBunch.h.
|
inherited |
Definition at line 111 of file ParticleBase.h.
|
inherited |
Definition at line 91 of file ParticleBase.h.
| typedef std::pair<Vector_t<double, 3>, Vector_t<double, 3> > PartBunch< PLayout, T, Dim >::VectorPair_t |
Definition at line 62 of file .PartBunchBase.h.
| anonymous enum |
| Enumerator | |
|---|---|
| Dim | |
Definition at line 27 of file .PartBunch.h.
| enum PartBunch::UnitState_t |
| Enumerator | |
|---|---|
| units | |
| unitless | |
Definition at line 66 of file .PartBunchBase.h.
|
inline |
Definition at line 200 of file #PartBunch.hpp#.
References ippl::ParticleBase< PLayout >::addAttribute(), PartBunch< PLayout, T, Dim >::Dim, and PartBunch< PLayout, T, Dim >::isParallel_m.

|
inline |
Definition at line 228 of file #PartBunch.hpp#.
|
explicit |
Default constructor.
Definition at line 37 of file .PartBunch.cpp.
|
delete |
|
delete |
| PartBunch< PLayout, T, Dim >::~PartBunch | ( | ) |
|
inlinevirtual |
Definition at line 69 of file .PartBunchBase.h.
| PartBunch< T, Dim >::PartBunch | ( | AbstractParticle< T, Dim > * | pb, |
| const PartData * | ref | ||
| ) |
Definition at line 39 of file .PartBunchBase.hpp.
References PartBunch< PLayout, T, Dim >::setup().

|
delete |
| PartBunch< T, Dim >::PartBunch | ( | double | qi, |
| double | mi, | ||
| size_t | totalP, | ||
| double | lbt, | ||
| std::string | integration_method, | ||
| std::shared_ptr< Distribution > & | OPALdistribution, | ||
| std::shared_ptr< FieldSolverCmd > & | OPALFieldSolver | ||
| ) |
Definition at line 8 of file PartBunch.cpp.
References Options::binningAlpha, Options::binningBeta, ippl::Comm, PartBunch< PLayout, T, Dim >::decomp_m, Options::desiredWidth, PartBunch< PLayout, T, Dim >::Dim, PartBunch< PLayout, T, Dim >::domain_m, PartBunch< PLayout, T, Dim >::dt_m, endl(), ippl::PicManager< T, 3, ParticleContainer< T, 3 >, FieldContainer< T, 3 >, LoadBalancer< T, 3 > >::fcontainer_m, PartBunch< PLayout, T, Dim >::getBCHandler(), PartBunch< PLayout, T, Dim >::getBins(), PartBunch< PLayout, T, Dim >::getParticleContainer(), PartBunch< PLayout, T, Dim >::getTempEField(), IpplTimings::getTimer(), PartBunch< PLayout, T, Dim >::globalPartPerNode_m, gmsg, PartBunch< PLayout, T, Dim >::hr_m, Options::maxBins, PartBunch< PLayout, T, Dim >::nr_m, PartBunch< PLayout, T, Dim >::OPALFieldSolver_m, PartBunch< PLayout, T, Dim >::origin_m, BCHandler< Dim >::PERIODIC, PartBunch< PLayout, T, Dim >::pre_run(), PartBunch< PLayout, T, Dim >::rmax_m, PartBunch< PLayout, T, Dim >::rmin_m, PartBunch< PLayout, T, Dim >::setBCHandler(), PartBunch< PLayout, T, Dim >::setBins(), ippl::PicManager< T, 3, ParticleContainer< T, 3 >, FieldContainer< T, 3 >, LoadBalancer< T, 3 > >::setFieldContainer(), ippl::PicManager< T, 3, ParticleContainer< T, 3 >, FieldContainer< T, 3 >, LoadBalancer< T, 3 > >::setParticleContainer(), PartBunch< PLayout, T, Dim >::setSolver(), PartBunch< PLayout, T, Dim >::setTempEField(), IpplTimings::startTimer(), and IpplTimings::stopTimer().

|
inline |
Definition at line 350 of file #PartBunch.hpp#.
|
inline |
|
inherited |
Add particle attribute
| pa | attribute to be added to ParticleBase |
Definition at line 191 of file ParticleBase.hpp.
|
inlineoverridevirtual |
A method that should be used to execute/advance a step of simulation.
In a derived class, the user must override this method to implement their time integration method for solving the considered governing equation.
Implements ippl::BaseManager.
Definition at line 279 of file PartBunch.h.

|
inline |
Definition at line 402 of file #PartBunch.hpp#.
References ippl::Comm, and PartBunch< PLayout, T, Dim >::getLocalNum().

|
inline |
Definition at line 127 of file .PartBunchBase.h.
Referenced by begin().
|
inline |
In case of dcBeam_m && hr_m < 0 this is the first call to boundp and we have to set hr completely i.e. x,y and z.
Definition at line 474 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::dcBeam_m, PartBunch< PLayout, T, Dim >::dh_m, Physics::e, PartBunch< PLayout, T, Dim >::get_bounds(), PartBunch< PLayout, T, Dim >::hr_m, PartBunch< PLayout, T, Dim >::isGridFixed(), PartBunch< PLayout, T, Dim >::nr_m, PartBunch< PLayout, T, Dim >::periodLength_m, PartBunch< PLayout, T, Dim >::rmax_m, PartBunch< PLayout, T, Dim >::rmin_m, PartBunch< PLayout, T, Dim >::stateOfLastBoundP_m, PartBunch< PLayout, T, Dim >::unit_state_m, PartBunch< PLayout, T, Dim >::update(), and PartBunch< PLayout, T, Dim >::updateFields().
Referenced by PartBunch< PLayout, T, Dim >::boundp_destroyT(), and ParallelTracker::computeSpaceChargeFields().

|
inline |
This is only temporary in order to get the collimator and pepperpot working.
Definition at line 539 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::Bin, PartBunch< PLayout, T, Dim >::boundp(), PartBunch< PLayout, T, Dim >::calcBeamParameters(), PartBunch< PLayout, T, Dim >::gatherLoadBalanceStatistics(), PartBunch< PLayout, T, Dim >::getLocalNum(), PartBunch< PLayout, T, Dim >::getNumberOfEnergyBins(), and PartBunch< PLayout, T, Dim >::weHaveEnergyBins().
Referenced by ParallelTracker::computeExternalFields().

|
inline |
Definition at line 425 of file PartBunch.cpp.
References Physics::e.
| void PartBunch< T, Dim >::bunchUpdate | ( | ippl::Vector< double, 3 > | hr | ) |
Definition at line 249 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::get_bounds(), PartBunch< PLayout, T, Dim >::rmax_m, and PartBunch< PLayout, T, Dim >::rmin_m.
Referenced by PartBunch< PLayout, T, Dim >::boundp_destroyT(), ParallelTracker::computeSpaceChargeFields(), PartBunch< PLayout, T, Dim >::destroyT(), DataSink::dumpSDDS(), and H5PartWrapperForPT::writeStep().

| void PartBunch< PLayout, T, Dim >::calcBeamParameters | ( | ) |
| void PartBunch< PLayout, T, Dim >::calcBeamParametersInitial | ( | ) |
|
inline |
Definition at line 825 of file PartBunch.h.
Definition at line 1134 of file .PartBunchBase.hpp.
Compute the gammas of all bins.
Definition at line 1084 of file #PartBunch.hpp#.
|
inline |
|
inline |
\method calcLineDensity()
calculates the 1d line density (not normalized) and append it to a file.
DETAILED TODO
Definition at line 769 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::dh_m, PartBunch< PLayout, T, Dim >::get_bounds(), PartBunch< PLayout, T, Dim >::getLocalNum(), and ippl::ParticleBase< PLayout >::R.

|
inline |
|
inline |
calculate average angle of longitudinal direction of bins
Definition at line 1107 of file #PartBunch.hpp#.
|
inline |
|
protected |
|
protected |
|
inline |
|
inline |
returns the number of particles outside of a box defined by x
Definition at line 740 of file #PartBunch.hpp#.
References ippl::Comm, PartBunch< PLayout, T, Dim >::get_rmean(), PartBunch< PLayout, T, Dim >::getLocalNum(), PartBunch< PLayout, T, Dim >::globalPartPerNode_m, and ippl::ParticleBase< PLayout >::R.
Referenced by DataSink::dumpSDDS().

|
inline |
Definition at line 1416 of file #PartBunch.hpp#.
|
protected |
angle range [0~2PI) degree
|
inline |
Magnetic field in x and y direction induced by the eletric field
\[ B_x = \gamma(B_x^{'} - \frac{beta}{c}E_y^{'}) = -\gamma \frac{beta}{c}E_y^{'} = -\frac{beta}{c}E_y \]
\[ B_y = \gamma(B_y^{'} - \frac{beta}{c}E_x^{'}) = +\gamma \frac{beta}{c}E_x^{'} = +\frac{beta}{c}E_x \]
\[ B_z = B_z^{'} = 0 \]
Definition at line 829 of file #PartBunch.hpp#.
Referenced by ParallelTracker::computeSpaceChargeFields().
| void PartBunch< PLayout, T, Dim >::computeSelfFields | ( | ) |
| void PartBunch< PLayout, T, Dim >::computeSelfFields | ( | ) |
|
inline |
/brief used for self fields with binned distribution
Set initial charge density to zero. Create image charge potential field.
Set initial E field to zero.
Mesh the whole domain
Scatter charge onto space charge grid.
Calculate mesh-scale factor and get gamma for this specific slice (bin).
Scale charge density to get charge density in real units. Account for Lorentz transformation in longitudinal direction.
Scale mesh spacing to real units (meters). Lorentz transform the longitudinal direction.
Find potential from charge in this bin (no image yet) using Poisson's equation (without coefficient: -1/(eps)).
Scale mesh back (to same units as particle locations.)
The scalar potential is given back in rho_m and must be converted to the right units.
IPPL Grad numerical computes gradient to find the electric field (in bin rest frame).
Scale field. Combine Lorentz transform with conversion to proper field units.
Interpolate electric field at particle positions. We reuse the cached information about where the particles are relative to the field, since the particles have not moved since this the most recent scatter operation.
Magnetic field in x and y direction induced by the electric field.
\[ B_x = \gamma(B_x^{'} - \frac{beta}{c}E_y^{'}) = -\gamma \frac{beta}{c}E_y^{'} = -\frac{beta}{c}E_y \]
\[ B_y = \gamma(B_y^{'} - \frac{beta}{c}E_x^{'}) = +\gamma \frac{beta}{c}E_x^{'} = +\frac{beta}{c}E_x \]
\[ B_z = B_z^{'} = 0 \]
Now compute field due to image charge. This is done separately as the image charge is moving to -infinity (instead of +infinity) so the Lorentz transform is different.
Find z shift for shifted Green's function.
Find potential from image charge in this bin using Poisson's equation (without coefficient: -1/(eps)).
Scale mesh back (to same units as particle locations.)
The scalar potential is given back in rho_m and must be converted to the right units.
IPPL Grad numerical computes gradient to find the electric field (in rest frame of this bin's image charge).
Scale field. Combine Lorentz transform with conversion to proper field units.
Interpolate electric field at particle positions. We reuse the cached information about where the particles are relative to the field, since the particles have not moved since this the most recent scatter operation.
Magnetic field in x and y direction induced by the image charge electric field. Note that beta will have the opposite sign from the bunch charge field, as the image charge is moving in the opposite direction.
\[ B_x = \gamma(B_x^{'} - \frac{beta}{c}E_y^{'}) = -\gamma \frac{beta}{c}E_y^{'} = -\frac{beta}{c}E_y \]
\[ B_y = \gamma(B_y^{'} - \frac{beta}{c}E_x^{'}) = +\gamma \frac{beta}{c}E_x^{'} = +\frac{beta}{c}E_x \]
\[ B_z = B_z^{'} = 0 \]
Definition at line 833 of file #PartBunch.hpp#.
| void PartBunch< PLayout, T, Dim >::computeSelfFields | ( | int | b | ) |
/brief used for self fields with binned distribution
Definition at line 1370 of file .PartBunchBase.hpp.
|
inherited |
Create nLocal processor local particles. This is a collective call, i.e. all MPI ranks must call this.
| nLocal | number of local particles to be created |
Definition at line 253 of file ParticleBase.hpp.
|
inherited |
Create a new particle with a given ID. This is a collective call. If a process passes a negative number, it does not create a particle.
| id | particle identity number |
Definition at line 260 of file ParticleBase.hpp.
Definition at line 1365 of file .PartBunchBase.hpp.
|
inherited |
|
inherited |
Particle deletion Function. Partition the particles into a valid region and an invalid region, effectively deleting the invalid particles. This is a collective call.
| invalid | View marking which indices are invalid |
| destroyNum | Total number of invalid particles |
Definition at line 277 of file ParticleBase.hpp.
| void PartBunch< T, Dim >::destroy | ( | size_t | M, |
| size_t | I, | ||
| bool | doNow = false |
||
| ) |
Definition at line 1380 of file .PartBunchBase.hpp.
Definition at line 574 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::Bin, PartBunch< PLayout, T, Dim >::calcBeamParameters(), ippl::Comm, PartBunch< PLayout, T, Dim >::gatherLoadBalanceStatistics(), PartBunch< PLayout, T, Dim >::getLocalNum(), PartBunch< PLayout, T, Dim >::getNumberOfEnergyBins(), PartBunch< PLayout, T, Dim >::getTotalNum(), INFORM_ALL_NODES, and PartBunch< PLayout, T, Dim >::weHaveEnergyBins().

Definition at line 367 of file #PartBunch.hpp#.
Referenced by ParallelTracker::doBinaryRepartition().
| void PartBunch< PLayout, T, Dim >::do_binaryRepart | ( | ) |
| void PartBunch< PLayout, T, Dim >::do_binaryRepart | ( | ) |
|
inline |
|
inline |
Definition at line 922 of file #PartBunch.hpp#.
References Inform::APPEND, ippl::Comm, dot(), endl(), PartBunch< PLayout, T, Dim >::P, ippl::parallel_reduce(), Inform::precision(), and Inform::setf().

|
inline |
Emit particles in the given bin i.e.
copy the particles from the bin structure into the particle container
Definition at line 1049 of file #PartBunch.hpp#.
|
inline |
|
inline |
Definition at line 131 of file .PartBunchBase.h.
References PartBunch< PLayout, T, Dim >::getLocalNum().
Referenced by end().

|
inlineinherited |
Definition at line 223 of file ParticleBase.h.
|
inlineinherited |
Calls a given function for all attributes in the bunch
| MemorySpace | the memory space of the attributes to visit (void to visit all of them) |
| Functor | the functor type |
| f | a functor taking a single ParticleAttrib<MemorySpace> |
Definition at line 211 of file ParticleBase.h.
Definition at line 955 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::EFD_m, ippl::gather(), and ippl::ParticleBase< PLayout >::R.
Referenced by PartBunch< PLayout, T, Dim >::grid2par().

| void PartBunch< PLayout, T, Dim >::gatherCIC | ( | ) |
Definition at line 421 of file #PartBunch.hpp#.
References ippl::Comm, PartBunch< PLayout, T, Dim >::getLocalNum(), and PartBunch< PLayout, T, Dim >::globalPartPerNode_m.
Referenced by PartBunch< PLayout, T, Dim >::boundp_destroyT(), PartBunch< PLayout, T, Dim >::destroyT(), and DataSink::dumpSDDS().

| void PartBunch< PLayout, T, Dim >::gatherLoadBalanceStatistics | ( | ) |
|
inline |
Definition at line 706 of file #PartBunch.hpp#.
References ippl::Comm, endl(), and PartBunch< PLayout, T, Dim >::getLocalNum().

|
inline |
Definition at line 1311 of file #PartBunch.hpp#.
|
inline |
Definition at line 1314 of file #PartBunch.hpp#.
|
inline |
|
inline |
Definition at line 1320 of file #PartBunch.hpp#.
|
inline |
Definition at line 1317 of file #PartBunch.hpp#.
|
inline |
|
inline |
Definition at line 675 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::rmax_m, and PartBunch< PLayout, T, Dim >::rmin_m.
|
inline |
Definition at line 1162 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::Dim, PartBunch< PLayout, T, Dim >::getLocalBounds(), and ippl::min().
Referenced by PartBunch< PLayout, T, Dim >::boundp(), PartBunch< PLayout, T, Dim >::calcBeamParameters(), PartBunch< PLayout, T, Dim >::calcLineDensity(), ParallelTracker::computeExternalFields(), Probe::doPreCheck(), ParallelTracker::execute(), PartBunch< PLayout, T, Dim >::getBoundingSphere(), and ParallelTracker::writePhaseSpace().

Definition at line 1281 of file #PartBunch.hpp#.
Referenced by Ring::apply(), ParallelTracker::computeSpaceChargeFields(), and H5PartWrapperForPT::writeStepHeader().
|
inline |
Definition at line 733 of file PartBunch.h.
Definition at line 1345 of file #PartBunch.hpp#.
Referenced by StatWriter::write().
|
inline |
Definition at line 814 of file PartBunch.h.
Definition at line 1348 of file #PartBunch.hpp#.
Referenced by StatWriter::write().
|
inline |
Definition at line 817 of file PartBunch.h.
|
inline |
Definition at line 829 of file PartBunch.h.
Referenced by StatWriter::write().
Definition at line 1339 of file #PartBunch.hpp#.
Referenced by StatWriter::write().
|
inline |
Definition at line 808 of file PartBunch.h.
Definition at line 1342 of file #PartBunch.hpp#.
Referenced by StatWriter::write().
|
inline |
Definition at line 811 of file PartBunch.h.
Definition at line 1302 of file #PartBunch.hpp#.
Referenced by H5PartWrapperForPT::writeStepHeader().
|
inline |
Definition at line 1266 of file #PartBunch.hpp#.
Referenced by H5PartWrapperForPT::writeStepHeader().
|
inline |
Definition at line 1308 of file #PartBunch.hpp#.
Referenced by StatWriter::write().
|
inline |
Definition at line 1335 of file #PartBunch.hpp#.
|
inline |
Definition at line 1277 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::rmax_m.
Referenced by H5PartWrapperForPT::writeStepHeader().
|
inline |
Definition at line 728 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::rmax_m.
|
inline |
Definition at line 1270 of file #PartBunch.hpp#.
Referenced by ParallelTracker::dumpStats(), and H5PartWrapperForPT::writeStepHeader().
|
inline |
Definition at line 721 of file PartBunch.h.
Definition at line 1305 of file #PartBunch.hpp#.
Referenced by StatWriter::write(), and H5PartWrapperForPT::writeStepHeader().
|
inline |
Definition at line 764 of file PartBunch.h.
|
inline |
Definition at line 1323 of file #PartBunch.hpp#.
|
inline |
|
inline |
Definition at line 1326 of file #PartBunch.hpp#.
|
inline |
|
inline |
Definition at line 1332 of file #PartBunch.hpp#.
|
inline |
|
inline |
Definition at line 1329 of file #PartBunch.hpp#.
|
inline |
Definition at line 1274 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::rmin_m.
Referenced by H5PartWrapperForPT::writeStepHeader().
|
inline |
Definition at line 725 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::rmin_m.
| void PartBunch< T, Dim >::get_PBounds | ( | Vector_t< double, 3 > & | min, |
| Vector_t< double, 3 > & | max | ||
| ) | const |
Return maximum amplitudes.
Definition at line 826 of file .PartBunchBase.hpp.
References ippl::max(), and ippl::min().

|
inline |
|
inline |
Definition at line 1223 of file #PartBunch.hpp#.
References ippl::max(), and ippl::min().

|
inline |
Definition at line 833 of file PartBunch.h.
Referenced by StatWriter::write().
Definition at line 1296 of file #PartBunch.hpp#.
Referenced by ParallelTracker::computeSpaceChargeFields(), and H5PartWrapperForPT::writeStepHeader().
|
inline |
Definition at line 753 of file PartBunch.h.
|
inline |
Definition at line 1299 of file #PartBunch.hpp#.
|
inline |
Definition at line 1293 of file #PartBunch.hpp#.
Referenced by H5PartWrapperForPT::writeStepHeader().
|
inline |
Definition at line 745 of file PartBunch.h.
Definition at line 1290 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::calcNumPartsOutside().
|
inline |
Definition at line 749 of file PartBunch.h.
|
inline |
Definition at line 837 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::rmsDensity_m.
Referenced by StatWriter::write().
Definition at line 1287 of file #PartBunch.hpp#.
Referenced by StatWriter::write().
|
inline |
Definition at line 741 of file PartBunch.h.
Definition at line 1284 of file #PartBunch.hpp#.
Referenced by DataSink::dumpSDDS(), and H5PartWrapperForPT::writeStepHeader().
|
inline |
Definition at line 737 of file PartBunch.h.
Definition at line 1420 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::spos_m.
Referenced by Monitor::initialise(), PartBunch< PLayout, T, Dim >::print(), MemoryProfiler::write(), StatWriter::write(), and H5PartWrapperForPT::writeStepHeader().
|
inline |
Definition at line 712 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::spos_m.
|
inline |
Definition at line 821 of file PartBunch.h.
Referenced by StatWriter::write().
|
inlineinherited |
Get particle attribute
| i | attribute number in container |
Definition at line 199 of file ParticleBase.h.
|
inlineinherited |
Definition at line 240 of file ParticleBase.h.
|
inline |
Definition at line 240 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::bcHandler_m.
Referenced by PartBunch< PLayout, T, Dim >::PartBunch().
|
inline |
Definition at line 164 of file .PartBunchBase.h.
|
inline |
Definition at line 346 of file #PartBunch.hpp#.
|
inline |
Get gamma of one bin.
Definition at line 1088 of file #PartBunch.hpp#.
|
inline |
|
inline |
Definition at line 235 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::bins_m.
Referenced by PartBunch< PLayout, T, Dim >::PartBunch().
|
inline |
Definition at line 1201 of file #PartBunch.hpp#.
References dot(), and PartBunch< PLayout, T, Dim >::get_bounds().

get the total charge per simulation particle
Definition at line 284 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::getQ(), StatWriter::write(), DataSink::writeImpactStatistics(), and H5PartWrapperForPT::writeStepHeader().
|
inline |
Definition at line 324 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::getTotalNum().

get the macro particle charge
Definition at line 289 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::qi_m.
Referenced by ParallelTracker::execute(), Multipole::isFocusing(), ParallelTracker::kickParticles(), and DataSink::writeImpactStatistics().
|
inline |
Definition at line 328 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::qi_m.
Definition at line 241 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::couplingConstant_m.
|
inline |
Definition at line 304 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::couplingConstant_m.
Definition at line 339 of file #PartBunch.hpp#.
Referenced by StatWriter::write(), and H5PartWrapperForPT::writeStepHeader().
|
inline |
Definition at line 342 of file PartBunch.h.
Definition at line 1297 of file .PartBunchBase.hpp.
Definition at line 1239 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::dt_m.
Referenced by Corrector::apply(), ParallelTracker::autophaseCavities(), ParallelTracker::changeDT(), ParallelTracker::execute(), ParallelTracker::findStartPosition(), Corrector::goOnline(), ParallelTracker::selectDT(), ParallelTracker::setTime(), PartBunch< PLayout, T, Dim >::switchOffUnitlessPositions(), PartBunch< PLayout, T, Dim >::switchToUnitlessPositions(), ParallelTracker::timeIntegration2(), ParallelTracker::updateReferenceParticle(), ParallelTracker::updateRefToLabCSTrafo(), StatWriter::write(), and ParallelTracker::writePhaseSpace().
|
inline |
Definition at line 692 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::dt_m.
Definition at line 308 of file #PartBunch.hpp#.
References PartData::getE(), and PartBunch< PLayout, T, Dim >::reference.

|
inline |
Definition at line 815 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::eg_m, ippl::max(), and ippl::min().

| VectorPair_t PartBunch< PLayout, T, Dim >::getEExtrema | ( | ) |
|
inline |
Definition at line 357 of file #PartBunch.hpp#.
|
inline |
|
inlineinherited |
Definition at line 57 of file PicManager.h.
|
inline |
Definition at line 445 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::getFieldLayout().
Referenced by PartBunch< PLayout, T, Dim >::getFieldLayout(), PartBunch< PLayout, T, Dim >::getMesh(), PartBunch< PLayout, T, Dim >::runTests(), PartBunch< PLayout, T, Dim >::updateDomainLength(), and PartBunch< PLayout, T, Dim >::updateFields().

| FieldLayout_t & PartBunch< PLayout, T, Dim >::getFieldLayout | ( | ) |
|
inlineinherited |
Definition at line 61 of file PicManager.h.
|
inline |
Return the fieldsolver type if we have a fieldsolver.
Definition at line 845 of file #PartBunch.hpp#.
|
inline |
Definition at line 342 of file #PartBunch.hpp#.
|
inline |
Definition at line 346 of file PartBunch.h.
References endl().

Definition at line 1302 of file .PartBunchBase.hpp.
Definition at line 1401 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::globalMeanR_m.
|
inline |
Definition at line 890 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::globalMeanR_m.
|
inline |
Definition at line 898 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::globalToLocalQuaternion_m.
Definition at line 1369 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::globalTrackStep_m.
Referenced by ParallelTracker::dumpStats(), ParallelTracker::execute(), and H5PartWrapperForPT::writeStepHeader().
|
inline |
Definition at line 858 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::globalTrackStep_m.
|
inline |
Definition at line 1004 of file #PartBunch.hpp#.
|
inline |
Definition at line 315 of file #PartBunch.hpp#.
References PartData::getBeta(), and PartBunch< PLayout, T, Dim >::reference.

Definition at line 319 of file #PartBunch.hpp#.
References PartData::getGamma(), and PartBunch< PLayout, T, Dim >::reference.

| Vector_t< double, 3 > PartBunch< PLayout, T, Dim >::getKs3DRefp | ( | ) |
| Vector_t< double, 3 > PartBunch< PLayout, T, Dim >::getKs3DRefr | ( | ) |
Definition at line 1070 of file #PartBunch.hpp#.
References PartBins::getLastemittedBin(), and PartBunch< PLayout, T, Dim >::pbin_m.

|
inline |
|
inline |
Definition at line 1008 of file #PartBunch.hpp#.
|
inline |
|
inlineprivate |
Definition at line 115 of file .PartBunch.h.
Referenced by PartBunch< PLayout, T, Dim >::getMesh(), PartBunch< PLayout, T, Dim >::initialize(), and PartBunch< PLayout, T, Dim >::updateLayout().
|
inlineprivate |
Definition at line 120 of file .PartBunch.h.
|
inline |
Definition at line 370 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::globalPartPerNode_m.
Definition at line 429 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::globalPartPerNode_m.
|
inlineinherited |
Definition at line 67 of file PicManager.h.
|
inline |
Definition at line 1212 of file #PartBunch.hpp#.
References dot(), and PartBunch< PLayout, T, Dim >::getLocalBounds().

|
inline |
|
inline |
Definition at line 1180 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::getLocalNum(), and ippl::ParticleBase< PLayout >::R.
Referenced by PartBunch< PLayout, T, Dim >::get_bounds(), and PartBunch< PLayout, T, Dim >::getLocalBoundingSphere().

Definition at line 1291 of file .PartBunchBase.hpp.
Referenced by PartBunch< PLayout, T, Dim >::balance(), PartBunch< PLayout, T, Dim >::boundp_destroyT(), PartBunch< PLayout, T, Dim >::calcLineDensity(), PartBunch< PLayout, T, Dim >::calcNumPartsOutside(), ParallelTracker::computeExternalFields(), PartBunch< PLayout, T, Dim >::destroyT(), Probe::doCheck(), PartBunch< PLayout, T, Dim >::end(), PartBunch< PLayout, T, Dim >::gatherLoadBalanceStatistics(), PartBunch< PLayout, T, Dim >::gatherStatistics(), PartBunch< PLayout, T, Dim >::getLocalBounds(), PartBunch< PLayout, T, Dim >::ConstIterator::operator*(), PartBunch< PLayout, T, Dim >::print(), PartBunch< PLayout, T, Dim >::scatterCIC(), PartBunch< PLayout, T, Dim >::swap(), PartBunch< PLayout, T, Dim >::switchToUnitlessPositions(), PartBunch< PLayout, T, Dim >::updateNumTotal(), StatWriter::write(), and H5PartWrapperForPT::writeStepData().
|
inline |
Definition at line 250 of file PartBunch.h.
Definition at line 1383 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::localTrackStep_m.
Referenced by H5PartWrapperForPT::writeStepHeader().
|
inline |
Definition at line 872 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::localTrackStep_m.
Definition at line 301 of file #PartBunch.hpp#.
References PartData::getM(), and PartBunch< PLayout, T, Dim >::reference.
Referenced by Corrector::goOnline(), PartBunch< PLayout, T, Dim >::ConstIterator::operator*(), Corrector::setDesignEnergy(), and H5PartWrapperForPT::writeStepHeader().

|
inline |
Definition at line 338 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::getTotalNum().

Definition at line 293 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::massPerParticle_m.
Referenced by ParallelTracker::execute(), and ParallelTracker::kickParticles().
|
inline |
Definition at line 331 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::mi_m.
|
inline |
Definition at line 134 of file .PartBunch.h.
References PartBunch< PLayout, T, Dim >::getLayout().

|
inline |
Definition at line 441 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::getFieldLayout().
Referenced by PartBunch< PLayout, T, Dim >::runTests(), and PartBunch< PLayout, T, Dim >::updateFields().

| const Mesh_t & PartBunch< PLayout, T, Dim >::getMesh | ( | ) | const |
|
inline |
Definition at line 1012 of file #PartBunch.hpp#.
|
inline |
Definition at line 1016 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::boundp_destroyT(), and PartBunch< PLayout, T, Dim >::destroyT().
|
inline |
Definition at line 1393 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::numBunch_m.
|
inline |
Definition at line 882 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::numBunch_m.
Definition at line 304 of file #PartBunch.hpp#.
References PartData::getP(), and PartBunch< PLayout, T, Dim >::reference.

|
inline |
Definition at line 221 of file PartBunch.h.
Referenced by MultipoleTBase::apply(), VerticalFFAMagnet::apply(), Multipole::apply(), RFCavity::apply(), ScalingFFAMagnet::apply(), Solenoid::apply(), Ring::apply(), ParallelTracker::changeDT(), ParallelTracker::computeSpaceChargeFields(), ParallelTracker::execute(), ParallelTracker::kickParticles(), PartBunch< PLayout, T, Dim >::PartBunch(), ParallelTracker::pushParticles(), PartBunch< PLayout, T, Dim >::setCharge(), PartBunch< PLayout, T, Dim >::setMass(), ParallelTracker::setTime(), PartBunch< PLayout, T, Dim >::switchOffUnitlessPositions(), PartBunch< PLayout, T, Dim >::switchToUnitlessPositions(), ParallelTracker::timeIntegration2(), StatWriter::write(), and H5PartWrapperForPT::writeStepData().
Definition at line 1125 of file #PartBunch.hpp#.
|
inline |
Definition at line 1135 of file #PartBunch.hpp#.
|
inline |
Definition at line 1128 of file #PartBunch.hpp#.
|
inline |
Definition at line 1138 of file #PartBunch.hpp#.
|
inline |
Definition at line 1131 of file #PartBunch.hpp#.
|
inline |
Access to reference data.
Definition at line 298 of file #PartBunch.hpp#.
References PartData::getQ(), and PartBunch< PLayout, T, Dim >::reference.
Referenced by Corrector::goOnline(), RFCavity::initialise(), Corrector::setDesignEnergy(), and H5PartWrapperForPT::writeStepHeader().

|
inline |
Definition at line 335 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::getCharge().

| Quaternion_t PartBunch< PLayout, T, Dim >::getQKs3D | ( | ) |
|
inline |
Definition at line 359 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::reference_m.
Definition at line 353 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::reference.
Referenced by RFCavity::trackOnAxisParticle().
|
inline |
Definition at line 701 of file #PartBunch.hpp#.
| double PartBunch< PLayout, T, Dim >::getRho | ( | int | x, |
| int | y, | ||
| int | z | ||
| ) |
|
inline |
Definition at line 1360 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::stepsPerTurn_m.
|
inline |
Definition at line 849 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::stepsPerTurn_m.
Definition at line 1412 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::SteptoLastInj_m.
|
inline |
Definition at line 906 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::SteptoLastInj_m.
Definition at line 1251 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::t_m.
Referenced by ParallelTracker::applyFractionalStep(), ParallelTracker::applyPluginElements(), ParallelTracker::autophaseCavities(), ParallelTracker::computeExternalFields(), ParallelTracker::dumpStats(), ParallelTracker::execute(), PartBunch< PLayout, T, Dim >::ConstIterator::operator*(), ParallelTracker::updateReferenceParticle(), LBalWriter::write(), MemoryProfiler::write(), StatWriter::write(), DataSink::writeImpactStatistics(), ParallelTracker::writePhaseSpace(), and H5PartWrapperForPT::writeStepHeader().
|
inline |
Definition at line 704 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::t_m.
|
inline |
Definition at line 1033 of file #PartBunch.hpp#.
|
inline |
|
inline |
Definition at line 232 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::Etmp_m.
Referenced by PartBunch< PLayout, T, Dim >::PartBunch().
Definition at line 1286 of file .PartBunchBase.hpp.
Referenced by ParallelTracker::applyPluginElements(), ParallelTracker::computeExternalFields(), PartBunch< PLayout, T, Dim >::destroyT(), Probe::doInitialise(), ParallelTracker::execute(), PartBunch< PLayout, T, Dim >::getCharge(), PartBunch< PLayout, T, Dim >::getM(), Monitor::initialise(), PartBunch< PLayout, T, Dim >::setCharge(), PartBunch< PLayout, T, Dim >::setMass(), StatWriter::write(), DataSink::writeImpactStatistics(), ParallelTracker::writePhaseSpace(), H5Writer::writePhaseSpace(), and H5PartWrapperForPT::writeStep().
|
inline |
Definition at line 246 of file PartBunch.h.
Definition at line 1327 of file .PartBunchBase.hpp.
Definition at line 1142 of file #PartBunch.hpp#.
|
inline |
Definition at line 1152 of file #PartBunch.hpp#.
|
inline |
Definition at line 1145 of file #PartBunch.hpp#.
|
inline |
Definition at line 1155 of file #PartBunch.hpp#.
|
inline |
Definition at line 1148 of file #PartBunch.hpp#.
|
inline |
Definition at line 1390 of file .PartBunchBase.hpp.
Definition at line 1375 of file .PartBunchBase.hpp.
|
inherited |
Create nTotal particles globally, equally distributed among all processors. This is a collective call.
| nTotal | number of total particles to be created |
Definition at line 267 of file ParticleBase.hpp.
|
inlineoverridevirtual |
Grid-to-particle operation.
In a derived class, the user must override this method to perform grid-to-particle operations.
Implements ippl::PicManager< T, 3, ParticleContainer< T, 3 >, FieldContainer< T, 3 >, LoadBalancer< T, 3 > >.
Definition at line 288 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::gatherCIC().

|
inline |
Definition at line 1092 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::pbin_m.
Definition at line 838 of file #PartBunch.hpp#.
Referenced by ParallelTracker::computeExternalFields(), ParallelTracker::computeSpaceChargeFields(), and ParallelTracker::doBinaryRepartition().
|
inline |
Definition at line 1247 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::dt_m, and PartBunch< PLayout, T, Dim >::t_m.
Referenced by ParallelTracker::execute().
|
inline |
Definition at line 700 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::dt_m, and PartBunch< PLayout, T, Dim >::t_m.
Definition at line 1378 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::globalTrackStep_m, and PartBunch< PLayout, T, Dim >::localTrackStep_m.
Referenced by ParallelTracker::execute().
|
inline |
Definition at line 867 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::globalTrackStep_m, and PartBunch< PLayout, T, Dim >::localTrackStep_m.
| void PartBunch< PLayout, T, Dim >::initialize | ( | FieldLayout_t * | fLayout | ) |
Definition at line 54 of file .PartBunch.cpp.
References PartBunch< PLayout, T, Dim >::getLayout().

|
inline |
Definition at line 231 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::updateLayout().

|
inherited |
Initialize the particle layout. Needs to be called when the ParticleBase instance is constructed with the default ctor.
Definition at line 150 of file ParticleBase.hpp.
|
inline |
Definition at line 385 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::EFDMag_m, and PartBunch< PLayout, T, Dim >::orb.
|
inherited |
Definition at line 290 of file ParticleBase.hpp.
|
inline |
Definition at line 470 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::fixed_grid.
Referenced by PartBunch< PLayout, T, Dim >::boundp().
| void PartBunch< PLayout, T, Dim >::iterateEmittedBin | ( | int | binNumber | ) |
|
delete |
|
delete |
|
inline |
|
protectedinherited |
Fill attributes of buffer.
| buffer | to send |
| hash | function to access index. |
Definition at line 345 of file ParticleBase.hpp.
|
inherited |
Determine the total space necessary to store a certain number of particles
| MemorySpace | only consider attributes stored in this memory space |
| count | particle number |
|
inherited |
Definition at line 328 of file ParticleBase.hpp.
|
inlineoverridevirtual |
Particle-to-grid operation.
In a derived class, the user must override this method to perform particle-to-grid operations.
Implements ippl::PicManager< T, 3, ParticleContainer< T, 3 >, FieldContainer< T, 3 >, LoadBalancer< T, 3 > >.
Definition at line 284 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::scatterCIC().

Definition at line 669 of file PartBunch.cpp.
References endl().
Referenced by ParallelTracker::execute().

| void PartBunch< T, Dim >::performDestroy | ( | bool | updateLocalNum = false | ) |
Definition at line 1385 of file .PartBunchBase.hpp.
|
inlinevirtualinherited |
A method that should be used after perfoming a step of simulation.
Derived classes can override this method to dump data, increment time, etc. The default implementation does nothing.
Definition at line 44 of file BaseManager.h.
Referenced by ippl::BaseManager::run().
A method that should be used for setting up the simulation.
Derived classes can override this method to allocate memory, initialize variables, etc. The default implementation does nothing.
Reimplemented from ippl::BaseManager.
Definition at line 341 of file PartBunch.cpp.
Referenced by PartBunch< PLayout, T, Dim >::PartBunch().
|
inlinevirtualinherited |
A method that should be used for preparation before perfoming a step of simulation.
The default implementation does nothing.
Definition at line 35 of file BaseManager.h.
Referenced by ippl::BaseManager::run().
Definition at line 869 of file #PartBunch.hpp#.
References endl(), Inform::flags(), PartBunch< PLayout, T, Dim >::get_sPos(), PartBunch< PLayout, T, Dim >::getLocalNum(), and level1().
Referenced by operator<<().

| Inform & PartBunch< PLayout, T, Dim >::print | ( | Inform & | os | ) |
| Inform & PartBunch< PLayout, T, Dim >::print | ( | Inform & | os | ) |
|
inline |
Definition at line 254 of file PartBunch.h.
Referenced by Corrector::apply(), TravelingWave::apply(), LF2< FieldFunction, Arguments >::doAdvance_m(), Probe::doCheck(), PartBunch< PLayout, T, Dim >::ConstIterator::operator*(), and StatWriter::write().

Definition at line 1020 of file #PartBunch.hpp#.
Definition at line 1063 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::pbin_m.
|
inline |
|
inline |
|
inherited |
Receives particles from another rank
| rank | the source rank |
| tag | the MPI tag |
| recvNum | the number of messages already received (to distinguish the buffers) |
| nRecvs | the number of particles to receive |
Definition at line 314 of file ParticleBase.hpp.
|
inline |
Definition at line 389 of file #PartBunch.hpp#.
References endl(), PartBunch< PLayout, T, Dim >::orb, ippl::ParticleBase< PLayout >::R, and PartBunch< PLayout, T, Dim >::updateLayout().

Definition at line 1342 of file .PartBunchBase.hpp.
|
inline |
Definition at line 672 of file #PartBunch.hpp#.
| void PartBunch< PLayout, T, Dim >::resetInterpolationCache | ( | bool | clearCache = false | ) |
|
inline |
Definition at line 329 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::reference.
|
inline |
Definition at line 1116 of file #PartBunch.hpp#.
|
inline |
|
inline |
reset Bin[] for each particle according to the method given in paper PAST-AB(064402) by G.
Fubiani et al.
Definition at line 1112 of file #PartBunch.hpp#.
|
inline |
Set reference data.
Definition at line 326 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::reference.
| void PartBunch< PLayout, T, Dim >::resizeMesh | ( | ) |
Definition at line 318 of file .PartBunch.cpp.
|
private |
resize mesh to geometry specified
|
inline |
|
inlineinherited |
The main for loop fro running a simulation.
This method performs a simulation run by calling pre_step, advance, and post_step in a loop for a specified number of time steps.
| nt | The number of time steps to run the simulation. |
Definition at line 63 of file BaseManager.h.
References ippl::BaseManager::advance(), ippl::BaseManager::post_step(), and ippl::BaseManager::pre_step().

Definition at line 650 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::Dim, PartBunch< PLayout, T, Dim >::eg_m, PartBunch< PLayout, T, Dim >::getFieldLayout(), PartBunch< PLayout, T, Dim >::getMesh(), PartBunch< PLayout, T, Dim >::hr_m, PartBunch< PLayout, T, Dim >::nr_m, PartBunch< PLayout, T, Dim >::rho_m, and PartBunch< PLayout, T, Dim >::setBCAllPeriodic().

| void PartBunch< PLayout, T, Dim >::runTests | ( | ) |
|
inline |
Definition at line 294 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::scatterCICPerBin().
Referenced by PartBunch< PLayout, T, Dim >::par2grid().

|
inline |
Definition at line 962 of file #PartBunch.hpp#.
References ippl::Comm, Physics::e, PartBunch< PLayout, T, Dim >::EFDMag_m, endl(), PartBunch< PLayout, T, Dim >::getLocalNum(), IpplTimings::getTimer(), PartBunch< PLayout, T, Dim >::Q, PartBunch< PLayout, T, Dim >::Q_m, ippl::ParticleBase< PLayout >::R, ippl::scatter(), IpplTimings::startTimer(), and IpplTimings::stopTimer().

| void PartBunch< T, Dim >::scatterCICPerBin | ( | binIndex_t | binIndex | ) |
Scatters only particles in bin binIndex. Scatters all particles if binIndex=-1
Definition at line 601 of file PartBunch.cpp.
References ippl::Vector< T, Dim >::begin(), ippl::Comm, Physics::e, ippl::Vector< T, Dim >::end(), endl(), and ippl::scatter().
Referenced by PartBunch< PLayout, T, Dim >::scatterCIC().

|
inherited |
Sends particles to another rank
| HashType | the hash view type |
| rank | the destination rank |
| tag | the MPI tag |
| sendNum | the number of messages already sent (to distinguish the buffers) |
| requests | destination vector in which to store the MPI requests for polling purposes |
| hash | a hash view indicating which particles need to be sent to which rank |
Definition at line 304 of file ParticleBase.hpp.
|
inherited |
Definition at line 622 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::dh_m.
get the spos of the primary beam
| none |
Definition at line 1262 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::spos_m.
Referenced by ParallelTracker::execute(), and H5PartWrapperForPT::readStepHeader().
|
inline |
Definition at line 708 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::spos_m.
Definition at line 632 of file #PartBunch.hpp#.
| void PartBunch< PLayout, T, Dim >::setBCAllOpen | ( | ) |
|
inline |
Definition at line 642 of file #PartBunch.hpp#.
References ippl::PERIODIC, and ippl::ParticleBase< PLayout >::setParticleBC().
Referenced by PartBunch< PLayout, T, Dim >::runTests(), and PartBunch< PLayout, T, Dim >::setupBCs().

| void PartBunch< PLayout, T, Dim >::setBCAllPeriodic | ( | ) |
|
inline |
Definition at line 635 of file #PartBunch.hpp#.
| void PartBunch< PLayout, T, Dim >::setBCForDCBeam | ( | ) |
|
inline |
|
inline |
Definition at line 239 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::bcHandler_m.
Referenced by PartBunch< PLayout, T, Dim >::PartBunch().
|
inline |
Definition at line 168 of file .PartBunchBase.h.
Definition at line 806 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::periodLength_m.
|
inline |
Set the charge of all other the ones in bin to zero.
Definition at line 1102 of file #PartBunch.hpp#.
|
inline |
Set the charge of one bin to the value of q and all other to zero.
Definition at line 1097 of file #PartBunch.hpp#.
|
inline |
|
inline |
|
inline |
Definition at line 237 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::bins_m.
Referenced by PartBunch< PLayout, T, Dim >::PartBunch().
|
inline |
Definition at line 316 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::getParticleContainer(), and PartBunch< PLayout, T, Dim >::qi_m.

Definition at line 257 of file #PartBunch.hpp#.
References endl(), PartBunch< PLayout, T, Dim >::getTotalNum(), PartBunch< PLayout, T, Dim >::qi_m, and ippl::Warn.

Definition at line 268 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::qi_m.
Definition at line 245 of file #PartBunch.hpp#.
References Physics::c, and PartBunch< PLayout, T, Dim >::couplingConstant_m.
|
inline |
Definition at line 308 of file PartBunch.h.
References Physics::c, and PartBunch< PLayout, T, Dim >::couplingConstant_m.
Definition at line 1235 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::dt, and PartBunch< PLayout, T, Dim >::dt_m.
Referenced by ParallelTracker::execute(), and ParallelTracker::selectDT().
|
inline |
Definition at line 688 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::dt, and PartBunch< PLayout, T, Dim >::dt_m.
|
inline |
Definition at line 1023 of file #PartBunch.hpp#.
|
inline |
|
inlineinherited |
Definition at line 59 of file PicManager.h.
|
inlineinherited |
Definition at line 63 of file PicManager.h.
|
inline |
Definition at line 886 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::globalMeanR_m.
|
inline |
Definition at line 1397 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::globalMeanR_m.
Referenced by ParallelTracker::computeSpaceChargeFields().
|
inline |
Definition at line 894 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::globalToLocalQuaternion_m.
step in multiple TRACK commands
Definition at line 1365 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::globalTrackStep_m.
Referenced by H5PartWrapperForPT::readStepHeader().
|
inline |
step in multiple TRACK commands
Definition at line 854 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::globalTrackStep_m.
| void PartBunch< PLayout, T, Dim >::setKs3DRefp | ( | Vector_t< double, 3 > | p | ) |
| void PartBunch< PLayout, T, Dim >::setKs3DRefr | ( | Vector_t< double, 3 > | r | ) |
|
inlineinherited |
Definition at line 69 of file PicManager.h.
|
inline |
Definition at line 1077 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::pbin_m.
|
inline |
Definition at line 1312 of file .PartBunchBase.hpp.
|
inlineinherited |
Definition at line 157 of file ParticleBase.h.
step in a TRACK command
Definition at line 1374 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::localTrackStep_m.
Referenced by TrackRun::execute(), and H5PartWrapperForPT::readStepHeader().
|
inline |
step in a TRACK command
Definition at line 863 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::localTrackStep_m.
|
inline |
Definition at line 320 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::getParticleContainer(), and PartBunch< PLayout, T, Dim >::mi_m.

Definition at line 273 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::getTotalNum(), and PartBunch< PLayout, T, Dim >::massPerParticle_m.

Definition at line 279 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::massPerParticle_m.
Definition at line 1387 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::bunchLocalNum_m, PartBunch< PLayout, T, Dim >::bunchTotalNum_m, and PartBunch< PLayout, T, Dim >::numBunch_m.
|
inline |
Definition at line 876 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::bunchLocalNum_m, PartBunch< PLayout, T, Dim >::bunchTotalNum_m, and PartBunch< PLayout, T, Dim >::numBunch_m.
|
inlineinherited |
Set all boundary conditions to this BC
| bc | the boundary conditions |
Definition at line 184 of file ParticleBase.h.
|
inlineinherited |
Set all boundary conditions
| bc | the boundary conditions |
Definition at line 178 of file ParticleBase.h.
|
inlineinherited |
Definition at line 55 of file PicManager.h.
|
inline |
Definition at line 1041 of file #PartBunch.hpp#.
|
inline |
Definition at line 334 of file #PartBunch.hpp#.
| void PartBunch< PLayout, T, Dim >::setQKs3D | ( | Quaternion_t | q | ) |
CAN not re-inizialize ParticleLayout this is an IPPL issue
Definition at line 898 of file .PartBunchBase.hpp.
References OpalData::getInstance(), ippl::initialize(), and FieldSolver< T, Dim >::initSolver().
Referenced by PartBunch< PLayout, T, Dim >::PartBunch().

Definition at line 1356 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::stepsPerTurn_m.
|
inline |
Definition at line 845 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::stepsPerTurn_m.
Definition at line 1408 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::SteptoLastInj_m.
|
inline |
Definition at line 902 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::SteptoLastInj_m.
Definition at line 1243 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::t_m.
Referenced by ParallelTracker::applyFractionalStep(), ParallelTracker::execute(), ParallelTracker::findStartPosition(), and H5PartWrapperForPT::readStepHeader().
|
inline |
Definition at line 696 of file PartBunch.h.
References PartBunch< PLayout, T, Dim >::t_m.
|
inline |
Definition at line 1030 of file #PartBunch.hpp#.
|
inline |
|
inline |
Definition at line 233 of file PartBunch.h.
Referenced by PartBunch< PLayout, T, Dim >::PartBunch().
Definition at line 1307 of file .PartBunchBase.hpp.
|
private |
Definition at line 1251 of file .PartBunchBase.hpp.
References IpplTimings::getTimer().
Referenced by PartBunch< PLayout, T, Dim >::PartBunch().

|
inline |
Definition at line 638 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::setBCAllPeriodic().

|
inline |
| void PartBunch< T, Dim >::setUpdateFlag | ( | UpdateFlags_t | f, |
| bool | val | ||
| ) |
Definition at line 1332 of file .PartBunchBase.hpp.
Definition at line 1159 of file #PartBunch.hpp#.
|
inline |
| void PartBunch< T, Dim >::spaceChargeEFieldCheck | ( | Vector_t< double, 3 > | efScale | ) |
Definition at line 171 of file PartBunch.cpp.
References ippl::Comm, endl(), ippl::max(), ippl::min(), and ippl::parallel_reduce().

|
inline |
Definition at line 678 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::getLocalNum(), PartBunch< PLayout, T, Dim >::M, PartBunch< PLayout, T, Dim >::P, PartBunch< PLayout, T, Dim >::Phi, PartBunch< PLayout, T, Dim >::Q, and ippl::ParticleBase< PLayout >::R.

| void PartBunch< PLayout, T, Dim >::swap | ( | unsigned int | i, |
| unsigned int | j | ||
| ) |
|
inline |
|
inline |
Definition at line 736 of file #PartBunch.hpp#.
Referenced by ParallelTracker::pushParticles().
|
inline |
Convert particle positions from unitless back to physical coordinates.
This function undoes the transformation applied by switchToUnitlessPositions() by converting positions R' in unitless coordinates back to physical positions R using the relation
R = R' * c * dt ,
where c is the speed of light and dt is the time step.
If use_dt_per_particle is false (default), the global time step returned by getdT() is used for all particles. If it is true, the conversion uses the per-particle time step stored in the particle container's dt field, i.e. R_i = R'_i * c * dt_i for each particle i.
| use_dt_per_particle | Select whether to use the per-particle dt (true) or the global dt from getdT() (false) for the scaling. |
Definition at line 488 of file PartBunch.h.
References Physics::c, endl(), PartBunch< PLayout, T, Dim >::getdT(), PartBunch< PLayout, T, Dim >::getParticleContainer(), ippl::getRangePolicy(), gmsg, PartBunch< PLayout, T, Dim >::isUnitless_m, and ippl::parallel_for().

|
inline |
Definition at line 715 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::dt, PartBunch< PLayout, T, Dim >::getdT(), PartBunch< PLayout, T, Dim >::getLocalNum(), ippl::ParticleBase< PLayout >::R, PartBunch< PLayout, T, Dim >::unit_state_m, and PartBunch< PLayout, T, Dim >::unitless.
Referenced by ParallelTracker::pushParticles().

|
inline |
Transform particle positions to a unitless coordinate system.
This converts the stored particle positions \( R \) to unitless positions \( R' \) according to
\[ R' = \frac{R}{c \, \Delta t}, \]
where \( c \) is the speed of light and \( \Delta t \) is a time step. The resulting coordinates are dimensionless and are used by algorithms that operate in this normalized coordinate system.
By default, a single global time step \( \Delta t = \text{getdT()} \) is used for all particles. If use_dt_per_particle is set to true, each particle's individual time step dt is used instead, i.e. \( R'_i = R_i / (c \, dt_i) \).
| use_dt_per_particle | If true, use each particle's own dt value in the normalization; if false (default), use the global time step returned by getdT(). |
Definition at line 443 of file PartBunch.h.
References Physics::c, endl(), PartBunch< PLayout, T, Dim >::getdT(), PartBunch< PLayout, T, Dim >::getParticleContainer(), ippl::getRangePolicy(), gmsg, PartBunch< PLayout, T, Dim >::isUnitless_m, and ippl::parallel_for().

|
protectedinherited |
Definition at line 1347 of file .PartBunchBase.hpp.
References IpplException::what(), and IpplException::where().
Referenced by PartBunch< PLayout, T, Dim >::boundp(), and PartBunch< PLayout, T, Dim >::updateLayout().

| void PartBunch< T, Dim >::update | ( | const ParticleAttrib< char > & | canSwap | ) |
Definition at line 1356 of file .PartBunchBase.hpp.
References IpplException::what(), and IpplException::where().

|
inline |
Definition at line 370 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::Dim, and PartBunch< PLayout, T, Dim >::getFieldLayout().

|
private |
Definition at line 490 of file .PartBunch.cpp.
References PartBunch< PLayout, T, Dim >::Dimension, and PartBunch< PLayout, T, Dim >::getFieldLayout().

|
privatepure virtual |
|
private |
Definition at line 497 of file .PartBunch.cpp.
References PartBunch< PLayout, T, Dim >::bc_m, PartBunch< PLayout, T, Dim >::eg_m, PartBunch< PLayout, T, Dim >::getFieldLayout(), PartBunch< PLayout, T, Dim >::getMesh(), PartBunch< PLayout, T, Dim >::hr_m, PartBunch< PLayout, T, Dim >::rho_m, and PartBunch< PLayout, T, Dim >::vbc_m.

|
privatevirtual |
|
inline |
Definition at line 376 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::boundp().
|
inline |
Definition at line 453 of file #PartBunch.hpp#.
References PartBunch< PLayout, T, Dim >::getLayout(), IpplTimings::getTimer(), IpplTimings::startTimer(), IpplTimings::stopTimer(), PartBunch< PLayout, T, Dim >::update(), and ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::updateLayout().
Referenced by PartBunch< PLayout, T, Dim >::initialize(), and PartBunch< PLayout, T, Dim >::repartition().

|
inline |
Definition at line 242 of file PartBunch.h.
Definition at line 1053 of file #PartBunch.hpp#.
References ippl::Comm, and PartBunch< PLayout, T, Dim >::getLocalNum().
Referenced by ParallelTracker::applyPluginElements().

|
inline |
|
inline |
|
inline |
Definition at line 1037 of file #PartBunch.hpp#.
Definition at line 1026 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::boundp_destroyT(), PartBunch< PLayout, T, Dim >::destroyT(), and ParallelTracker::execute().
|
inline |
| bc_type PartBunch< PLayout, T, Dim >::allPeriodic |
Definition at line 175 of file #PartBunch.hpp#.
| double PartBunch< PLayout, T, Dim >::alpha_m |
Definition at line 98 of file PartBunch.h.
|
privateinherited |
all attributes
Definition at line 365 of file ParticleBase.h.
|
private |
for defining the boundary conditions
Definition at line 107 of file .PartBunch.h.
Referenced by PartBunch< PLayout, T, Dim >::updateFields().
|
private |
Definition at line 84 of file PartBunch.h.
Referenced by PartBunch< PLayout, T, Dim >::getBCHandler(), and PartBunch< PLayout, T, Dim >::setBCHandler().
Definition at line 97 of file PartBunch.h.
| ParticleAttrib<Vector_t<T, Dim> > PartBunch< PLayout, T, Dim >::Bf |
Definition at line 74 of file #PartBunch.hpp#.
| ParticleAttrib<int> PartBunch< PLayout, T, Dim >::Bin |
Definition at line 75 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::boundp_destroyT(), and PartBunch< PLayout, T, Dim >::destroyT().
| std::unique_ptr<size_t[]> PartBunch< PLayout, T, Dim >::binemitted_m |
Definition at line 116 of file #PartBunch.hpp#.
| std::unique_ptr< double[]> PartBunch< PLayout, T, Dim >::bingamma_m |
holds the gamma of the bin
Definition at line 111 of file #PartBunch.hpp#.
|
private |
Definition at line 148 of file PartBunch.h.
Referenced by PartBunch< PLayout, T, Dim >::getBins(), and PartBunch< PLayout, T, Dim >::setBins().
| std::vector< size_t > PartBunch< PLayout, T, Dim >::bunchLocalNum_m |
Definition at line 132 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::setNumBunch().
| ParticleAttrib<int> PartBunch< PLayout, T, Dim >::bunchNum |
Definition at line 70 of file #PartBunch.hpp#.
| std::vector< size_t > PartBunch< PLayout, T, Dim >::bunchTotalNum_m |
number of particles per bunch
Definition at line 131 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::setNumBunch().
| double PartBunch< PLayout, T, Dim >::centroid_m[2 *Dim] |
holds the centroid of the beam
Definition at line 154 of file #PartBunch.hpp#.
| double PartBunch< PLayout, T, Dim >::couplingConstant_m |
Definition at line 145 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::getCouplingConstant(), and PartBunch< PLayout, T, Dim >::setCouplingConstant().
Definition at line 194 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::boundp().
| std::array<bool, Dim> PartBunch< PLayout, T, Dim >::decomp_m |
Definition at line 102 of file PartBunch.h.
Referenced by PartBunch< PLayout, T, Dim >::PartBunch().
|
privateinherited |
buffers for particle partitioning
Definition at line 374 of file ParticleBase.h.
Mesh enlargement.
Definition at line 141 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::boundp(), PartBunch< PLayout, T, Dim >::calcLineDensity(), and PartBunch< PLayout, T, Dim >::set_meshEnlargement().
|
static |
Definition at line 64 of file .PartBunchBase.h.
Referenced by PartBunch< PLayout, T, Dim >::updateDomainLength().
| ippl::NDIndex<Dim> PartBunch< PLayout, T, Dim >::domain_m |
Definition at line 101 of file PartBunch.h.
Referenced by PartBunch< PLayout, T, Dim >::PartBunch().
| double PartBunch< PLayout, T, Dim >::DrInv_m |
Definition at line 99 of file PartBunch.h.
| ParticleAttrib<double> PartBunch< PLayout, T, Dim >::dt |
Definition at line 76 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::setdT(), and PartBunch< PLayout, T, Dim >::switchToUnitlessPositions().
6x6 matrix of the moments of the beam
holds the timestep in seconds
Definition at line 160 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::getdT(), PartBunch< PLayout, T, Dim >::incrementT(), PartBunch< PLayout, T, Dim >::PartBunch(), and PartBunch< PLayout, T, Dim >::setdT().
| ParticleAttrib<Vector_t<T, Dim> > PartBunch< PLayout, T, Dim >::E |
Definition at line 72 of file #PartBunch.hpp#.
| ParticleAttrib<Vector_t<T, Dim> > PartBunch< PLayout, T, Dim >::Ef |
Definition at line 73 of file #PartBunch.hpp#.
| VField_t<T, Dim> PartBunch< PLayout, T, Dim >::EFD_m |
Definition at line 166 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::gatherCIC().
| Field_t<Dim> PartBunch< PLayout, T, Dim >::EFDMag_m |
Definition at line 169 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::initializeORB(), and PartBunch< PLayout, T, Dim >::scatterCIC().
| ParticleAttrib<Vector_t<T, Dim> > PartBunch< PLayout, T, Dim >::Eftmp |
Definition at line 78 of file #PartBunch.hpp#.
| VField_t<T, Dim> PartBunch< PLayout, T, Dim >::eg_m |
Definition at line 167 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::getEExtrema(), PartBunch< PLayout, T, Dim >::runTests(), and PartBunch< PLayout, T, Dim >::updateFields().
vector field on the grid
Definition at line 94 of file .PartBunch.h.
|
staticconstexprprivateinherited |
Definition at line 88 of file ParticleBase.h.
|
private |
Temporary E field container used to store temporary E field during binned solver.
Definition at line 200 of file PartBunch.h.
Referenced by PartBunch< PLayout, T, Dim >::getTempEField().
| std::unique_ptr<std::ofstream> PartBunch< PLayout, T, Dim >::f_stream |
Definition at line 920 of file #PartBunch.hpp#.
|
protectedinherited |
Definition at line 72 of file PicManager.h.
| bool PartBunch< PLayout, T, Dim >::fixed_grid |
Definition at line 139 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::isGridFixed().
|
protectedinherited |
Definition at line 78 of file PicManager.h.
| Vector_t<T, Dim> PartBunch< PLayout, T, Dim >::globalMeanR_m |
Initialize the translation vector and rotation quaternion here.
Cyclotron tracker will reset these values each timestep TTracker can just use 0 translation and 0 rotation (quat[1 0 0 0]).
Definition at line 98 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::getGlobalMeanR(), and PartBunch< PLayout, T, Dim >::setGlobalMeanR().
|
private |
Initialize the translation vector and rotation quaternion here.
Cyclotron tracker will reset these values each timestep TTracker can just use 0 translation and 0 rotation (quat[1 0 0 0]).
Definition at line 129 of file PartBunch.h.
| std::unique_ptr< size_t[]> PartBunch< PLayout, T, Dim >::globalPartPerNode_m |
Definition at line 183 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::calcNumPartsOutside(), PartBunch< PLayout, T, Dim >::gatherLoadBalanceStatistics(), PartBunch< PLayout, T, Dim >::getLoadBalance(), and PartBunch< PLayout, T, Dim >::PartBunch().
|
private |
Definition at line 130 of file PartBunch.h.
Referenced by PartBunch< PLayout, T, Dim >::getGlobalToLocalQuaternion(), and PartBunch< PLayout, T, Dim >::setGlobalToLocalQuaternion().
| long long PartBunch< PLayout, T, Dim >::globalTrackStep_m |
if multiple TRACK commands
Definition at line 125 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::getGlobalTrackStep(), PartBunch< PLayout, T, Dim >::incTrackSteps(), and PartBunch< PLayout, T, Dim >::setGlobalTrackStep().
| Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::hr_m |
mesh size [m]
Definition at line 189 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::boundp(), PartBunch< PLayout, T, Dim >::PartBunch(), PartBunch< PLayout, T, Dim >::runTests(), and PartBunch< PLayout, T, Dim >::updateFields().
|
inherited |
view of particle IDs
Definition at line 118 of file ParticleBase.h.
| std::string PartBunch< PLayout, T, Dim >::integration_method_m |
Definition at line 71 of file PartBunch.h.
|
private |
Definition at line 112 of file .PartBunch.h.
|
private |
Definition at line 110 of file .PartBunch.h.
| bool PartBunch< PLayout, T, Dim >::isFirstRepartition_m |
Definition at line 75 of file PartBunch.h.
| std::array<bool, Dim> PartBunch< PLayout, T, Dim >::isParallel_m |
Definition at line 187 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::PartBunch().
|
private |
Definition at line 184 of file PartBunch.h.
Referenced by PartBunch< PLayout, T, Dim >::switchOffUnitlessPositions(), and PartBunch< PLayout, T, Dim >::switchToUnitlessPositions().
Definition at line 69 of file PartBunch.h.
|
privateinherited |
Definition at line 375 of file ParticleBase.h.
|
privateinherited |
particle layout
Definition at line 356 of file ParticleBase.h.
Definition at line 65 of file PartBunch.h.
|
protectedinherited |
Definition at line 76 of file PicManager.h.
|
privateinherited |
processor local number of particles
Definition at line 359 of file ParticleBase.h.
| long long PartBunch< PLayout, T, Dim >::localTrackStep_m |
step in a TRACK command
Definition at line 122 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::getLocalTrackStep(), PartBunch< PLayout, T, Dim >::incTrackSteps(), and PartBunch< PLayout, T, Dim >::setLocalTrackStep().
| ParticleAttrib<double> PartBunch< PLayout, T, Dim >::M |
Definition at line 69 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::swap().
| double PartBunch< PLayout, T, Dim >::massPerParticle_m |
Definition at line 147 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::getMassPerParticle(), PartBunch< PLayout, T, Dim >::setMass(), and PartBunch< PLayout, T, Dim >::setMassZeroPart().
|
private |
Definition at line 80 of file PartBunch.h.
Referenced by PartBunch< PLayout, T, Dim >::getMassPerParticle(), and PartBunch< PLayout, T, Dim >::setMass().
|
privateinherited |
next unique particle ID
Definition at line 368 of file ParticleBase.h.
| Vector_t<T, Dim> PartBunch< PLayout, T, Dim >::nr_m |
Definition at line 185 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::boundp(), PartBunch< PLayout, T, Dim >::PartBunch(), and PartBunch< PLayout, T, Dim >::runTests().
| Vector_t<int, Dim> PartBunch< PLayout, T, Dim >::nr_m |
Definition at line 87 of file PartBunch.h.
| short PartBunch< PLayout, T, Dim >::numBunch_m |
current bunch number
Definition at line 128 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::getNumBunch(), and PartBunch< PLayout, T, Dim >::setNumBunch().
|
privateinherited |
number of MPI ranks
Definition at line 371 of file ParticleBase.h.
|
private |
Definition at line 178 of file PartBunch.h.
|
private |
Definition at line 180 of file PartBunch.h.
Referenced by PartBunch< PLayout, T, Dim >::PartBunch().
| ORB<T, Dim> PartBunch< PLayout, T, Dim >::orb |
Definition at line 181 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::initializeORB(), and PartBunch< PLayout, T, Dim >::repartition().
| Vector_t<double, Dim> PartBunch< PLayout, T, Dim >::origin_m |
Definition at line 89 of file PartBunch.h.
Referenced by PartBunch< PLayout, T, Dim >::PartBunch().
| ParticleAttrib<Vector_t<T, Dim> > PartBunch< PLayout, T, Dim >::P |
Definition at line 71 of file #PartBunch.hpp#.
Referenced by Corrector::apply(), TravelingWave::apply(), PluginElement::changeWidth(), LF2< FieldFunction, Arguments >::doAdvance_m(), Probe::doCheck(), PartBunch< PLayout, T, Dim >::dumpData(), PartBunch< PLayout, T, Dim >::ConstIterator::operator*(), PartBunch< PLayout, T, Dim >::swap(), and StatWriter::write().
| PartBins* PartBunch< PLayout, T, Dim >::pbin_m |
The structure for particle binning.
Definition at line 105 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::getLastemittedBin(), PartBunch< PLayout, T, Dim >::hasBinning(), PartBunch< PLayout, T, Dim >::rebin(), and PartBunch< PLayout, T, Dim >::setLocalBinCount().
|
protectedinherited |
Definition at line 74 of file PicManager.h.
| double PartBunch< PLayout, T, Dim >::periodLength_m |
Definition at line 195 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::boundp(), and PartBunch< PLayout, T, Dim >::setBeamFrequency().
| ParticleAttrib<double> PartBunch< PLayout, T, Dim >::Phi |
Definition at line 77 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::swap().
| Field<T, Dim> PartBunch< PLayout, T, Dim >::phi_m |
Definition at line 172 of file #PartBunch.hpp#.
| std::unique_ptr<Inform> PartBunch< PLayout, T, Dim >::pmsg_m |
Definition at line 919 of file #PartBunch.hpp#.
| ParticleAttrib<double> PartBunch< PLayout, T, Dim >::Q |
Definition at line 68 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::ConstIterator::operator*(), PartBunch< PLayout, T, Dim >::scatterCIC(), and PartBunch< PLayout, T, Dim >::swap().
Definition at line 197 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::scatterCIC().
Definition at line 146 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::getChargePerParticle(), PartBunch< PLayout, T, Dim >::setCharge(), and PartBunch< PLayout, T, Dim >::setChargeZeroPart().
|
inherited |
view of particle positions
Definition at line 115 of file ParticleBase.h.
| const PartData* PartBunch< PLayout, T, Dim >::reference |
relative enlargement of the mesh
Definition at line 143 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::getE(), PartBunch< PLayout, T, Dim >::getInitialBeta(), PartBunch< PLayout, T, Dim >::getInitialGamma(), PartBunch< PLayout, T, Dim >::getM(), PartBunch< PLayout, T, Dim >::getP(), PartBunch< PLayout, T, Dim >::getQ(), PartBunch< PLayout, T, Dim >::getReference(), PartBunch< PLayout, T, Dim >::resetM(), and PartBunch< PLayout, T, Dim >::resetQ().
|
private |
Definition at line 167 of file PartBunch.h.
Referenced by PartBunch< PLayout, T, Dim >::getReference().
| Vector_t<T, Dim> PartBunch< PLayout, T, Dim >::RefPartP_m |
Definition at line 86 of file #PartBunch.hpp#.
Referenced by ParallelTracker::applyFractionalStep(), ParallelTracker::autophaseCavities(), ParallelTracker::execute(), ParallelTracker::findStartPosition(), H5PartWrapperForPT::readStepHeader(), ParallelTracker::updateReferenceParticle(), ParallelTracker::updateRefToLabCSTrafo(), StatWriter::write(), ParallelTracker::writePhaseSpace(), and H5PartWrapperForPT::writeStepHeader().
| Vector_t<double, Dim> PartBunch< PLayout, T, Dim >::RefPartP_m |
Definition at line 113 of file PartBunch.h.
| Vector_t<T, Dim> PartBunch< PLayout, T, Dim >::RefPartR_m |
Reference particle structures.
Definition at line 85 of file #PartBunch.hpp#.
Referenced by ParallelTracker::applyFractionalStep(), ParallelTracker::autophaseCavities(), ParallelTracker::execute(), ParallelTracker::findStartPosition(), ParallelTracker::hasEndOfLineReached(), H5PartWrapperForPT::readStepHeader(), ParallelTracker::updateReferenceParticle(), ParallelTracker::updateRefToLabCSTrafo(), StatWriter::write(), ParallelTracker::writePhaseSpace(), and H5PartWrapperForPT::writeStepHeader().
| Vector_t<double, Dim> PartBunch< PLayout, T, Dim >::RefPartR_m |
Reference particle structures.
Definition at line 112 of file PartBunch.h.
| Field_t<Dim> PartBunch< PLayout, T, Dim >::rho_m |
Definition at line 170 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::runTests(), and PartBunch< PLayout, T, Dim >::updateFields().
scalar potential
Definition at line 91 of file .PartBunch.h.
|
private |
Definition at line 82 of file PartBunch.h.
Referenced by PartBunch< PLayout, T, Dim >::get_rmsDensity().
| Solver_t<T, Dim> PartBunch< PLayout, T, Dim >::solver_m |
Definition at line 66 of file #PartBunch.hpp#.
| std::string PartBunch< PLayout, T, Dim >::solver_m |
Definition at line 73 of file PartBunch.h.
the position along design trajectory
Definition at line 164 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::get_sPos(), and PartBunch< PLayout, T, Dim >::set_sPos().
| UnitState_t PartBunch< PLayout, T, Dim >::stateOfLastBoundP_m |
Definition at line 151 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::boundp().
| int PartBunch< PLayout, T, Dim >::stepsPerTurn_m |
steps per turn for OPAL-cycl
Definition at line 119 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::getStepsPerTurn(), and PartBunch< PLayout, T, Dim >::setStepsPerTurn().
| int PartBunch< PLayout, T, Dim >::SteptoLastInj_m |
this parameter records the current steps since last bunch injection it helps to inject new bunches correctly in the restart run of OPAL-cycl it is stored during phase space dump.
Definition at line 137 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::getSteptoLastInj(), and PartBunch< PLayout, T, Dim >::setSteptoLastInj().
holds the actual time of the integration
Definition at line 162 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::getT(), PartBunch< PLayout, T, Dim >::incrementT(), and PartBunch< PLayout, T, Dim >::setT().
| double PartBunch< PLayout, T, Dim >::tEmission_m |
if larger than 0, emitt particles for tEmission_m [s]
The structure for particle binning.
if larger than 0, emitt particles for tEmission_m [s]
Definition at line 108 of file #PartBunch.hpp#.
Definition at line 58 of file PartBunch.h.
| CoordinateSystemTrafo PartBunch< PLayout, T, Dim >::toLabTrafo_m |
Definition at line 88 of file #PartBunch.hpp#.
Referenced by ParallelTracker::applyFractionalStep(), ParallelTracker::computeExternalFields(), ParallelTracker::execute(), and ParallelTracker::updateRefToLabCSTrafo().
|
privateinherited |
total number of particles (across all processes)
Definition at line 362 of file ParticleBase.h.
| size_type PartBunch< PLayout, T, Dim >::totalP_m |
Definition at line 60 of file PartBunch.h.
| UnitState_t PartBunch< PLayout, T, Dim >::unit_state_m |
Definition at line 150 of file #PartBunch.hpp#.
Referenced by PartBunch< PLayout, T, Dim >::boundp(), and PartBunch< PLayout, T, Dim >::switchToUnitlessPositions().
|
private |
Definition at line 108 of file .PartBunch.h.
Referenced by PartBunch< PLayout, T, Dim >::updateFields().