OPALX (Object Oriented Parallel Accelerator Library for Exascale) MINIorX
OPALX
PartBunch< PLayout, T, Dim > Class Template Referenceabstract

#include <.PartBunch.h>

Inheritance diagram for PartBunch< PLayout, T, Dim >:
Inheritance graph
Collaboration diagram for PartBunch< PLayout, T, Dim >:
Collaboration graph

Classes

class  ConstIterator
 

Public Types

enum  { Dim = Dimension }
 
enum  UnitState_t { units = 0 , unitless = 1 }
 
typedef ippl::BConds< Field< T, Dim >, Dimbc_type
 
typedef IpplParticleBase< Layout_tpbase_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)
 
PartBunchoperator= (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 PartDatagetReference () 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...
 
Informprint (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, Dimget_origin () const
 
Vector_t< T, Dimget_maxExtent () const
 
Vector_t< T, Dimget_centroid () const
 
Vector_t< T, Dimget_rrms () const
 
Vector_t< T, Dimget_rprms () const
 
Vector_t< T, Dimget_rmean () const
 
Vector_t< T, Dimget_prms () const
 
Vector_t< T, Dimget_pmean () const
 
Vector_t< T, Dimget_pmean_Distribution () const
 
Vector_t< T, Dimget_emit () const
 
Vector_t< T, Dimget_norm_emit () const
 
Vector_t< T, Dimget_halo () const
 
Vector_t< T, Dimget_68Percentile () const
 
Vector_t< T, Dimget_95Percentile () const
 
Vector_t< T, Dimget_99Percentile () const
 
Vector_t< T, Dimget_99_99Percentile () const
 
Vector_t< T, Dimget_normalizedEps_68Percentile () const
 
Vector_t< T, Dimget_normalizedEps_95Percentile () const
 
Vector_t< T, Dimget_normalizedEps_99Percentile () const
 
Vector_t< T, Dimget_normalizedEps_99_99Percentile () const
 
Vector_t< T, Dimget_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, DimgetGlobalMeanR ()
 
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
 
PartBunchoperator= (const PartBunch &)=delete
 
 ~PartBunch ()
 
void runTests ()
 
void initialize (FieldLayout_t *fLayout)
 
void do_binaryRepart ()
 
double getRho (int x, int y, int z)
 
const Mesh_tgetMesh () const
 
Mesh_tgetMesh ()
 
FieldLayout_tgetFieldLayout ()
 
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)
 
Informprint (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_tgetParticleContainer ()
 
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_tgetBins ()
 
void setBins (std::shared_ptr< AdaptBins_t > bins)
 
void setBCHandler (std::shared_ptr< BCHandler_t > bcHandler)
 
std::shared_ptr< BCHandler_tgetBCHandler () const
 
void updateMoments ()
 
size_t getTotalNum () const
 
size_t getLocalNum () const
 
Vector_t< double, DimR (size_t)
 
Vector_t< double, DimP (size_t)
 
Vector_t< double, DimEf (size_t)
 
Vector_t< double, DimBf (size_t)
 
Vector_t< double, Dimdt (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 ()
 
PartDatagetReference ()
 
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, DimgetEExtrema ()
 
void computeSelfFields ()
 
Informprint (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, Dimget_origin () const
 
Vector_t< double, Dimget_maxExtent () const
 
Vector_t< double, 2 *Dimget_centroid () const
 
Vector_t< double, Dimget_rrms () const
 
Vector_t< double, Dimget_rprms () const
 
Vector_t< double, Dimget_prms () const
 
Vector_t< double, Dimget_rmean () const
 
Vector_t< double, Dimget_pmean () const
 
Vector_t< double, Dimget_pmean_Distribution () const
 
Vector_t< double, Dimget_emit () const
 
Vector_t< double, Dimget_norm_emit () const
 
Vector_t< double, Dimget_halo () const
 
Vector_t< double, Dimget_68Percentile () const
 
Vector_t< double, Dimget_95Percentile () const
 
Vector_t< double, Dimget_99Percentile () const
 
Vector_t< double, Dimget_99_99Percentile () const
 
Vector_t< double, Dimget_normalizedEps_68Percentile () const
 
Vector_t< double, Dimget_normalizedEps_95Percentile () const
 
Vector_t< double, Dimget_normalizedEps_99Percentile () const
 
Vector_t< double, Dimget_normalizedEps_99_99Percentile () const
 
Vector_t< double, Dimget_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, DimgetGlobalMeanR ()
 
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, Dimsolver_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, DimRefPartR_m
 Reference particle structures. More...
 
Vector_t< T, DimRefPartP_m
 
CoordinateSystemTrafo toLabTrafo_m
 
Vector_t< T, DimglobalMeanR_m
 Initialize the translation vector and rotation quaternion here. More...
 
PartBinspbin_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 PartDatareference
 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, DimEFD_m
 
VField_t< T, Dimeg_m
 
Field_t< DimEFDMag_m
 
Field_t< Dimrho_m
 
Field< T, Dimphi_m
 
bc_type allPeriodic
 
ORB< T, Dimorb
 
std::unique_ptr< size_t[]> globalPartPerNode_m
 
Vector_t< T, Dimnr_m
 
std::array< bool, DimisParallel_m
 
Vector_t< double, Dimhr_m
 mesh size [m] More...
 
Vector_t< double, Dimrmin_m
 
Vector_t< double, Dimrmax_m
 
bool dcBeam_m
 
double periodLength_m
 
double Q_m
 
std::unique_ptr< Informpmsg_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, Dimnr_m
 
Vector_t< double, Dimorigin_m
 
double Bext_m
 
double alpha_m
 
double DrInv_m
 
ippl::NDIndex< Dimdomain_m
 
std::array< bool, Dimdecomp_m
 
Vector_t< double, DimRefPartR_m
 Reference particle structures. More...
 
Vector_t< double, DimRefPartP_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_tbc_m
 for defining the boundary conditions More...
 
BConds< Vector_t< double, 3 >, 3, Mesh_t, Center_tvbc_m
 
bool interpolationCacheSet_m
 
ParticleAttrib< CacheDataCIC< double, 3U > > interpolationCache_m
 
double mi_m
 
double rmsDensity_m
 
std::shared_ptr< BCHandler_tbcHandler_m
 
Vector_t< double, DimglobalMeanR_m
 Initialize the translation vector and rotation quaternion here. More...
 
Quaternion_t globalToLocalQuaternion_m
 
std::shared_ptr< AdaptBins_tbins_m
 
PartDatareference_m
 
std::shared_ptr< DistributionOPALdist_m
 
std::shared_ptr< FieldSolverCmdOPALFieldSolver_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_tlayout_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
 

Detailed Description

template<class PLayout, typename T, unsigned Dim = 3>
class PartBunch< PLayout, T, Dim >

Definition at line 62 of file #PartBunch.hpp#.

Member Typedef Documentation

◆ AdaptBins_t

template<class PLayout , typename T , unsigned Dim = 3>
using PartBunch< PLayout, T, Dim >::AdaptBins_t = typename ParticleBinning::AdaptBins<ParticleContainer_t, BinningSelector_t>

Definition at line 53 of file PartBunch.h.

◆ attribute_container_type

using ippl::ParticleBase< PLayout, IDProperties >::attribute_container_type = typename detail::ContainerForAllSpaces<container_type>::type
inherited

Definition at line 104 of file ParticleBase.h.

◆ attribute_type

using ippl::ParticleBase< PLayout, IDProperties >::attribute_type = typename detail::ParticleAttribBase<Properties...>
inherited

Definition at line 99 of file ParticleBase.h.

◆ Base [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
using PartBunch< PLayout, T, Dim >::Base = ippl::ParticleBase<PLayout>
private

Definition at line 63 of file #PartBunch.hpp#.

◆ Base [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
using PartBunch< PLayout, T, Dim >::Base = ippl::ParticleBase<ippl::ParticleSpatialLayout<T, Dim> >

Definition at line 50 of file PartBunch.h.

◆ bc_container_type

using ippl::ParticleBase< PLayout, IDProperties >::bc_container_type = typename PLayout::bc_container_type
inherited

Definition at line 107 of file ParticleBase.h.

◆ bc_type

template<class PLayout , typename T , unsigned Dim = 3>
typedef ippl::BConds<Field<T, Dim>, Dim> PartBunch< PLayout, T, Dim >::bc_type

Definition at line 174 of file #PartBunch.hpp#.

◆ BCHandler_t

template<class PLayout , typename T , unsigned Dim = 3>
using PartBunch< PLayout, T, Dim >::BCHandler_t = BCHandler<Dim>

Definition at line 56 of file PartBunch.h.

◆ binIndex_t

template<class PLayout , typename T , unsigned Dim = 3>
using PartBunch< PLayout, T, Dim >::binIndex_t = typename ParticleContainer_t::bin_index_type

Definition at line 54 of file PartBunch.h.

◆ BinningSelector_t

template<class PLayout , typename T , unsigned Dim = 3>
using PartBunch< PLayout, T, Dim >::BinningSelector_t = typename ParticleBinning::CoordinateSelector<ParticleContainer_t>

Definition at line 52 of file PartBunch.h.

◆ container_type

using ippl::ParticleBase< PLayout, IDProperties >::container_type = std::vector<attribute_type<MemorySpace>*>
inherited

Definition at line 102 of file ParticleBase.h.

◆ FieldContainer_t

template<class PLayout , typename T , unsigned Dim = 3>
using PartBunch< PLayout, T, Dim >::FieldContainer_t = FieldContainer<T, Dim>

Definition at line 47 of file PartBunch.h.

◆ FieldSolver_t

template<class PLayout , typename T , unsigned Dim = 3>
using PartBunch< PLayout, T, Dim >::FieldSolver_t = FieldSolver<T, Dim>

Definition at line 48 of file PartBunch.h.

◆ hash_container_type

using ippl::ParticleBase< PLayout, IDProperties >::hash_container_type = typename detail::ContainerForAllSpaces<detail::hash_type>::type
inherited

Definition at line 109 of file ParticleBase.h.

◆ index_type

using ippl::ParticleBase< PLayout, IDProperties >::index_type = typename PLayout::index_type
inherited

Definition at line 92 of file ParticleBase.h.

◆ Layout_t

using ippl::ParticleBase< PLayout, IDProperties >::Layout_t = PLayout
inherited

Definition at line 96 of file ParticleBase.h.

◆ LoadBalancer_t

template<class PLayout , typename T , unsigned Dim = 3>
using PartBunch< PLayout, T, Dim >::LoadBalancer_t = LoadBalancer<T, Dim>

Definition at line 49 of file PartBunch.h.

◆ particle_index_type

using ippl::ParticleBase< PLayout, IDProperties >::particle_index_type = ParticleAttrib<index_type, IDProperties...>
inherited

Definition at line 94 of file ParticleBase.h.

◆ particle_position_type

using ippl::ParticleBase< PLayout, IDProperties >::particle_position_type = typename PLayout::particle_position_type
inherited

Definition at line 93 of file ParticleBase.h.

◆ ParticleContainer_t

template<class PLayout , typename T , unsigned Dim = 3>
using PartBunch< PLayout, T, Dim >::ParticleContainer_t = ParticleContainer<T, Dim>

Definition at line 46 of file PartBunch.h.

◆ pbase_t

template<class PLayout , typename T , unsigned Dim = 3>
typedef IpplParticleBase<Layout_t> PartBunch< PLayout, T, Dim >::pbase_t

Definition at line 26 of file .PartBunch.h.

◆ size_type

using ippl::ParticleBase< PLayout, IDProperties >::size_type = detail::size_type
inherited

Definition at line 111 of file ParticleBase.h.

◆ vector_type

using ippl::ParticleBase< PLayout, IDProperties >::vector_type = typename PLayout::vector_type
inherited

Definition at line 91 of file ParticleBase.h.

◆ VectorPair_t

template<class PLayout , typename T , unsigned Dim = 3>
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.

Member Enumeration Documentation

◆ anonymous enum

template<class PLayout , typename T , unsigned Dim = 3>
anonymous enum
Enumerator
Dim 

Definition at line 27 of file .PartBunch.h.

◆ UnitState_t

template<class PLayout , typename T , unsigned Dim = 3>
enum PartBunch::UnitState_t
Enumerator
units 
unitless 

Definition at line 66 of file .PartBunchBase.h.

Constructor & Destructor Documentation

◆ PartBunch() [1/7]

template<class PLayout , typename T , unsigned Dim = 3>
PartBunch< PLayout, T, Dim >::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 
)
inline
Todo:
setupBCs(a);

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.

Here is the call graph for this function:

◆ ~PartBunch() [1/4]

template<class PLayout , typename T , unsigned Dim = 3>
PartBunch< PLayout, T, Dim >::~PartBunch ( )
inline

Definition at line 228 of file #PartBunch.hpp#.

◆ PartBunch() [2/7]

template<class PLayout , typename T , unsigned Dim = 3>
PartBunch< PLayout, T, Dim >::PartBunch ( const PartData ref)
explicit

Default constructor.

Definition at line 37 of file .PartBunch.cpp.

◆ PartBunch() [3/7]

template<class PLayout , typename T , unsigned Dim = 3>
PartBunch< PLayout, T, Dim >::PartBunch ( )
delete

◆ PartBunch() [4/7]

template<class PLayout , typename T , unsigned Dim = 3>
PartBunch< PLayout, T, Dim >::PartBunch ( const PartBunch< PLayout, T, Dim > &  )
delete

◆ ~PartBunch() [2/4]

template<class PLayout , typename T , unsigned Dim = 3>
PartBunch< PLayout, T, Dim >::~PartBunch ( )

◆ ~PartBunch() [3/4]

template<class PLayout , typename T , unsigned Dim = 3>
virtual PartBunch< PLayout, T, Dim >::~PartBunch ( )
inlinevirtual

Definition at line 69 of file .PartBunchBase.h.

◆ PartBunch() [5/7]

template<class T , unsigned Dim>
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().

Here is the call graph for this function:

◆ PartBunch() [6/7]

template<class PLayout , typename T , unsigned Dim = 3>
PartBunch< PLayout, T, Dim >::PartBunch ( const PartBunch< PLayout, T, Dim > &  rhs)
delete

◆ PartBunch() [7/7]

template<typename T , unsigned Dim>
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 
)
Todo:
so far, we only use true for all periodic and false for all open.

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().

Here is the call graph for this function:

◆ ~PartBunch() [4/4]

template<class PLayout , typename T , unsigned Dim = 3>
PartBunch< PLayout, T, Dim >::~PartBunch ( )
inline

Definition at line 217 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

Member Function Documentation

◆ actT() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::actT
inline

Definition at line 350 of file #PartBunch.hpp#.

◆ actT() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::actT ( )
inline

Definition at line 355 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ addAttribute()

void ippl::ParticleBase< PLayout, IP >::addAttribute ( detail::ParticleAttribBase< MemorySpace > &  pa)
inherited

Add particle attribute

Parameters
paattribute to be added to ParticleBase

Definition at line 191 of file ParticleBase.hpp.

◆ advance()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::advance ( )
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.

References endl(), and gmsg.

Here is the call graph for this function:

◆ balance()

template<class PLayout , typename T , unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::balance ( unsigned int  totalP)
inline

Definition at line 402 of file #PartBunch.hpp#.

References ippl::Comm, and PartBunch< PLayout, T, Dim >::getLocalNum().

Here is the call graph for this function:

◆ begin()

template<class PLayout , typename T , unsigned Dim = 3>
ConstIterator PartBunch< PLayout, T, Dim >::begin ( ) const
inline

Definition at line 127 of file .PartBunchBase.h.

Referenced by begin().

◆ Bf()

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::Bf ( size_t  )
inline

Definition at line 269 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ boundp() [1/2]

◆ boundp() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::boundp ( )
inline

Definition at line 383 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ boundp_destroyT() [1/2]

template<class T , unsigned Dim>
size_t PartBunch< T, Dim >::boundp_destroyT
inline

◆ boundp_destroyT() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::boundp_destroyT ( )
inline

Definition at line 387 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ bunchUpdate() [1/2]

template<typename T , unsigned Dim>
void PartBunch< T, Dim >::bunchUpdate

Definition at line 425 of file PartBunch.cpp.

References Physics::e.

◆ bunchUpdate() [2/2]

template<typename T , unsigned Dim>
void PartBunch< T, Dim >::bunchUpdate ( ippl::Vector< double, 3 >  hr)

assume o < 0.0?

Definition at line 387 of file PartBunch.cpp.

References Physics::e.

◆ calcBeamParameters() [1/2]

◆ calcBeamParameters() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::calcBeamParameters ( )

◆ calcBeamParametersInitial()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::calcBeamParametersInitial ( )

◆ calcDebyeLength()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::calcDebyeLength ( )
inline

◆ calcEMean()

template<class T , unsigned Dim>
void PartBunch< T, Dim >::calcEMean

Definition at line 1134 of file .PartBunchBase.hpp.

◆ calcGammas() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::calcGammas
inline

Compute the gammas of all bins.

Definition at line 1084 of file #PartBunch.hpp#.

◆ calcGammas() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::calcGammas ( )
inline

Definition at line 601 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ calcLineDensity() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::calcLineDensity ( unsigned int  nBins,
std::vector< double > &  lineDensity,
std::pair< double, double > &  meshInfo 
)
inline

\method calcLineDensity()

calculates the 1d line density (not normalized) and append it to a file.

See also
ParallelTTracker
Warning
none yet

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.

Here is the call graph for this function:

◆ calcLineDensity() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::calcLineDensity ( unsigned int  ,
std::vector< double > &  ,
std::pair< double, double > &   
)
inline

Definition at line 516 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ calcMeanPhi() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::calcMeanPhi ( )
inline

calculate average angle of longitudinal direction of bins

Definition at line 1107 of file #PartBunch.hpp#.

◆ calcMeanPhi() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::calcMeanPhi ( )
inline

Definition at line 618 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ calcMoments()

template<class PLayout , typename T , unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::calcMoments ( )
protected

◆ calcMomentsInitial()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::calcMomentsInitial ( )
protected

◆ calcNumPartsOutside() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::calcNumPartsOutside ( Vector_t< double, Dim )
inline

Definition at line 511 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ calcNumPartsOutside() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::calcNumPartsOutside ( Vector_t< T, Dim x)
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().

Here is the call graph for this function:

◆ calculateAngle() [1/3]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::calculateAngle ( double  x,
double  y 
)
inline

Definition at line 1416 of file #PartBunch.hpp#.

◆ calculateAngle() [2/3]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::calculateAngle ( double  x,
double  y 
)
protected

angle range [0~2PI) degree

◆ calculateAngle() [3/3]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::calculateAngle ( double  ,
double   
)
inline

Definition at line 910 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ computeSelfFields() [1/5]

template<typename T , unsigned Dim>
void PartBunch< T, Dim >::computeSelfFields
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().

◆ computeSelfFields() [2/5]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::computeSelfFields ( )

◆ computeSelfFields() [3/5]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::computeSelfFields ( )

◆ computeSelfFields() [4/5]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::computeSelfFields ( int  b)
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#.

◆ computeSelfFields() [5/5]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::computeSelfFields ( int  b)

/brief used for self fields with binned distribution

◆ create() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::create ( size_t  M)

Definition at line 1370 of file .PartBunchBase.hpp.

◆ create() [2/2]

void ippl::ParticleBase< PLayout, IP >::create ( size_type  nLocal)
inherited

Create nLocal processor local particles. This is a collective call, i.e. all MPI ranks must call this.

Parameters
nLocalnumber of local particles to be created

Definition at line 253 of file ParticleBase.hpp.

◆ createWithID() [1/2]

void ippl::ParticleBase< PLayout, IP >::createWithID ( index_type  id)
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.

Parameters
idparticle identity number

Definition at line 260 of file ParticleBase.hpp.

◆ createWithID() [2/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::createWithID ( unsigned  id)

Definition at line 1365 of file .PartBunchBase.hpp.

◆ deserialize()

void ippl::ParticleBase< PLayout, IP >::deserialize ( Archive &  ar,
size_type  nrecvs 
)
inherited

Deserialize to do MPI calls.

Parameters
ararchive

Definition at line 328 of file ParticleBase.hpp.

◆ destroy() [1/2]

void ippl::ParticleBase< PLayout, IP >::destroy ( const Kokkos::View< bool *, Properties... > &  invalid,
const size_type  destroyNum 
)
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.

Parameters
invalidView marking which indices are invalid
destroyNumTotal number of invalid particles

Definition at line 277 of file ParticleBase.hpp.

◆ destroy() [2/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::destroy ( size_t  M,
size_t  I,
bool  doNow = false 
)

Definition at line 1380 of file .PartBunchBase.hpp.

◆ destroyT()

◆ do_binaryRepart() [1/3]

template<typename T , unsigned Dim>
void PartBunch< T, Dim >::do_binaryRepart
inline

Definition at line 367 of file #PartBunch.hpp#.

Referenced by ParallelTracker::doBinaryRepartition().

◆ do_binaryRepart() [2/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::do_binaryRepart ( )

◆ do_binaryRepart() [3/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::do_binaryRepart ( )

◆ dt()

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::dt ( size_t  )
inline

Definition at line 274 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ dumpData()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::dumpData ( int  iteration)
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().

Here is the call graph for this function:

◆ Ef()

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::Ef ( size_t  )
inline

Definition at line 264 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ emitParticles() [1/2]

template<class T , unsigned Dim>
size_t PartBunch< T, Dim >::emitParticles ( double  eZ)
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#.

◆ emitParticles() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::emitParticles ( double  )
inline

Definition at line 584 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ end()

template<class PLayout , typename T , unsigned Dim = 3>
ConstIterator PartBunch< PLayout, T, Dim >::end ( ) const
inline

Definition at line 131 of file .PartBunchBase.h.

References PartBunch< PLayout, T, Dim >::getLocalNum().

Referenced by end().

Here is the call graph for this function:

◆ forAllAttributes() [1/2]

void ippl::ParticleBase< PLayout, IDProperties >::forAllAttributes ( Functor &&  f)
inlineinherited

Definition at line 223 of file ParticleBase.h.

◆ forAllAttributes() [2/2]

void ippl::ParticleBase< PLayout, IDProperties >::forAllAttributes ( Functor &&  f) const
inlineinherited

Calls a given function for all attributes in the bunch

Template Parameters
MemorySpacethe memory space of the attributes to visit (void to visit all of them)
Functorthe functor type
Parameters
fa functor taking a single ParticleAttrib<MemorySpace>

Definition at line 211 of file ParticleBase.h.

◆ gatherCIC() [1/2]

template<typename T , unsigned Dim>
void PartBunch< T, Dim >::gatherCIC
inline

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().

Here is the call graph for this function:

◆ gatherCIC() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::gatherCIC ( )

◆ gatherLoadBalanceStatistics() [1/2]

template<typename T , unsigned Dim>
void PartBunch< T, Dim >::gatherLoadBalanceStatistics
inline

◆ gatherLoadBalanceStatistics() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::gatherLoadBalanceStatistics ( )

◆ gatherStatistics() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::gatherStatistics ( unsigned int  totalP)
inline

Definition at line 706 of file #PartBunch.hpp#.

References ippl::Comm, endl(), and PartBunch< PLayout, T, Dim >::getLocalNum().

Here is the call graph for this function:

◆ gatherStatistics() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::gatherStatistics ( unsigned int  )
inline

Definition at line 415 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ get_68Percentile() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_68Percentile
inline

Definition at line 1311 of file #PartBunch.hpp#.

◆ get_68Percentile() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_68Percentile ( ) const
inline

Definition at line 771 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ get_95Percentile() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_95Percentile
inline

Definition at line 1314 of file #PartBunch.hpp#.

◆ get_95Percentile() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_95Percentile ( ) const
inline

Definition at line 775 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ get_99_99Percentile() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_99_99Percentile
inline

Definition at line 1320 of file #PartBunch.hpp#.

◆ get_99_99Percentile() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_99_99Percentile ( ) const
inline

Definition at line 783 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ get_99Percentile() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_99Percentile
inline

Definition at line 1317 of file #PartBunch.hpp#.

◆ get_99Percentile() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_99Percentile ( ) const
inline

Definition at line 779 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ get_bounds() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::get_bounds ( Vector_t< double, Dim > &  rmin,
Vector_t< double, Dim > &  rmax 
)
inline

◆ get_bounds() [2/2]

◆ get_centroid() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_centroid
inline

◆ get_centroid() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, 2 *Dim > PartBunch< PLayout, T, Dim >::get_centroid ( ) const
inline

◆ get_DDx() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::get_DDx
inline

Definition at line 1345 of file #PartBunch.hpp#.

Referenced by StatWriter::write().

◆ get_DDx() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_DDx ( ) const
inline

◆ get_DDy() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::get_DDy
inline

Definition at line 1348 of file #PartBunch.hpp#.

Referenced by StatWriter::write().

◆ get_DDy() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_DDy ( ) const
inline

◆ get_debyeLength()

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_debyeLength ( ) const
inline

◆ get_Dx() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::get_Dx
inline

Definition at line 1339 of file #PartBunch.hpp#.

Referenced by StatWriter::write().

◆ get_Dx() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_Dx ( ) const
inline

◆ get_Dy() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::get_Dy
inline

Definition at line 1342 of file #PartBunch.hpp#.

Referenced by StatWriter::write().

◆ get_Dy() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_Dy ( ) const
inline

◆ get_emit() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_emit
inline

Definition at line 1302 of file #PartBunch.hpp#.

Referenced by H5PartWrapperForPT::writeStepHeader().

◆ get_emit() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_emit ( ) const
inline

Definition at line 760 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ get_gamma() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::get_gamma
inline

Definition at line 1266 of file #PartBunch.hpp#.

Referenced by H5PartWrapperForPT::writeStepHeader().

◆ get_gamma() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_gamma ( ) const
inline

Definition at line 716 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ get_halo() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_halo
inline

Definition at line 1308 of file #PartBunch.hpp#.

Referenced by StatWriter::write().

◆ get_halo() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_halo ( ) const
inline

Definition at line 767 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ get_hr() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_hr
inline

Definition at line 1335 of file #PartBunch.hpp#.

◆ get_hr() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_hr ( ) const
inline

Definition at line 803 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ get_maxExtent() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_maxExtent
inline

◆ get_maxExtent() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_maxExtent ( ) const
inline

Definition at line 728 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::rmax_m.

◆ get_meanKineticEnergy() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_meanKineticEnergy ( )
inline

◆ get_meanKineticEnergy() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_meanKineticEnergy ( )
inline

◆ get_norm_emit() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_norm_emit
inline

Definition at line 1305 of file #PartBunch.hpp#.

Referenced by StatWriter::write(), and H5PartWrapperForPT::writeStepHeader().

◆ get_norm_emit() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_norm_emit ( ) const
inline

◆ get_normalizedEps_68Percentile() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_normalizedEps_68Percentile
inline

Definition at line 1323 of file #PartBunch.hpp#.

◆ get_normalizedEps_68Percentile() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_normalizedEps_68Percentile ( ) const
inline

Definition at line 787 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ get_normalizedEps_95Percentile() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_normalizedEps_95Percentile
inline

Definition at line 1326 of file #PartBunch.hpp#.

◆ get_normalizedEps_95Percentile() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_normalizedEps_95Percentile ( ) const
inline

Definition at line 791 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ get_normalizedEps_99_99Percentile() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_normalizedEps_99_99Percentile
inline

Definition at line 1332 of file #PartBunch.hpp#.

◆ get_normalizedEps_99_99Percentile() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_normalizedEps_99_99Percentile ( ) const
inline

Definition at line 799 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ get_normalizedEps_99Percentile() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_normalizedEps_99Percentile
inline

Definition at line 1329 of file #PartBunch.hpp#.

◆ get_normalizedEps_99Percentile() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_normalizedEps_99Percentile ( ) const
inline

Definition at line 795 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ get_origin() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_origin
inline

◆ get_origin() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_origin ( ) const
inline

Definition at line 725 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::rmin_m.

◆ get_PBounds() [1/3]

template<class T , unsigned Dim>
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().

Here is the call graph for this function:

◆ get_PBounds() [2/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::get_PBounds ( Vector_t< double, Dim > &  ,
Vector_t< double, Dim > &   
)
inline

Definition at line 684 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ get_PBounds() [3/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::get_PBounds ( Vector_t< T, Dim > &  min,
Vector_t< T, Dim > &  max 
) const
inline

Definition at line 1223 of file #PartBunch.hpp#.

References ippl::max(), and ippl::min().

Here is the call graph for this function:

◆ get_plasmaParameter()

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_plasmaParameter ( ) const
inline

◆ get_pmean() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_pmean
inline

◆ get_pmean() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_pmean ( ) const
inline

◆ get_pmean_Distribution() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_pmean_Distribution
inline

Definition at line 1299 of file #PartBunch.hpp#.

◆ get_pmean_Distribution() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_pmean_Distribution ( ) const
inline

Definition at line 756 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ get_prms() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_prms
inline

Definition at line 1293 of file #PartBunch.hpp#.

Referenced by H5PartWrapperForPT::writeStepHeader().

◆ get_prms() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_prms ( ) const
inline

◆ get_rmean() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_rmean
inline

Definition at line 1290 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout, T, Dim >::calcNumPartsOutside().

◆ get_rmean() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_rmean ( ) const
inline

◆ get_rmsDensity()

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_rmsDensity ( ) const
inline

Definition at line 837 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::rmsDensity_m.

Referenced by StatWriter::write().

◆ get_rprms() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_rprms
inline

Definition at line 1287 of file #PartBunch.hpp#.

Referenced by StatWriter::write().

◆ get_rprms() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_rprms ( ) const
inline

◆ get_rrms() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_rrms
inline

Definition at line 1284 of file #PartBunch.hpp#.

Referenced by DataSink::dumpSDDS(), and H5PartWrapperForPT::writeStepHeader().

◆ get_rrms() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_rrms ( ) const
inline

◆ get_sPos() [1/2]

◆ get_sPos() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_sPos ( ) const
inline

Definition at line 712 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::spos_m.

◆ get_temperature()

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_temperature ( ) const
inline

◆ getAttribute()

attribute_type< MemorySpace > * ippl::ParticleBase< PLayout, IDProperties >::getAttribute ( size_t  i)
inlineinherited

Get particle attribute

Parameters
iattribute number in container
Returns
a pointer to the attribute

Definition at line 199 of file ParticleBase.h.

◆ getAttributeNum()

unsigned ippl::ParticleBase< PLayout, IDProperties >::getAttributeNum ( ) const
inlineinherited
Returns
the number of attributes

Definition at line 240 of file ParticleBase.h.

◆ getBCHandler()

template<class PLayout , typename T , unsigned Dim = 3>
std::shared_ptr< BCHandler_t > PartBunch< PLayout, T, Dim >::getBCHandler ( ) const
inline

◆ getBConds()

template<class PLayout , typename T , unsigned Dim = 3>
ParticleBConds< Position_t, Dimension > & PartBunch< PLayout, T, Dim >::getBConds ( )
inline

Definition at line 164 of file .PartBunchBase.h.

◆ getBeta() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getBeta ( int  i) const
inline

Definition at line 346 of file #PartBunch.hpp#.

◆ getBeta() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getBeta ( int  ) const
inline

Definition at line 350 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getBinGamma() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getBinGamma ( int  bin)
inline

Get gamma of one bin.

Definition at line 1088 of file #PartBunch.hpp#.

◆ getBinGamma() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getBinGamma ( int  )
inline

Definition at line 604 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getBins()

template<class PLayout , typename T , unsigned Dim = 3>
std::shared_ptr< AdaptBins_t > PartBunch< PLayout, T, Dim >::getBins ( )
inline

◆ getBoundingSphere()

template<class T , unsigned Dim>
std::pair< Vector_t< double, 3 >, double > PartBunch< T, Dim >::getBoundingSphere
inline

Definition at line 1201 of file #PartBunch.hpp#.

References dot(), and PartBunch< PLayout, T, Dim >::get_bounds().

Here is the call graph for this function:

◆ getCharge() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getCharge
inline

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().

◆ getCharge() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getCharge ( ) const
inline

Definition at line 324 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::getTotalNum().

Here is the call graph for this function:

◆ getChargePerParticle() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getChargePerParticle
inline

◆ getChargePerParticle() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getChargePerParticle ( ) const
inline

Definition at line 328 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::qi_m.

◆ getCouplingConstant() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getCouplingConstant
inline

Definition at line 241 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::couplingConstant_m.

◆ getCouplingConstant() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getCouplingConstant ( ) const
inline

Definition at line 304 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::couplingConstant_m.

◆ getdE() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getdE
inline

Definition at line 339 of file #PartBunch.hpp#.

Referenced by StatWriter::write(), and H5PartWrapperForPT::writeStepHeader().

◆ getdE() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getdE ( ) const
inline

◆ getDestroyNum()

template<class T , unsigned Dim>
size_t PartBunch< T, Dim >::getDestroyNum

Definition at line 1297 of file .PartBunchBase.hpp.

◆ getdT() [1/2]

◆ getdT() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getdT ( ) const
inline

Definition at line 692 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::dt_m.

◆ getE()

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getE
inline

Definition at line 308 of file #PartBunch.hpp#.

References PartData::getE(), and PartBunch< PLayout, T, Dim >::reference.

Here is the call graph for this function:

◆ getEExtrema() [1/3]

template<class PLayout , typename T , unsigned Dim = 3>
PartBunch::VectorPair_t PartBunch< PLayout, T, Dim >::getEExtrema ( )
inline

Definition at line 815 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::eg_m, ippl::max(), and ippl::min().

Here is the call graph for this function:

◆ getEExtrema() [2/3]

template<class PLayout , typename T , unsigned Dim = 3>
VectorPair_t PartBunch< PLayout, T, Dim >::getEExtrema ( )

◆ getEExtrema() [3/3]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::getEExtrema ( )
inline

Definition at line 525 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getEmissionDeltaT() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getEmissionDeltaT
inline

Definition at line 357 of file #PartBunch.hpp#.

◆ getEmissionDeltaT() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getEmissionDeltaT ( )
inline

Definition at line 363 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getFieldContainer()

std::shared_ptr< FieldContainer< T, 3 > > ippl::PicManager< T, Dim, ParticleContainer< T, 3 > , FieldContainer< T, 3 > , LoadBalancer< T, 3 > >::getFieldContainer ( )
inlineinherited

Definition at line 57 of file PicManager.h.

◆ getFieldLayout() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
FieldLayout_t & PartBunch< PLayout, T, Dim >::getFieldLayout ( )
inline

◆ getFieldLayout() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
FieldLayout_t & PartBunch< PLayout, T, Dim >::getFieldLayout ( )

◆ getFieldSolver()

std::shared_ptr< ippl::FieldSolverBase< T, Dim > > ippl::PicManager< T, Dim, ParticleContainer< T, 3 > , FieldContainer< T, 3 > , LoadBalancer< T, 3 > >::getFieldSolver ( )
inlineinherited

Definition at line 61 of file PicManager.h.

◆ getFieldSolverType() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::getFieldSolverType ( )
inline

Definition at line 539 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getFieldSolverType() [2/2]

template<class T , unsigned Dim>
FieldSolverType PartBunch< T, Dim >::getFieldSolverType
inline

Return the fieldsolver type if we have a fieldsolver.

Definition at line 845 of file #PartBunch.hpp#.

◆ getGamma() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getGamma ( int  i) const
inline

Definition at line 342 of file #PartBunch.hpp#.

◆ getGamma() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getGamma ( int  ) const
inline

Definition at line 346 of file PartBunch.h.

References endl().

Here is the call graph for this function:

◆ getGhostNum()

template<class T , unsigned Dim>
size_t PartBunch< T, Dim >::getGhostNum

Definition at line 1302 of file .PartBunchBase.hpp.

◆ getGlobalMeanR() [1/2]

template<class T , unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::getGlobalMeanR
inline

Definition at line 1401 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::globalMeanR_m.

◆ getGlobalMeanR() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::getGlobalMeanR ( )
inline

Definition at line 890 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::globalMeanR_m.

◆ getGlobalToLocalQuaternion()

template<class T , unsigned Dim>
Quaternion_t PartBunch< T, Dim >::getGlobalToLocalQuaternion
inline

◆ getGlobalTrackStep() [1/2]

template<class T , unsigned Dim>
long long PartBunch< T, Dim >::getGlobalTrackStep
inline

◆ getGlobalTrackStep() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
long long PartBunch< PLayout, T, Dim >::getGlobalTrackStep ( ) const
inline

Definition at line 858 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::globalTrackStep_m.

◆ getIfBeamEmitting() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::getIfBeamEmitting ( )
inline

Definition at line 1004 of file #PartBunch.hpp#.

◆ getIfBeamEmitting() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::getIfBeamEmitting ( )
inline

Definition at line 544 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getInitialBeta()

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getInitialBeta
inline

Definition at line 315 of file #PartBunch.hpp#.

References PartData::getBeta(), and PartBunch< PLayout, T, Dim >::reference.

Here is the call graph for this function:

◆ getInitialGamma()

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getInitialGamma
inline

Definition at line 319 of file #PartBunch.hpp#.

References PartData::getGamma(), and PartBunch< PLayout, T, Dim >::reference.

Here is the call graph for this function:

◆ getKs3DRefp()

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, 3 > PartBunch< PLayout, T, Dim >::getKs3DRefp ( )

◆ getKs3DRefr()

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, 3 > PartBunch< PLayout, T, Dim >::getKs3DRefr ( )

◆ getLastemittedBin() [1/2]

template<class T , unsigned Dim>
int PartBunch< T, Dim >::getLastemittedBin
inline

Definition at line 1070 of file #PartBunch.hpp#.

References PartBins::getLastemittedBin(), and PartBunch< PLayout, T, Dim >::pbin_m.

Here is the call graph for this function:

◆ getLastemittedBin() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
int PartBunch< PLayout, T, Dim >::getLastemittedBin ( )
inline

Definition at line 594 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getLastEmittedEnergyBin() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
int PartBunch< PLayout, T, Dim >::getLastEmittedEnergyBin ( )
inline

Definition at line 1008 of file #PartBunch.hpp#.

◆ getLastEmittedEnergyBin() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
int PartBunch< PLayout, T, Dim >::getLastEmittedEnergyBin ( )
inline

Definition at line 548 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getLayout() [1/2]

template<class T , unsigned Dim>
ParticleLayout< T, Dim > & PartBunch< T, Dim >::getLayout
inlineprivate

◆ getLayout() [2/2]

template<class T , unsigned Dim>
const ParticleLayout< T, Dim > & PartBunch< T, Dim >::getLayout
inlineprivate

Definition at line 120 of file .PartBunch.h.

◆ getLoadBalance() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::getLoadBalance ( int  p)
inline

Definition at line 370 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::globalPartPerNode_m.

◆ getLoadBalance() [2/2]

template<class T , unsigned Dim>
size_t PartBunch< T, Dim >::getLoadBalance ( int  p) const
inline

◆ getLoadBalancer()

std::shared_ptr< LoadBalancer< T, 3 > > ippl::PicManager< T, Dim, ParticleContainer< T, 3 > , FieldContainer< T, 3 > , LoadBalancer< T, 3 > >::getLoadBalancer ( )
inlineinherited

Definition at line 67 of file PicManager.h.

◆ getLocalBoundingSphere()

template<class T , unsigned Dim>
std::pair< Vector_t< double, 3 >, double > PartBunch< T, Dim >::getLocalBoundingSphere
inline

Definition at line 1212 of file #PartBunch.hpp#.

References dot(), and PartBunch< PLayout, T, Dim >::getLocalBounds().

Here is the call graph for this function:

◆ getLocalBounds() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::getLocalBounds ( Vector_t< double, Dim > &  ,
Vector_t< double, Dim > &   
)
inline

Definition at line 680 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getLocalBounds() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::getLocalBounds ( Vector_t< T, Dim > &  rmin,
Vector_t< T, Dim > &  rmax 
) const
inline

◆ getLocalNum() [1/2]

◆ getLocalNum() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::getLocalNum ( ) const
inline

◆ getLocalTrackStep() [1/2]

template<class T , unsigned Dim>
long long PartBunch< T, Dim >::getLocalTrackStep
inline

◆ getLocalTrackStep() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
long long PartBunch< PLayout, T, Dim >::getLocalTrackStep ( ) const
inline

Definition at line 872 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::localTrackStep_m.

◆ getM() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getM
inline

◆ getM() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getM ( ) const
inline

Definition at line 338 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::getTotalNum().

Here is the call graph for this function:

◆ getMassPerParticle() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getMassPerParticle
inline

◆ getMassPerParticle() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getMassPerParticle ( ) const
inline

Definition at line 331 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::mi_m.

◆ getMesh() [1/3]

template<class PLayout , typename T , unsigned Dim = 3>
Mesh_t & PartBunch< PLayout, T, Dim >::getMesh ( )
inline

Definition at line 134 of file .PartBunch.h.

References PartBunch< PLayout, T, Dim >::getLayout().

Here is the call graph for this function:

◆ getMesh() [2/3]

template<class PLayout , typename T , unsigned Dim = 3>
const Mesh_t & PartBunch< PLayout, T, Dim >::getMesh ( ) const
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().

Here is the call graph for this function:

◆ getMesh() [3/3]

template<class PLayout , typename T , unsigned Dim = 3>
const Mesh_t & PartBunch< PLayout, T, Dim >::getMesh ( ) const

◆ getNumberOfEmissionSteps() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::getNumberOfEmissionSteps ( )
inline

Definition at line 1012 of file #PartBunch.hpp#.

◆ getNumberOfEmissionSteps() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::getNumberOfEmissionSteps ( )
inline

Definition at line 552 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getNumberOfEnergyBins() [1/2]

template<class T , unsigned Dim>
int PartBunch< T, Dim >::getNumberOfEnergyBins
inline

◆ getNumberOfEnergyBins() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
int PartBunch< PLayout, T, Dim >::getNumberOfEnergyBins ( )
inline

Definition at line 556 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getNumBunch() [1/2]

template<class T , unsigned Dim>
short PartBunch< T, Dim >::getNumBunch
inline

Definition at line 1393 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::numBunch_m.

◆ getNumBunch() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
short PartBunch< PLayout, T, Dim >::getNumBunch ( ) const
inline

Definition at line 882 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::numBunch_m.

◆ getP()

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getP
inline

Definition at line 304 of file #PartBunch.hpp#.

References PartData::getP(), and PartBunch< PLayout, T, Dim >::reference.

Here is the call graph for this function:

◆ getParticleContainer()

◆ getPx() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getPx ( int  i)
inline

Definition at line 1125 of file #PartBunch.hpp#.

◆ getPx() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getPx ( int  )
inline

Definition at line 630 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getPx0() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getPx0 ( int  i)
inline

Definition at line 1135 of file #PartBunch.hpp#.

◆ getPx0() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getPx0 ( int  )
inline

Definition at line 642 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getPy() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getPy ( int  i)
inline

Definition at line 1128 of file #PartBunch.hpp#.

◆ getPy() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getPy ( int  )
inline

Definition at line 634 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getPy0() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getPy0 ( int  i)
inline

Definition at line 1138 of file #PartBunch.hpp#.

◆ getPy0() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getPy0 ( int  )
inline

Definition at line 646 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getPz() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getPz ( int  i)
inline

Definition at line 1131 of file #PartBunch.hpp#.

◆ getPz() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getPz ( int  )
inline

Definition at line 638 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getQ() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getQ
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().

Here is the call graph for this function:

◆ getQ() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getQ ( ) const
inline

Definition at line 335 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::getCharge().

Here is the call graph for this function:

◆ getQKs3D()

template<class PLayout , typename T , unsigned Dim = 3>
Quaternion_t PartBunch< PLayout, T, Dim >::getQKs3D ( )

◆ getReference() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
PartData * PartBunch< PLayout, T, Dim >::getReference ( )
inline

Definition at line 359 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::reference_m.

◆ getReference() [2/2]

template<class T , unsigned Dim>
const PartData * PartBunch< T, Dim >::getReference
inline

Definition at line 353 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::reference.

Referenced by RFCavity::trackOnAxisParticle().

◆ getRho() [1/3]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getRho ( int  x,
int  y,
int  z 
)
inline

Definition at line 701 of file #PartBunch.hpp#.

◆ getRho() [2/3]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getRho ( int  x,
int  y,
int  z 
)

◆ getRho() [3/3]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getRho ( int  ,
int  ,
int   
)
inline

Definition at line 411 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getStepsPerTurn() [1/2]

template<class T , unsigned Dim>
int PartBunch< T, Dim >::getStepsPerTurn
inline

Definition at line 1360 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::stepsPerTurn_m.

◆ getStepsPerTurn() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
int PartBunch< PLayout, T, Dim >::getStepsPerTurn ( ) const
inline

Definition at line 849 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::stepsPerTurn_m.

◆ getSteptoLastInj() [1/2]

template<class T , unsigned Dim>
int PartBunch< T, Dim >::getSteptoLastInj
inline

Definition at line 1412 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::SteptoLastInj_m.

◆ getSteptoLastInj() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
int PartBunch< PLayout, T, Dim >::getSteptoLastInj ( ) const
inline

Definition at line 906 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::SteptoLastInj_m.

◆ getT() [1/2]

◆ getT() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getT ( ) const
inline

Definition at line 704 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::t_m.

◆ getTEmission() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getTEmission ( )
inline

Definition at line 1033 of file #PartBunch.hpp#.

◆ getTEmission() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getTEmission ( )
inline

Definition at line 575 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getTempEField()

template<class PLayout , typename T , unsigned Dim = 3>
std::shared_ptr< VField_t< T, Dim > > PartBunch< PLayout, T, Dim >::getTempEField ( )
inline

◆ getTotalNum() [1/2]

◆ getTotalNum() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::getTotalNum ( ) const
inline

◆ getUpdateFlag()

template<class T , unsigned Dim>
bool PartBunch< T, Dim >::getUpdateFlag ( UpdateFlags_t  f) const

Definition at line 1327 of file .PartBunchBase.hpp.

◆ getX() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getX ( int  i)
inline

Definition at line 1142 of file #PartBunch.hpp#.

◆ getX() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getX ( int  )
inline

Definition at line 650 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getX0() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getX0 ( int  i)
inline

Definition at line 1152 of file #PartBunch.hpp#.

◆ getX0() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getX0 ( int  )
inline

Definition at line 662 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getY() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getY ( int  i)
inline

Definition at line 1145 of file #PartBunch.hpp#.

◆ getY() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getY ( int  )
inline

Definition at line 654 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getY0() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getY0 ( int  i)
inline

Definition at line 1155 of file #PartBunch.hpp#.

◆ getY0() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getY0 ( int  )
inline

Definition at line 666 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ getZ() [1/2]

template<class T , unsigned Dim>
double PartBunch< T, Dim >::getZ ( int  i)
inline

Definition at line 1148 of file #PartBunch.hpp#.

◆ getZ() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getZ ( int  )
inline

Definition at line 658 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ ghostDestroy()

template<class T , unsigned Dim>
void PartBunch< T, Dim >::ghostDestroy ( size_t  M,
size_t  I 
)

Definition at line 1390 of file .PartBunchBase.hpp.

◆ globalCreate() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::globalCreate ( size_t  np)

Definition at line 1375 of file .PartBunchBase.hpp.

◆ globalCreate() [2/2]

void ippl::ParticleBase< PLayout, IP >::globalCreate ( size_type  nTotal)
inherited

Create nTotal particles globally, equally distributed among all processors. This is a collective call.

Parameters
nTotalnumber of total particles to be created

Definition at line 267 of file ParticleBase.hpp.

◆ grid2par()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::grid2par ( )
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().

Here is the call graph for this function:

◆ hasBinning() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::hasBinning ( )
inline

Definition at line 608 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ hasBinning() [2/2]

template<class T , unsigned Dim>
bool PartBunch< T, Dim >::hasBinning
inline

Definition at line 1092 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::pbin_m.

◆ hasFieldSolver() [1/2]

template<class T , unsigned Dim>
bool PartBunch< T, Dim >::hasFieldSolver
inline

◆ hasFieldSolver() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::hasFieldSolver ( )
inline

Definition at line 534 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ incrementT() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::incrementT
inline

◆ incrementT() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::incrementT ( )
inline

◆ incTrackSteps() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::incTrackSteps
inline

◆ incTrackSteps() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::incTrackSteps ( )
inline

◆ initialize() [1/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::initialize ( FieldLayout_t fLayout)

Definition at line 54 of file .PartBunch.cpp.

References PartBunch< PLayout, T, Dim >::getLayout().

Here is the call graph for this function:

◆ initialize() [2/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::initialize ( FieldLayout_t< Dim > &  fl,
Mesh_t< Dim > &  mesh 
)
inline

Definition at line 231 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::updateLayout().

Here is the call graph for this function:

◆ initialize() [3/3]

void ippl::ParticleBase< PLayout, IP >::initialize ( Layout_t layout)
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.

◆ initializeORB()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::initializeORB ( FieldLayout_t< Dim > &  fl,
Mesh_t< Dim > &  mesh 
)
inline

◆ internalDestroy()

void ippl::ParticleBase< PLayout, IP >::internalDestroy ( const Kokkos::View< bool *, Properties... > &  invalid,
const size_type  destroyNum 
)
inherited

Definition at line 290 of file ParticleBase.hpp.

◆ isGridFixed() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::isGridFixed ( )
inline

Definition at line 378 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ isGridFixed() [2/2]

template<class T , unsigned Dim>
bool PartBunch< T, Dim >::isGridFixed
inline

◆ iterateEmittedBin()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::iterateEmittedBin ( int  binNumber)

◆ operator=() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
PartBunch & PartBunch< PLayout, T, Dim >::operator= ( const PartBunch< PLayout, T, Dim > &  )
delete

◆ operator=() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
PartBunch & PartBunch< PLayout, T, Dim >::operator= ( const PartBunch< PLayout, T, Dim > &  )
delete

◆ P()

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::P ( size_t  )
inline

Definition at line 259 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ pack()

void ippl::ParticleBase< PLayout, IP >::pack ( const hash_container_type hash)
protectedinherited

Fill attributes of buffer.

Parameters
bufferto send
hashfunction to access index.

Definition at line 345 of file ParticleBase.hpp.

◆ packedSize() [1/2]

size_type ippl::ParticleBase< PLayout, IDProperties >::packedSize ( const size_type  count) const
inherited

Determine the total space necessary to store a certain number of particles

Template Parameters
MemorySpaceonly consider attributes stored in this memory space
Parameters
countparticle number
Returns
Total size of a buffer packed with the given number of particles

◆ packedSize() [2/2]

detail::size_type ippl::ParticleBase< PLayout, IDProperties >::packedSize ( const size_type  count) const
inherited

Definition at line 328 of file ParticleBase.hpp.

◆ par2grid()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::par2grid ( )
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().

Here is the call graph for this function:

◆ performBunchSanityChecks()

template<typename T , unsigned Dim>
void PartBunch< T, Dim >::performBunchSanityChecks
Todo:
always try to add more checks here! Best practice: throw explanatory exceptions and give output when passed.

Definition at line 669 of file PartBunch.cpp.

References endl().

Referenced by ParallelTracker::execute().

Here is the call graph for this function:

◆ performDestroy()

template<class T , unsigned Dim>
void PartBunch< T, Dim >::performDestroy ( bool  updateLocalNum = false)

Definition at line 1385 of file .PartBunchBase.hpp.

◆ post_step()

virtual void ippl::BaseManager::post_step ( )
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().

◆ pre_run()

template<typename T , unsigned Dim>
void PartBunch< T, Dim >::pre_run
overridevirtual

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().

◆ pre_step()

virtual void ippl::BaseManager::pre_step ( )
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().

◆ print() [1/3]

template<typename T , unsigned Dim>
Inform & PartBunch< T, Dim >::print ( Inform os)
inline

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<<().

Here is the call graph for this function:

◆ print() [2/3]

template<class PLayout , typename T , unsigned Dim = 3>
Inform & PartBunch< PLayout, T, Dim >::print ( Inform os)

◆ print() [3/3]

template<class PLayout , typename T , unsigned Dim = 3>
Inform & PartBunch< PLayout, T, Dim >::print ( Inform os)

◆ R()

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::R ( size_t  )
inline

◆ Rebin() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::Rebin
inline

Definition at line 1020 of file #PartBunch.hpp#.

◆ rebin() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::rebin
inline

Definition at line 1063 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::pbin_m.

◆ Rebin() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::Rebin ( )
inline

Definition at line 561 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ rebin() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::rebin ( )
inline

Definition at line 591 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ recvFromRank()

void ippl::ParticleBase< PLayout, IP >::recvFromRank ( int  rank,
int  tag,
size_type  nRecvs 
)
inherited

Receives particles from another rank

Parameters
rankthe source rank
tagthe MPI tag
recvNumthe number of messages already received (to distinguish the buffers)
nRecvsthe number of particles to receive

Definition at line 314 of file ParticleBase.hpp.

◆ repartition()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::repartition ( FieldLayout_t< Dim > &  fl,
Mesh_t< Dim > &  mesh 
)
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().

Here is the call graph for this function:

◆ resetID()

template<class T , unsigned Dim>
void PartBunch< T, Dim >::resetID

Definition at line 1342 of file .PartBunchBase.hpp.

◆ resetInterpolationCache() [1/3]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::resetInterpolationCache ( bool  clearCache = false)
inline

Definition at line 672 of file #PartBunch.hpp#.

◆ resetInterpolationCache() [2/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::resetInterpolationCache ( bool  clearCache = false)

◆ resetInterpolationCache() [3/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::resetInterpolationCache ( bool  )
inline

Definition at line 405 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ resetM()

template<class T , unsigned Dim>
void PartBunch< T, Dim >::resetM ( double  m)
inline

Definition at line 329 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::reference.

◆ resetPartBinBunch() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::resetPartBinBunch ( )
inline

Definition at line 1116 of file #PartBunch.hpp#.

◆ resetPartBinBunch() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::resetPartBinBunch ( )
inline

Definition at line 626 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ resetPartBinID2() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::resetPartBinID2 ( const double  eta)
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#.

◆ resetPartBinID2() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::resetPartBinID2 ( const double  )
inline

Definition at line 622 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ resetQ()

template<class T , unsigned Dim>
void PartBunch< T, Dim >::resetQ ( double  q)
inline

Set reference data.

Definition at line 326 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::reference.

◆ resizeMesh() [1/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::resizeMesh ( )

Definition at line 318 of file .PartBunch.cpp.

◆ resizeMesh() [2/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::resizeMesh ( )
private

resize mesh to geometry specified

◆ resizeMesh() [3/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::resizeMesh ( )
inline

Definition at line 374 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ run()

void ippl::BaseManager::run ( int  nt)
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.

Parameters
ntThe 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().

Here is the call graph for this function:

◆ runTests() [1/2]

◆ runTests() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::runTests ( )

◆ scatterCIC() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::scatterCIC ( )
inline

Definition at line 294 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::scatterCICPerBin().

Referenced by PartBunch< PLayout, T, Dim >::par2grid().

Here is the call graph for this function:

◆ scatterCIC() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::scatterCIC ( unsigned int  totalP,
int  iteration 
)
inline

◆ scatterCICPerBin()

template<class PLayout , typename T , unsigned Dim = 3>
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().

Here is the call graph for this function:

◆ sendToRank()

void ippl::ParticleBase< PLayout, IP >::sendToRank ( int  rank,
int  tag,
std::vector< MPI_Request > &  requests,
const HashType &  hash 
)
inherited

Sends particles to another rank

Template Parameters
HashTypethe hash view type
Parameters
rankthe destination rank
tagthe MPI tag
sendNumthe number of messages already sent (to distinguish the buffers)
requestsdestination vector in which to store the MPI requests for polling purposes
hasha hash view indicating which particles need to be sent to which rank

Definition at line 304 of file ParticleBase.hpp.

◆ serialize()

void ippl::ParticleBase< PLayout, IP >::serialize ( Archive &  ar,
size_type  nsends 
)
inherited

Serialize to do MPI calls.

Parameters
ararchive

Definition at line 321 of file ParticleBase.hpp.

◆ set_meshEnlargement()

template<class T , unsigned Dim>
void PartBunch< T, Dim >::set_meshEnlargement ( double  dh)
inline

Definition at line 622 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::dh_m.

◆ set_sPos() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::set_sPos ( double  s)
inline

get the spos of the primary beam

Parameters
none

Definition at line 1262 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::spos_m.

Referenced by ParallelTracker::execute(), and H5PartWrapperForPT::readStepHeader().

◆ set_sPos() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::set_sPos ( double  s)
inline

Definition at line 708 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::spos_m.

◆ setBCAllOpen() [1/3]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setBCAllOpen
inline

Definition at line 632 of file #PartBunch.hpp#.

◆ setBCAllOpen() [2/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBCAllOpen ( )

◆ setBCAllOpen() [3/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBCAllOpen ( )
inline

Definition at line 392 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ setBCAllPeriodic() [1/3]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setBCAllPeriodic
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().

Here is the call graph for this function:

◆ setBCAllPeriodic() [2/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBCAllPeriodic ( )

◆ setBCAllPeriodic() [3/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBCAllPeriodic ( )
inline

Definition at line 401 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ setBCForDCBeam() [1/3]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setBCForDCBeam
inline

Definition at line 635 of file #PartBunch.hpp#.

◆ setBCForDCBeam() [2/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBCForDCBeam ( )

◆ setBCForDCBeam() [3/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBCForDCBeam ( )
inline

Definition at line 395 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ setBCHandler()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBCHandler ( std::shared_ptr< BCHandler_t bcHandler)
inline

◆ setBConds()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBConds ( const ParticleBConds< Position_t, Dimension > &  bc)
inline

Definition at line 168 of file .PartBunchBase.h.

◆ setBeamFrequency() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setBeamFrequency ( double  v)
inline

Definition at line 806 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::periodLength_m.

◆ setBeamFrequency() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBeamFrequency ( double  )
inline

Definition at line 521 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ setBinCharge() [1/4]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setBinCharge ( int  bin)
inline

Set the charge of all other the ones in bin to zero.

Definition at line 1102 of file #PartBunch.hpp#.

◆ setBinCharge() [2/4]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setBinCharge ( int  bin,
double  q 
)
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#.

◆ setBinCharge() [3/4]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBinCharge ( int  )
inline

Definition at line 615 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ setBinCharge() [4/4]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBinCharge ( int  ,
double   
)
inline

Definition at line 612 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ setBins()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBins ( std::shared_ptr< AdaptBins_t bins)
inline

◆ setCharge() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setCharge ( )
inline

Definition at line 316 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::getParticleContainer(), and PartBunch< PLayout, T, Dim >::qi_m.

Here is the call graph for this function:

◆ setCharge() [2/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setCharge ( double  q)
inline

Definition at line 257 of file #PartBunch.hpp#.

References endl(), PartBunch< PLayout, T, Dim >::getTotalNum(), PartBunch< PLayout, T, Dim >::qi_m, and ippl::Warn.

Here is the call graph for this function:

◆ setChargeZeroPart()

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setChargeZeroPart ( double  q)
inline

Definition at line 268 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::qi_m.

◆ setCouplingConstant() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setCouplingConstant ( double  c)
inline

◆ setCouplingConstant() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setCouplingConstant ( double  c)
inline

Definition at line 308 of file PartBunch.h.

References Physics::c, and PartBunch< PLayout, T, Dim >::couplingConstant_m.

◆ setdT() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setdT ( double  dt)
inline

◆ setdT() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setdT ( double  dt)
inline

◆ setEnergyBins() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setEnergyBins ( int  numberOfEnergyBins)
inline

Definition at line 1023 of file #PartBunch.hpp#.

◆ setEnergyBins() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setEnergyBins ( int  )
inline

Definition at line 565 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ setFieldContainer()

void ippl::PicManager< T, Dim, ParticleContainer< T, 3 > , FieldContainer< T, 3 > , LoadBalancer< T, 3 > >::setFieldContainer ( std::shared_ptr< FieldContainer< T, 3 > >  fcontainer)
inlineinherited

Definition at line 59 of file PicManager.h.

◆ setFieldSolver()

void ippl::PicManager< T, Dim, ParticleContainer< T, 3 > , FieldContainer< T, 3 > , LoadBalancer< T, 3 > >::setFieldSolver ( std::shared_ptr< ippl::FieldSolverBase< T, Dim > >  fsolver)
inlineinherited

Definition at line 63 of file PicManager.h.

◆ setGlobalMeanR() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setGlobalMeanR ( Vector_t< double, Dim globalMeanR)
inline

Definition at line 886 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::globalMeanR_m.

◆ setGlobalMeanR() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setGlobalMeanR ( Vector_t< T, Dim globalMeanR)
inline

◆ setGlobalToLocalQuaternion()

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setGlobalToLocalQuaternion ( Quaternion_t  globalToLocalQuaternion)
inline

◆ setGlobalTrackStep() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setGlobalTrackStep ( long long  n)
inline

step in multiple TRACK commands

Definition at line 1365 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::globalTrackStep_m.

Referenced by H5PartWrapperForPT::readStepHeader().

◆ setGlobalTrackStep() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setGlobalTrackStep ( long long  n)
inline

step in multiple TRACK commands

Definition at line 854 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::globalTrackStep_m.

◆ setKs3DRefp()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setKs3DRefp ( Vector_t< double, 3 >  p)

◆ setKs3DRefr()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setKs3DRefr ( Vector_t< double, 3 >  r)

◆ setLoadBalancer()

void ippl::PicManager< T, Dim, ParticleContainer< T, 3 > , FieldContainer< T, 3 > , LoadBalancer< T, 3 > >::setLoadBalancer ( std::shared_ptr< LoadBalancer< T, 3 > >  loadbalancer)
inlineinherited

Definition at line 69 of file PicManager.h.

◆ setLocalBinCount() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setLocalBinCount ( size_t  num,
int  bin 
)
inline

Definition at line 1077 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::pbin_m.

◆ setLocalBinCount() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setLocalBinCount ( size_t  ,
int   
)
inline

Definition at line 598 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ setLocalNum() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setLocalNum ( size_t  n)

Definition at line 1312 of file .PartBunchBase.hpp.

◆ setLocalNum() [2/2]

void ippl::ParticleBase< PLayout, IDProperties >::setLocalNum ( size_type  size)
inlineinherited

Definition at line 157 of file ParticleBase.h.

◆ setLocalTrackStep() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setLocalTrackStep ( long long  n)
inline

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().

◆ setLocalTrackStep() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setLocalTrackStep ( long long  n)
inline

step in a TRACK command

Definition at line 863 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::localTrackStep_m.

◆ setMass() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setMass ( )
inline

Definition at line 320 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::getParticleContainer(), and PartBunch< PLayout, T, Dim >::mi_m.

Here is the call graph for this function:

◆ setMass() [2/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setMass ( double  mass)
inline

Definition at line 273 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::getTotalNum(), and PartBunch< PLayout, T, Dim >::massPerParticle_m.

Here is the call graph for this function:

◆ setMassZeroPart()

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setMassZeroPart ( double  mass)
inline

Definition at line 279 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::massPerParticle_m.

◆ setNumBunch() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setNumBunch ( short  n)
inline

◆ setNumBunch() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setNumBunch ( short  n)
inline

◆ setParticleBC() [1/2]

void ippl::ParticleBase< PLayout, IDProperties >::setParticleBC ( BC  bc)
inlineinherited

Set all boundary conditions to this BC

Parameters
bcthe boundary conditions

Definition at line 184 of file ParticleBase.h.

◆ setParticleBC() [2/2]

void ippl::ParticleBase< PLayout, IDProperties >::setParticleBC ( const bc_container_type bcs)
inlineinherited

Set all boundary conditions

Parameters
bcthe boundary conditions

Definition at line 178 of file ParticleBase.h.

◆ setParticleContainer()

void ippl::PicManager< T, Dim, ParticleContainer< T, 3 > , FieldContainer< T, 3 > , LoadBalancer< T, 3 > >::setParticleContainer ( std::shared_ptr< ParticleContainer< T, 3 > >  pcontainer)
inlineinherited

Definition at line 55 of file PicManager.h.

◆ setPBins()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setPBins ( PartBins pbin)
inline

Definition at line 1041 of file #PartBunch.hpp#.

◆ setPType()

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setPType ( const std::string &  type)
inline

Definition at line 334 of file #PartBunch.hpp#.

◆ setQKs3D()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setQKs3D ( Quaternion_t  q)

◆ setSolver()

template<typename T , unsigned Dim>
void PartBunch< T, Dim >::setSolver ( std::string  solver)

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().

Here is the call graph for this function:

◆ setStepsPerTurn() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setStepsPerTurn ( int  n)
inline

Definition at line 1356 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::stepsPerTurn_m.

◆ setStepsPerTurn() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setStepsPerTurn ( int  n)
inline

Definition at line 845 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::stepsPerTurn_m.

◆ setSteptoLastInj() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setSteptoLastInj ( int  n)
inline

Definition at line 1408 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::SteptoLastInj_m.

◆ setSteptoLastInj() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setSteptoLastInj ( int  n)
inline

Definition at line 902 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::SteptoLastInj_m.

◆ setT() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setT ( double  t)
inline

◆ setT() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setT ( double  t)
inline

Definition at line 696 of file PartBunch.h.

References PartBunch< PLayout, T, Dim >::t_m.

◆ setTEmission() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setTEmission ( double  t)
inline

Definition at line 1030 of file #PartBunch.hpp#.

◆ setTEmission() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setTEmission ( double  )
inline

Definition at line 572 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ setTempEField()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setTempEField ( std::shared_ptr< VField_t< T, Dim > >  Etmp)
inline

Definition at line 233 of file PartBunch.h.

Referenced by PartBunch< PLayout, T, Dim >::PartBunch().

◆ setTotalNum()

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setTotalNum ( size_t  n)

Definition at line 1307 of file .PartBunchBase.hpp.

◆ setup()

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setup ( AbstractParticle< T, Dim > *  pb)
private

Definition at line 1251 of file .PartBunchBase.hpp.

References IpplTimings::getTimer().

Referenced by PartBunch< PLayout, T, Dim >::PartBunch().

Here is the call graph for this function:

◆ setupBCs() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setupBCs ( )
inline

Definition at line 638 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::setBCAllPeriodic().

Here is the call graph for this function:

◆ setupBCs() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setupBCs ( )
inline

Definition at line 398 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ setUpdateFlag()

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setUpdateFlag ( UpdateFlags_t  f,
bool  val 
)

Definition at line 1332 of file .PartBunchBase.hpp.

◆ setZ() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::setZ ( int  i,
double  zcoo 
)
inline

Definition at line 1159 of file #PartBunch.hpp#.

◆ setZ() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setZ ( int  ,
double   
)
inline

Definition at line 671 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ spaceChargeEFieldCheck()

template<typename T , unsigned Dim>
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().

Here is the call graph for this function:

◆ swap() [1/3]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::swap ( unsigned int  i,
unsigned int  j 
)
inline

◆ swap() [2/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::swap ( unsigned int  i,
unsigned int  j 
)

◆ swap() [3/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::swap ( unsigned int  ,
unsigned int   
)
inline

Definition at line 408 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ switchOffUnitlessPositions() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::switchOffUnitlessPositions ( bool  use_dt_per_particle = false)
inline

Definition at line 736 of file #PartBunch.hpp#.

Referenced by ParallelTracker::pushParticles().

◆ switchOffUnitlessPositions() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::switchOffUnitlessPositions ( bool  use_dt_per_particle = false)
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.

Parameters
use_dt_per_particleSelect whether to use the per-particle dt (true) or the global dt from getdT() (false) for the scaling.
Precondition
The PartBunch must currently be in unitless coordinates. If the bunch is already in physical coordinates (isUnitless_m is false), this function throws an OpalException.
Todo:
remove later

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().

Here is the call graph for this function:

◆ switchToUnitlessPositions() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::switchToUnitlessPositions ( bool  use_dt_per_particle = false)
inline

◆ switchToUnitlessPositions() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::switchToUnitlessPositions ( bool  use_dt_per_particle = false)
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) \).

Parameters
use_dt_per_particleIf true, use each particle's own dt value in the normalization; if false (default), use the global time step returned by getdT().
Precondition
The bunch must not already be in unitless positions. If the internal state flag indicates that positions are already unitless, this function throws an OpalException.
Todo:
remove later

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().

Here is the call graph for this function:

◆ unpack()

void ippl::ParticleBase< PLayout, IP >::unpack ( size_type  nrecvs)
protectedinherited

Fill my attributes.

Parameters
bufferreceived

Definition at line 351 of file ParticleBase.hpp.

◆ update() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::update

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().

Here is the call graph for this function:

◆ update() [2/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::update ( const ParticleAttrib< char > &  canSwap)

Definition at line 1356 of file .PartBunchBase.hpp.

References IpplException::what(), and IpplException::where().

Here is the call graph for this function:

◆ updateDomainLength() [1/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::updateDomainLength ( Vector_t< int, 3 > &  grid)
inline

Definition at line 370 of file #PartBunch.hpp#.

References PartBunch< PLayout, T, Dim >::Dim, and PartBunch< PLayout, T, Dim >::getFieldLayout().

Here is the call graph for this function:

◆ updateDomainLength() [2/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::updateDomainLength ( Vektor< int, 3 > &  grid)
private

Definition at line 490 of file .PartBunch.cpp.

References PartBunch< PLayout, T, Dim >::Dimension, and PartBunch< PLayout, T, Dim >::getFieldLayout().

Here is the call graph for this function:

◆ updateDomainLength() [3/3]

template<class PLayout , typename T , unsigned Dim = 3>
virtual void PartBunch< PLayout, T, Dim >::updateDomainLength ( Vektor< int, 3 > &  grid)
privatepure virtual

◆ updateFields() [1/3]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::updateFields ( const Vector_t< double, 3 > &  hr,
const Vector_t< double, 3 > &  origin 
)
private

◆ updateFields() [2/3]

template<class PLayout , typename T , unsigned Dim = 3>
virtual void PartBunch< PLayout, T, Dim >::updateFields ( const Vector_t< double, 3 > &  hr,
const Vector_t< double, 3 > &  origin 
)
privatevirtual

◆ updateFields() [3/3]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::updateFields ( const Vector_t< T, Dim > &  ,
const Vector_t< T, Dim > &  origin 
)
inline

Definition at line 376 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout, T, Dim >::boundp().

◆ updateLayout()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::updateLayout ( FieldLayout_t< Dim > &  fl,
Mesh_t< Dim > &  mesh 
)
inline

◆ updateMoments()

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::updateMoments ( )
inline

◆ updateNumTotal() [1/2]

template<class T , unsigned Dim>
void PartBunch< T, Dim >::updateNumTotal
inline

Definition at line 1053 of file #PartBunch.hpp#.

References ippl::Comm, and PartBunch< PLayout, T, Dim >::getLocalNum().

Referenced by ParallelTracker::applyPluginElements().

Here is the call graph for this function:

◆ updateNumTotal() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::updateNumTotal ( )
inline

Definition at line 588 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ weHaveBins() [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::weHaveBins ( )
inline

Definition at line 579 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

◆ weHaveBins() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::weHaveBins ( ) const
inline

Definition at line 1037 of file #PartBunch.hpp#.

◆ weHaveEnergyBins() [1/2]

template<class T , unsigned Dim>
bool PartBunch< T, Dim >::weHaveEnergyBins
inline

◆ weHaveEnergyBins() [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::weHaveEnergyBins ( )
inline

Definition at line 568 of file PartBunch.h.

References endl(), and gmsg.

Here is the call graph for this function:

Member Data Documentation

◆ allPeriodic

template<class PLayout , typename T , unsigned Dim = 3>
bc_type PartBunch< PLayout, T, Dim >::allPeriodic

Definition at line 175 of file #PartBunch.hpp#.

◆ alpha_m

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::alpha_m

Definition at line 98 of file PartBunch.h.

◆ attributes_m

attribute_container_type ippl::ParticleBase< PLayout, IDProperties >::attributes_m
privateinherited

all attributes

Definition at line 365 of file ParticleBase.h.

◆ bc_m

template<class PLayout , typename T , unsigned Dim = 3>
BConds<double, 3, Mesh_t, Center_t> PartBunch< PLayout, T, Dim >::bc_m
private

for defining the boundary conditions

Definition at line 107 of file .PartBunch.h.

Referenced by PartBunch< PLayout, T, Dim >::updateFields().

◆ bcHandler_m

template<class PLayout , typename T , unsigned Dim = 3>
std::shared_ptr<BCHandler_t> PartBunch< PLayout, T, Dim >::bcHandler_m
private

◆ Bext_m

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::Bext_m

Definition at line 97 of file PartBunch.h.

◆ Bf

template<class PLayout , typename T , unsigned Dim = 3>
ParticleAttrib<Vector_t<T, Dim> > PartBunch< PLayout, T, Dim >::Bf

Definition at line 74 of file #PartBunch.hpp#.

◆ Bin

template<class PLayout , typename T , unsigned Dim = 3>
ParticleAttrib<int> PartBunch< PLayout, T, Dim >::Bin

◆ binemitted_m

template<class PLayout , typename T , unsigned Dim = 3>
std::unique_ptr<size_t[]> PartBunch< PLayout, T, Dim >::binemitted_m

Definition at line 116 of file #PartBunch.hpp#.

◆ bingamma_m

template<class PLayout , typename T , unsigned Dim = 3>
std::unique_ptr< double[]> PartBunch< PLayout, T, Dim >::bingamma_m

holds the gamma of the bin

Definition at line 111 of file #PartBunch.hpp#.

◆ bins_m

template<class PLayout , typename T , unsigned Dim = 3>
std::shared_ptr<AdaptBins_t> PartBunch< PLayout, T, Dim >::bins_m
private

◆ bunchLocalNum_m

template<class PLayout , typename T , unsigned Dim = 3>
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().

◆ bunchNum

template<class PLayout , typename T , unsigned Dim = 3>
ParticleAttrib<int> PartBunch< PLayout, T, Dim >::bunchNum

Definition at line 70 of file #PartBunch.hpp#.

◆ bunchTotalNum_m

template<class PLayout , typename T , unsigned Dim = 3>
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().

◆ centroid_m

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::centroid_m[2 *Dim]

holds the centroid of the beam

Definition at line 154 of file #PartBunch.hpp#.

◆ couplingConstant_m

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::couplingConstant_m

◆ dcBeam_m

template<class PLayout , typename T , unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::dcBeam_m

Definition at line 194 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout, T, Dim >::boundp().

◆ decomp_m

template<class PLayout , typename T , unsigned Dim = 3>
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().

◆ deleteIndex_m

hash_container_type ippl::ParticleBase< PLayout, IDProperties >::deleteIndex_m
privateinherited

buffers for particle partitioning

Definition at line 374 of file ParticleBase.h.

◆ dh_m

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::dh_m

◆ Dimension

template<class PLayout , typename T , unsigned Dim = 3>
const unsigned PartBunch< PLayout, T, Dim >::Dimension = Dim
static

Definition at line 64 of file .PartBunchBase.h.

Referenced by PartBunch< PLayout, T, Dim >::updateDomainLength().

◆ domain_m

template<class PLayout , typename T , unsigned Dim = 3>
ippl::NDIndex<Dim> PartBunch< PLayout, T, Dim >::domain_m

Definition at line 101 of file PartBunch.h.

Referenced by PartBunch< PLayout, T, Dim >::PartBunch().

◆ DrInv_m

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::DrInv_m

Definition at line 99 of file PartBunch.h.

◆ dt

template<class PLayout , typename T , unsigned Dim = 3>
ParticleAttrib<double> PartBunch< PLayout, T, Dim >::dt

◆ dt_m

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::dt_m

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().

◆ E

template<class PLayout , typename T , unsigned Dim = 3>
ParticleAttrib<Vector_t<T, Dim> > PartBunch< PLayout, T, Dim >::E

Definition at line 72 of file #PartBunch.hpp#.

◆ Ef

template<class PLayout , typename T , unsigned Dim = 3>
ParticleAttrib<Vector_t<T, Dim> > PartBunch< PLayout, T, Dim >::Ef

Definition at line 73 of file #PartBunch.hpp#.

◆ EFD_m

template<class PLayout , typename T , unsigned Dim = 3>
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().

◆ EFDMag_m

template<class PLayout , typename T , unsigned Dim = 3>
Field_t<Dim> PartBunch< PLayout, T, Dim >::EFDMag_m

◆ Eftmp

template<class PLayout , typename T , unsigned Dim = 3>
ParticleAttrib<Vector_t<T, Dim> > PartBunch< PLayout, T, Dim >::Eftmp

Definition at line 78 of file #PartBunch.hpp#.

◆ eg_m [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
VField_t<T, Dim> PartBunch< PLayout, T, Dim >::eg_m

◆ eg_m [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
VField_t PartBunch< PLayout, T, Dim >::eg_m

vector field on the grid

Definition at line 94 of file .PartBunch.h.

◆ EnableIDs

constexpr bool ippl::ParticleBase< PLayout, IDProperties >::EnableIDs
staticconstexprprivateinherited

Definition at line 88 of file ParticleBase.h.

◆ Etmp_m

template<class PLayout , typename T , unsigned Dim = 3>
std::shared_ptr<VField_t<T, Dim> > PartBunch< PLayout, T, Dim >::Etmp_m
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().

◆ f_stream

template<class PLayout , typename T , unsigned Dim = 3>
std::unique_ptr<std::ofstream> PartBunch< PLayout, T, Dim >::f_stream

Definition at line 920 of file #PartBunch.hpp#.

◆ fcontainer_m

std::shared_ptr<FieldContainer< T, 3 > > ippl::PicManager< T, Dim, ParticleContainer< T, 3 > , FieldContainer< T, 3 > , LoadBalancer< T, 3 > >::fcontainer_m
protectedinherited

Definition at line 72 of file PicManager.h.

◆ fixed_grid

template<class PLayout , typename T , unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::fixed_grid

Definition at line 139 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout, T, Dim >::isGridFixed().

◆ fsolver_m

std::shared_ptr<ippl::FieldSolverBase<T, Dim> > ippl::PicManager< T, Dim, ParticleContainer< T, 3 > , FieldContainer< T, 3 > , LoadBalancer< T, 3 > >::fsolver_m
protectedinherited

Definition at line 78 of file PicManager.h.

◆ globalMeanR_m [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
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().

◆ globalMeanR_m [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t<double, Dim> PartBunch< PLayout, T, Dim >::globalMeanR_m
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.

◆ globalPartPerNode_m

template<class PLayout , typename T , unsigned Dim = 3>
std::unique_ptr< size_t[]> PartBunch< PLayout, T, Dim >::globalPartPerNode_m

◆ globalToLocalQuaternion_m

template<class PLayout , typename T , unsigned Dim = 3>
Quaternion_t PartBunch< PLayout, T, Dim >::globalToLocalQuaternion_m
private

◆ globalTrackStep_m

template<class PLayout , typename T , unsigned Dim = 3>
long long PartBunch< PLayout, T, Dim >::globalTrackStep_m

◆ hr_m

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::hr_m

◆ ID

particle_index_type ippl::ParticleBase< PLayout, IDProperties >::ID
inherited

view of particle IDs

Definition at line 118 of file ParticleBase.h.

◆ integration_method_m

template<class PLayout , typename T , unsigned Dim = 3>
std::string PartBunch< PLayout, T, Dim >::integration_method_m

Definition at line 71 of file PartBunch.h.

◆ interpolationCache_m

template<class PLayout , typename T , unsigned Dim = 3>
ParticleAttrib<CacheDataCIC<double, 3U> > PartBunch< PLayout, T, Dim >::interpolationCache_m
private

Definition at line 112 of file .PartBunch.h.

◆ interpolationCacheSet_m

template<class PLayout , typename T , unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::interpolationCacheSet_m
private

Definition at line 110 of file .PartBunch.h.

◆ isFirstRepartition_m

template<class PLayout , typename T , unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::isFirstRepartition_m

Definition at line 75 of file PartBunch.h.

◆ isParallel_m

template<class PLayout , typename T , unsigned Dim = 3>
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().

◆ isUnitless_m

template<class PLayout , typename T , unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::isUnitless_m = false
private

◆ it_m

template<class PLayout , typename T , unsigned Dim = 3>
int PartBunch< PLayout, T, Dim >::it_m

Definition at line 69 of file PartBunch.h.

◆ keepIndex_m

hash_container_type ippl::ParticleBase< PLayout, IDProperties >::keepIndex_m
privateinherited

Definition at line 375 of file ParticleBase.h.

◆ layout_m

Layout_t* ippl::ParticleBase< PLayout, IDProperties >::layout_m
privateinherited

particle layout

Definition at line 356 of file ParticleBase.h.

◆ lbt_m

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::lbt_m
Todo:
doesn't do anything???

Definition at line 65 of file PartBunch.h.

◆ loadbalancer_m

std::shared_ptr<LoadBalancer< T, 3 > > ippl::PicManager< T, Dim, ParticleContainer< T, 3 > , FieldContainer< T, 3 > , LoadBalancer< T, 3 > >::loadbalancer_m
protectedinherited

Definition at line 76 of file PicManager.h.

◆ localNum_m

size_type ippl::ParticleBase< PLayout, IDProperties >::localNum_m
privateinherited

processor local number of particles

Definition at line 359 of file ParticleBase.h.

◆ localTrackStep_m

template<class PLayout , typename T , unsigned Dim = 3>
long long PartBunch< PLayout, T, Dim >::localTrackStep_m

◆ M

template<class PLayout , typename T , unsigned Dim = 3>
ParticleAttrib<double> PartBunch< PLayout, T, Dim >::M

Definition at line 69 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout, T, Dim >::swap().

◆ massPerParticle_m

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::massPerParticle_m

◆ mi_m

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::mi_m
private

◆ nextID_m

index_type ippl::ParticleBase< PLayout, IDProperties >::nextID_m
privateinherited

next unique particle ID

Definition at line 368 of file ParticleBase.h.

◆ nr_m [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t<T, Dim> PartBunch< PLayout, T, Dim >::nr_m

◆ nr_m [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t<int, Dim> PartBunch< PLayout, T, Dim >::nr_m

Definition at line 87 of file PartBunch.h.

◆ numBunch_m

template<class PLayout , typename T , unsigned Dim = 3>
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().

◆ numNodes_m

index_type ippl::ParticleBase< PLayout, IDProperties >::numNodes_m
privateinherited

number of MPI ranks

Definition at line 371 of file ParticleBase.h.

◆ OPALdist_m

template<class PLayout , typename T , unsigned Dim = 3>
std::shared_ptr<Distribution> PartBunch< PLayout, T, Dim >::OPALdist_m
private

Definition at line 178 of file PartBunch.h.

◆ OPALFieldSolver_m

template<class PLayout , typename T , unsigned Dim = 3>
std::shared_ptr<FieldSolverCmd> PartBunch< PLayout, T, Dim >::OPALFieldSolver_m
private

Definition at line 180 of file PartBunch.h.

Referenced by PartBunch< PLayout, T, Dim >::PartBunch().

◆ orb

template<class PLayout , typename T , unsigned Dim = 3>
ORB<T, Dim> PartBunch< PLayout, T, Dim >::orb

◆ origin_m

template<class PLayout , typename T , unsigned Dim = 3>
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().

◆ P

◆ pbin_m

template<class PLayout , typename T , unsigned Dim = 3>
PartBins* PartBunch< PLayout, T, Dim >::pbin_m

◆ pcontainer_m

std::shared_ptr<ParticleContainer< T, 3 > > ippl::PicManager< T, Dim, ParticleContainer< T, 3 > , FieldContainer< T, 3 > , LoadBalancer< T, 3 > >::pcontainer_m
protectedinherited

Definition at line 74 of file PicManager.h.

◆ periodLength_m

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::periodLength_m

◆ Phi

template<class PLayout , typename T , unsigned Dim = 3>
ParticleAttrib<double> PartBunch< PLayout, T, Dim >::Phi

Definition at line 77 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout, T, Dim >::swap().

◆ phi_m

template<class PLayout , typename T , unsigned Dim = 3>
Field<T, Dim> PartBunch< PLayout, T, Dim >::phi_m

Definition at line 172 of file #PartBunch.hpp#.

◆ pmsg_m

template<class PLayout , typename T , unsigned Dim = 3>
std::unique_ptr<Inform> PartBunch< PLayout, T, Dim >::pmsg_m

Definition at line 919 of file #PartBunch.hpp#.

◆ Q

template<class PLayout , typename T , unsigned Dim = 3>
ParticleAttrib<double> PartBunch< PLayout, T, Dim >::Q

◆ Q_m

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::Q_m

Definition at line 197 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout, T, Dim >::scatterCIC().

◆ qi_m

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::qi_m

◆ R

particle_position_type ippl::ParticleBase< PLayout, IDProperties >::R
inherited

view of particle positions

Definition at line 115 of file ParticleBase.h.

◆ reference

◆ reference_m

template<class PLayout , typename T , unsigned Dim = 3>
PartData* PartBunch< PLayout, T, Dim >::reference_m
private

Definition at line 167 of file PartBunch.h.

Referenced by PartBunch< PLayout, T, Dim >::getReference().

◆ RefPartP_m [1/2]

◆ RefPartP_m [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t<double, Dim> PartBunch< PLayout, T, Dim >::RefPartP_m

Definition at line 113 of file PartBunch.h.

◆ RefPartR_m [1/2]

◆ RefPartR_m [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Vector_t<double, Dim> PartBunch< PLayout, T, Dim >::RefPartR_m

Reference particle structures.

Definition at line 112 of file PartBunch.h.

◆ rho_m [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
Field_t<Dim> PartBunch< PLayout, T, Dim >::rho_m

◆ rho_m [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
Field_t PartBunch< PLayout, T, Dim >::rho_m

scalar potential

Definition at line 91 of file .PartBunch.h.

◆ rmax_m

◆ rmin_m

◆ rmsDensity_m

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::rmsDensity_m
private

Definition at line 82 of file PartBunch.h.

Referenced by PartBunch< PLayout, T, Dim >::get_rmsDensity().

◆ solver_m [1/2]

template<class PLayout , typename T , unsigned Dim = 3>
Solver_t<T, Dim> PartBunch< PLayout, T, Dim >::solver_m

Definition at line 66 of file #PartBunch.hpp#.

◆ solver_m [2/2]

template<class PLayout , typename T , unsigned Dim = 3>
std::string PartBunch< PLayout, T, Dim >::solver_m

Definition at line 73 of file PartBunch.h.

◆ spos_m

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::spos_m

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().

◆ stateOfLastBoundP_m

template<class PLayout , typename T , unsigned Dim = 3>
UnitState_t PartBunch< PLayout, T, Dim >::stateOfLastBoundP_m

Definition at line 151 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout, T, Dim >::boundp().

◆ stepsPerTurn_m

template<class PLayout , typename T , unsigned Dim = 3>
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().

◆ SteptoLastInj_m

template<class PLayout , typename T , unsigned Dim = 3>
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().

◆ t_m

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::t_m

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().

◆ tEmission_m

template<class PLayout , typename T , unsigned Dim = 3>
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#.

◆ time_m

template<class PLayout , typename T , unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::time_m

Definition at line 58 of file PartBunch.h.

◆ toLabTrafo_m

template<class PLayout , typename T , unsigned Dim = 3>
CoordinateSystemTrafo PartBunch< PLayout, T, Dim >::toLabTrafo_m

◆ totalNum_m

size_type ippl::ParticleBase< PLayout, IDProperties >::totalNum_m
privateinherited

total number of particles (across all processes)

Definition at line 362 of file ParticleBase.h.

◆ totalP_m

template<class PLayout , typename T , unsigned Dim = 3>
size_type PartBunch< PLayout, T, Dim >::totalP_m

Definition at line 60 of file PartBunch.h.

◆ unit_state_m

template<class PLayout , typename T , unsigned Dim = 3>
UnitState_t PartBunch< PLayout, T, Dim >::unit_state_m

◆ vbc_m

template<class PLayout , typename T , unsigned Dim = 3>
BConds<Vector_t<double, 3>, 3, Mesh_t, Center_t> PartBunch< PLayout, T, Dim >::vbc_m
private

Definition at line 108 of file .PartBunch.h.

Referenced by PartBunch< PLayout, T, Dim >::updateFields().


The documentation for this class was generated from the following files: