OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
PartBunch Class Reference

#include <PartBunch.h>

Inheritance diagram for PartBunch:
Inheritance graph
Collaboration diagram for PartBunch:
Collaboration graph

Public Types

enum  { Dim = Dimension }
 
typedef IpplParticleBase< Layout_tpbase_t
 
enum  UnitState_t
 
typedef AbstractParticle< double, Dim >::ParticlePos_t ParticlePos_t
 
typedef AbstractParticle< double, Dim >::ParticleIndex_t ParticleIndex_t
 
typedef AbstractParticle< double, Dim >::UpdateFlags UpdateFlags_t
 
typedef AbstractParticle< double, Dim >::Position_t Position_t
 
typedef std::pair< Vector_t, Vector_tVectorPair_t
 

Public Member Functions

 PartBunch (const PartData *ref)
 Default constructor. More...
 
 PartBunch ()=delete
 
 PartBunch (const PartBunch &)=delete
 
PartBunchoperator= (const PartBunch &)=delete
 
 ~PartBunch ()
 
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 computeSelfFields_cycl (double gamma)
 \method computeSelfFields_cycl() More...
 
void computeSelfFields_cycl (int b)
 \method computeSelfFields_cycl() More...
 
void resetInterpolationCache (bool clearCache=false)
 
void swap (unsigned int i, unsigned int j)
 
Informprint (Inform &os)
 
bool getIfBeamEmitting ()
 
int getLastEmittedEnergyBin ()
 
size_t getNumberOfEmissionSteps ()
 
int getNumberOfEnergyBins ()
 
void Rebin ()
 
void setEnergyBins (int numberOfEnergyBins)
 
bool weHaveEnergyBins ()
 
void switchToUnitlessPositions (bool use_dt_per_particle=false)
 
void switchOffUnitlessPositions (bool use_dt_per_particle=false)
 
void setDistribution (Distribution *d, std::vector< Distribution * > addedDistributions, size_t &np)
 
void setDistribution (Distribution *d, size_t numberOfParticles, double current, const Beamline &bl)
 
bool isGridFixed () const
 
bool hasBinning () const
 
void setTEmission (double t)
 
double getTEmission ()
 
bool doEmission ()
 
bool weHaveBins () const
 
void setPBins (PartBins *pbin)
 
void setPBins (PartBinsCyc *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...
 
void calcGammas_cycl ()
 
void calcDebyeLength ()
 Compute the (global) Debye length for the beam. More...
 
double getBinGamma (int bin)
 Get gamma of one bin. More...
 
virtual void setBinCharge (int bin, double q)
 Set the charge of one bin to the value of q and all other to zero. More...
 
virtual void setBinCharge (int bin)
 Set the charge of all other the ones in bin to zero. More...
 
size_t calcNumPartsOutside (Vector_t 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)
 
virtual void boundp ()
 
void boundp_destroyCycl ()
 delete particles which are too far away from the center of beam More...
 
size_t boundp_destroyT ()
 This is only temporary in order to get the collimator and pepperpot working. More...
 
size_t destroyT ()
 
virtual double getPx (int i)
 
virtual double getPy (int i)
 
virtual double getPz (int i)
 
virtual double getPx0 (int i)
 
virtual double getPy0 (int i)
 
virtual double getX (int i)
 
virtual double getY (int i)
 
virtual double getZ (int i)
 
virtual double getX0 (int i)
 
virtual double getY0 (int i)
 
virtual void setZ (int i, double zcoo)
 
void get_bounds (Vector_t &rmin, Vector_t &rmax) const
 
void getLocalBounds (Vector_t &rmin, Vector_t &rmax) const
 
std::pair< Vector_t, double > getBoundingSphere ()
 
std::pair< Vector_t, double > getLocalBoundingSphere ()
 
void push_back (OpalParticle const &p)
 
void setParticle (FVector< double, 6 > z, int ii)
 
void setParticle (OpalParticle const &p, int ii)
 
OpalParticle getParticle (int ii)
 
ConstIterator begin () const
 
ConstIterator end () const
 
void maximumAmplitudes (const FMatrix< double, 6, 6 > &D, double &axmax, double &aymax)
 Return maximum amplitudes. More...
 
void setdT (double dt)
 
double getdT () const
 
void setT (double t)
 
void incrementT ()
 
double getT () const
 
double get_sPos () const
 get the spos of the primary beam More...
 
void set_sPos (double s)
 
double get_gamma () const
 
double get_meanKineticEnergy () const
 
double get_temperature () const
 
double get_debyeLength () const
 
double get_plasmaParameter () const
 
double get_rmsDensity () const
 
Vector_t get_origin () const
 
Vector_t get_maxExtent () const
 
Vector_t get_centroid () const
 
Vector_t get_rrms () const
 
Vector_t get_rprms () const
 
Vector_t get_rmean () const
 
Vector_t get_prms () const
 
Vector_t get_pmean () const
 
Vector_t get_pmean_Distribution () const
 
Vector_t get_emit () const
 
Vector_t get_norm_emit () const
 
Vector_t get_halo () const
 
Vector_t get_68Percentile () const
 
Vector_t get_95Percentile () const
 
Vector_t get_99Percentile () const
 
Vector_t get_99_99Percentile () const
 
Vector_t get_normalizedEps_68Percentile () const
 
Vector_t get_normalizedEps_95Percentile () const
 
Vector_t get_normalizedEps_99Percentile () const
 
Vector_t get_normalizedEps_99_99Percentile () const
 
virtual Vector_t get_hr () const
 
double get_Dx () const
 
double get_Dy () const
 
double get_DDx () const
 
double get_DDy () const
 
virtual void set_meshEnlargement (double dh)
 
void gatherLoadBalanceStatistics ()
 
size_t getLoadBalance (int p) const
 
void get_PBounds (Vector_t &min, Vector_t &max) const
 
void calcBeamParameters ()
 
void calcBeamParametersInitial ()
 
double getCouplingConstant () const
 
void setCouplingConstant (double c)
 
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
 
virtual void setSolver (FieldSolver *fs)
 
bool hasFieldSolver ()
 
FieldSolverType getFieldSolverType () const
 Return the fieldsolver type if we have a fieldsolver. More...
 
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 setTotalNumPerBunch (size_t numpart, short n)
 
size_t getTotalNumPerBunch (short n) const
 
void setLocalNumPerBunch (size_t numpart, short n)
 
size_t getLocalNumPerBunch (short n) const
 
void countTotalNumPerBunch ()
 
void setGlobalMeanR (Vector_t globalMeanR)
 
Vector_t getGlobalMeanR ()
 
void setGlobalToLocalQuaternion (Quaternion_t globalToLocalQuaternion)
 
Quaternion_t getGlobalToLocalQuaternion ()
 
void setSteptoLastInj (int n)
 
int getSteptoLastInj () const
 
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. Fubiani et al. More...
 
bool resetPartBinBunch ()
 
double getdE () const
 
virtual double getGamma (int i)
 
virtual double getBeta (int i)
 
virtual void actT ()
 
const PartDatagetReference () const
 
double getEmissionDeltaT ()
 
DistributionType getDistType () const
 
double getMomentumTolerance () const
 
Quaternion_t getQKs3D ()
 
void setQKs3D (Quaternion_t q)
 
Vector_t getKs3DRefr ()
 
void setKs3DRefr (Vector_t r)
 
Vector_t getKs3DRefp ()
 
void setKs3DRefp (Vector_t p)
 
void iterateEmittedBin (int binNumber)
 
void calcEMean ()
 
virtual void runTests ()
 
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)
 
bool singleInitNode () const
 
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)
 
FMatrix< double, 2 *Dim, 2 *DimgetSigmaMatrix () const
 
double getQ () const
 Access to reference data. More...
 
double getM () const
 
double getP () const
 
double getE () const
 
ParticleOrigin getPOrigin () const
 
ParticleType getPType () const
 
double getInitialBeta () const
 
double getInitialGamma () const
 
void resetQ (double q)
 Set reference data. More...
 
void resetM (double m)
 
void setPOrigin (ParticleOrigin)
 
void setPType (const std::string &type)
 

Public Attributes

Field_t rho_m
 scalar potential More...
 
VField_t eg_m
 vector field on the grid More...
 
ParticlePos_tR
 
ParticleIndex_tID
 
ParticleAttrib< Vector_tP
 
ParticleAttrib< double > Q
 
ParticleAttrib< double > M
 
ParticleAttrib< double > Phi
 
ParticleAttrib< Vector_tEf
 
ParticleAttrib< Vector_tEftmp
 
ParticleAttrib< Vector_tBf
 
ParticleAttrib< int > Bin
 
ParticleAttrib< double > dt
 
ParticleAttrib< ParticleTypePType
 
ParticleAttrib< ParticleOriginPOrigin
 
ParticleAttrib< int > TriID
 
ParticleAttrib< short > cavityGapCrossed
 
ParticleAttrib< short > bunchNum
 
Vector_t RefPartR_m
 
Vector_t RefPartP_m
 
CoordinateSystemTrafo toLabTrafo_m
 
ParticleOrigin refPOrigin_m
 
ParticleType refPType_m
 
PartBinspbin_m
 
IpplTimings::TimerRef distrReload_m
 timer for IC, can not be in Distribution.h More...
 
IpplTimings::TimerRef distrCreate_m
 
double dtScInit_m
 
double deltaTau_m
 

Static Public Attributes

static const unsigned Dimension
 

Protected Member Functions

size_t calcMoments ()
 
void calcMomentsInitial ()
 
double calculateAngle (double x, double y)
 angle range [0~2PI) degree More...
 

Protected Attributes

IpplTimings::TimerRef boundpTimer_m
 
IpplTimings::TimerRef boundpBoundsTimer_m
 
IpplTimings::TimerRef boundpUpdateTimer_m
 
IpplTimings::TimerRef statParamTimer_m
 
IpplTimings::TimerRef histoTimer_m
 
IpplTimings::TimerRef selfFieldTimer_m
 timer for selfField calculation More...
 
const PartDatareference
 
UnitState_t unit_state_
 
UnitState_t stateOfLastBoundP_
 
double centroid_m [2 *Dim]
 holds the centroid of the beam More...
 
double dt_m
 holds the timestep in seconds More...
 
double t_m
 holds the actual time of the integration More...
 
double spos_m
 the position along design trajectory More...
 
Vector_t globalMeanR_m
 Initialize the translation vector and rotation quaternion here. More...
 
Quaternion_t globalToLocalQuaternion_m
 
Vector_t rmax_m
 maximal extend of particles More...
 
Vector_t rmin_m
 minimal extend of particles More...
 
double rmsDensity_m
 
Vector_t hr_m
 meshspacing of cartesian mesh More...
 
Vektor< int, 3 > nr_m
 meshsize of cartesian mesh More...
 
FieldSolverfs_m
 stores the used field solver More...
 
double couplingConstant_m
 
double qi_m
 
double massPerParticle_m
 
int distDump_m
 counter to store the distribution dump More...
 
double dh_m
 Mesh enlargement. More...
 
double tEmission_m
 relative enlargement of the mesh 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...
 
std::unique_ptr< size_t[]> globalPartPerNode_m
 
Distributiondist_m
 
DistributionMoments momentsComputer_m
 
bool dcBeam_m
 
double periodLength_m
 
std::shared_ptr< AbstractParticle< double, Dim > > pbase_m
 

Private Member Functions

void updateDomainLength (Vektor< int, 3 > &grid)
 
void updateFields (const Vector_t &hr, const Vector_t &origin)
 
void resizeMesh ()
 resize mesh to geometry specified More...
 
ParticleLayout< double, 3 > & getLayout ()
 
const ParticleLayout< double, 3 > & getLayout () const
 
void setup (AbstractParticle< double, Dim > *pb)
 

Private Attributes

BConds< double, 3, Mesh_t, Center_tbc_m
 for defining the boundary conditions More...
 
BConds< Vector_t, 3, Mesh_t, Center_tvbc_m
 
bool interpolationCacheSet_m
 
ParticleAttrib< CacheDataCIC< double, 3U > > interpolationCache_m
 
std::unique_ptr< Informpmsg_m
 
std::unique_ptr< std::ofstream > f_stream
 
bool fixed_grid
 if the grid does not have to adapt More...
 

Detailed Description

Definition at line 24 of file PartBunch.h.

Member Typedef Documentation

◆ ParticleIndex_t

typedef AbstractParticle<double ,Dim>::ParticleIndex_t PartBunchBase< double , Dim >::ParticleIndex_t
inherited

Definition at line 53 of file PartBunchBase.h.

◆ ParticlePos_t

typedef AbstractParticle<double ,Dim>::ParticlePos_t PartBunchBase< double , Dim >::ParticlePos_t
inherited

Definition at line 52 of file PartBunchBase.h.

◆ pbase_t

Definition at line 27 of file PartBunch.h.

◆ Position_t

typedef AbstractParticle<double ,Dim>::Position_t PartBunchBase< double , Dim >::Position_t
inherited

Definition at line 55 of file PartBunchBase.h.

◆ UpdateFlags_t

typedef AbstractParticle<double ,Dim>::UpdateFlags PartBunchBase< double , Dim >::UpdateFlags_t
inherited

Definition at line 54 of file PartBunchBase.h.

◆ VectorPair_t

typedef std::pair<Vector_t, Vector_t> PartBunchBase< double , Dim >::VectorPair_t
inherited

Definition at line 57 of file PartBunchBase.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
Dim 

Definition at line 28 of file PartBunch.h.

◆ UnitState_t

Definition at line 61 of file PartBunchBase.h.

Constructor & Destructor Documentation

◆ PartBunch() [1/3]

PartBunch::PartBunch ( const PartData ref)
explicit

Default constructor.

Definition at line 40 of file PartBunch.cpp.

◆ PartBunch() [2/3]

PartBunch::PartBunch ( )
delete

◆ PartBunch() [3/3]

PartBunch::PartBunch ( const PartBunch )
delete

◆ ~PartBunch()

PartBunch::~PartBunch ( )

Definition at line 48 of file PartBunch.cpp.

Member Function Documentation

◆ actT()

void PartBunchBase< double , Dim >::actT
virtualinherited

Definition at line 442 of file PartBunchBase.hpp.

◆ begin()

ConstIterator PartBunchBase< double , Dim >::begin ( ) const
inlineinherited

Definition at line 279 of file PartBunchBase.h.

◆ boundp()

void PartBunchBase< double , Dim >::boundp
virtualinherited

In case of dcBeam_m && hr_m < 0 this is the first call to boundp and we have to set hr completely i.e. x,y and z.

Reimplemented in AmrPartBunch.

Definition at line 168 of file PartBunchBase.hpp.

◆ boundp_destroyCycl()

void PartBunchBase< double , Dim >::boundp_destroyCycl
inherited

delete particles which are too far away from the center of beam

Definition at line 171 of file PartBunchBase.hpp.

◆ boundp_destroyT()

size_t PartBunchBase< double , Dim >::boundp_destroyT
inherited

This is only temporary in order to get the collimator and pepperpot working.

Definition at line 174 of file PartBunchBase.hpp.

◆ calcBeamParameters()

void PartBunchBase< double , Dim >::calcBeamParameters
inherited

Definition at line 351 of file PartBunchBase.hpp.

◆ calcBeamParametersInitial()

void PartBunchBase< double , Dim >::calcBeamParametersInitial ( )
inherited

◆ calcDebyeLength()

void PartBunchBase< double , Dim >::calcDebyeLength
inherited

Compute the (global) Debye length for the beam.

Definition at line 145 of file PartBunchBase.hpp.

◆ calcEMean()

void PartBunchBase< double , Dim >::calcEMean
inherited

Definition at line 461 of file PartBunchBase.hpp.

◆ calcGammas()

void PartBunchBase< double , Dim >::calcGammas
inherited

Compute the gammas of all bins.

Definition at line 140 of file PartBunchBase.hpp.

◆ calcGammas_cycl()

void PartBunchBase< double , Dim >::calcGammas_cycl
inherited

Definition at line 142 of file PartBunchBase.hpp.

◆ calcLineDensity()

void PartBunchBase< double , Dim >::calcLineDensity ( unsigned int  nBins,
std::vector< double > &  lineDensity,
std::pair< double, double > &  meshInfo 
)
inherited

\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 159 of file PartBunchBase.hpp.

◆ calcMeanPhi()

double PartBunchBase< double , Dim >::calcMeanPhi
inherited

calculate average angle of longitudinal direction of bins

Definition at line 416 of file PartBunchBase.hpp.

◆ calcMoments()

size_t PartBunchBase< double , Dim >::calcMoments ( )
protectedinherited

◆ calcMomentsInitial()

void PartBunchBase< double , Dim >::calcMomentsInitial ( )
protectedinherited

◆ calcNumPartsOutside()

size_t PartBunchBase< double , Dim >::calcNumPartsOutside ( Vector_t  x)
inherited

returns the number of particles outside of a box defined by x

Definition at line 157 of file PartBunchBase.hpp.

◆ calculateAngle()

double PartBunchBase< double , Dim >::calculateAngle ( double  x,
double  y 
)
protectedinherited

angle range [0~2PI) degree

Definition at line 558 of file PartBunchBase.hpp.

◆ computeSelfFields() [1/2]

◆ computeSelfFields() [2/2]

void PartBunch::computeSelfFields ( int  b)
virtual

/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 \]

Implements PartBunchBase< double, 3 >.

Definition at line 76 of file PartBunch.cpp.

References PartBunchBase< double, 3 >::Bf, Physics::c, PoissonSolver::computePotential(), ParticleAttrib< T >::create(), ParticleAttrib< T >::destroy(), PartBunchBase< double, 3 >::dt, FieldWriter::dumpField(), PartBunchBase< double, 3 >::Ef, PartBunchBase< double, 3 >::Eftmp, eg_m, endl(), PartBunchBase< double, 3 >::fs_m, Field< T, Dim, M, C >::get_mesh(), PartBunchBase< double, 3 >::getBinGamma(), PartBunchBase< double, 3 >::getCouplingConstant(), FieldLayout< Dim >::getDomain(), PartBunchBase< double, 3 >::getdT(), getFieldLayout(), FieldSolver::getFieldSolverType(), PartBunchBase< double, 3 >::getLocalNum(), gmsg, Grad(), FieldSolver::hasValidSolver(), PartBunchBase< double, 3 >::hr_m, interpolationCache_m, interpolationCacheSet_m, PartBunchBase< double, 3 >::localTrackStep_m, PartBunchBase< double, 3 >::nr_m, P3M, PartBunchBase< double, 3 >::Q, PartBunchBase< double, 3 >::R, resizeMesh(), rho_m, ParticleAttrib< T >::scatter(), PartBunchBase< double, 3 >::selfFieldTimer_m, ParticleAttrib< T >::size(), FieldSolver::solver_m, sqrt(), IpplTimings::startTimer(), and IpplTimings::stopTimer().

Here is the call graph for this function:

◆ computeSelfFields_cycl() [1/2]

void PartBunch::computeSelfFields_cycl ( double  gamma)
virtual

\method computeSelfFields_cycl()

Calculates the self electric field from the charge density distribution for use in cyclotrons

See also
ParallelCyclotronTracker
Warning
none yet

Comments -DW: I have made some changes in here: -) Some refacturing to make more similar to computeSelfFields() -) Added meanR and quaternion to be handed to the function so that SAAMG solver knows how to rotate the boundary geometry correctly. -) Fixed an error where gamma was not taken into account correctly in direction of movement (y in cyclotron) -) Comment: There is no account for image charges in the cyclotron tracker (yet?)!

set initial charge density to zero.

set initial E field to zero

mesh the whole domain

scatter particles charge onto grid.

Lorentz transformation In particle rest frame, the longitudinal length (y for cyclotron) enlarged

from charge (C) to charge density (C/m^3).

now charge density is in rho_m calculate Possion equation (without coefficient: -1/(eps))

retrive coefficient: -1/(eps)

calculate electric field vectors from field potential

Back Lorentz transformation CAVE: y coordinate needs 1/gamma factor because IPPL function Grad() divides by hr_m which is not scaled appropriately with Lorentz contraction in y direction only hr_scaled is! -DW

interpolate electric field at particle positions.

calculate coefficient

calculate B field from E field

Implements PartBunchBase< double, 3 >.

Definition at line 481 of file PartBunch.cpp.

References PartBunchBase< double, 3 >::Bf, Physics::c, PartBunchBase< double, 3 >::calcDebyeLength(), PoissonSolver::computePotential(), FieldWriter::dumpField(), PartBunchBase< double, 3 >::Ef, eg_m, endl(), FFT, FFTBOX, PartBunchBase< double, 3 >::fs_m, PartBunchBase< double, 3 >::getCouplingConstant(), FieldSolver::getFieldSolverType(), gmsg, Grad(), FieldSolver::hasValidSolver(), PartBunchBase< double, 3 >::hr_m, PartBunchBase< double, 3 >::localTrackStep_m, PartBunchBase< double, 3 >::nr_m, P3M, PartBunchBase< double, 3 >::Q, Physics::q_e, PartBunchBase< double, 3 >::R, resizeMesh(), rho_m, PartBunchBase< double, 3 >::rmsDensity_m, ParticleAttrib< T >::scatter(), PartBunchBase< double, 3 >::selfFieldTimer_m, FieldSolver::solver_m, sqrt(), IpplTimings::startTimer(), IpplTimings::stopTimer(), and sum().

Here is the call graph for this function:

◆ computeSelfFields_cycl() [2/2]

void PartBunch::computeSelfFields_cycl ( int  bin)
virtual

\method computeSelfFields_cycl()

Calculates the self electric field from the charge density distribution for use in cyclotrons

See also
ParallelCyclotronTracker
Warning
none yet

Overloaded version for having multiple bins with separate gamma for each bin. This is necessary For multi-bunch mode.

Comments -DW: I have made some changes in here: -) Some refacturing to make more similar to computeSelfFields() -) Added meanR and quaternion to be handed to the function (TODO: fall back to meanR = 0 and unit quaternion if not specified) so that SAAMG solver knows how to rotate the boundary geometry correctly. -) Fixed an error where gamma was not taken into account correctly in direction of movement (y in cyclotron) -) Comment: There is no account for image charges in the cyclotron tracker (yet?)!

set initial charge dentsity to zero.

set initial E field to zero

get gamma of this bin

mesh the whole domain

scatter particles charge onto grid.

Lorentz transformation In particle rest frame, the longitudinal length (y for cyclotron) enlarged

from charge (C) to charge density (C/m^3).

now charge density is in rho_m calculate Possion equation (without coefficient: -1/(eps))

retrive coefficient: -1/(eps)

calculate electric field vectors from field potential

Back Lorentz transformation CAVE: y coordinate needs 1/gamma factor because IPPL function Grad() divides by hr_m which is not scaled appropriately with Lorentz contraction in y direction only hr_scaled is! -DW

Interpolate electric field at particle positions.

Calculate coefficient

Calculate B_bin field from E_bin field accumulate B and E field

Implements PartBunchBase< double, 3 >.

Definition at line 621 of file PartBunch.cpp.

References PartBunchBase< double, 3 >::Bf, Physics::c, PoissonSolver::computePotential(), FieldWriter::dumpField(), PartBunchBase< double, 3 >::Ef, PartBunchBase< double, 3 >::Eftmp, eg_m, endl(), FFT, FFTBOX, PartBunchBase< double, 3 >::fs_m, PartBunchBase< double, 3 >::getBinGamma(), PartBunchBase< double, 3 >::getCouplingConstant(), FieldSolver::getFieldSolverType(), gmsg, Grad(), FieldSolver::hasValidSolver(), PartBunchBase< double, 3 >::hr_m, PartBunchBase< double, 3 >::localTrackStep_m, PartBunchBase< double, 3 >::nr_m, P3M, PartBunchBase< double, 3 >::Q, PartBunchBase< double, 3 >::R, resizeMesh(), rho_m, ParticleAttrib< T >::scatter(), PartBunchBase< double, 3 >::selfFieldTimer_m, FieldSolver::solver_m, sqrt(), IpplTimings::startTimer(), and IpplTimings::stopTimer().

Here is the call graph for this function:

◆ countTotalNumPerBunch()

void PartBunchBase< double , Dim >::countTotalNumPerBunch
inherited

Definition at line 405 of file PartBunchBase.hpp.

◆ create()

void PartBunchBase< double , Dim >::create ( size_t  M)
inherited

Definition at line 543 of file PartBunchBase.hpp.

◆ createWithID()

void PartBunchBase< double , Dim >::createWithID ( unsigned  id)
inherited

Definition at line 542 of file PartBunchBase.hpp.

◆ destroy()

void PartBunchBase< double , Dim >::destroy ( size_t  M,
size_t  I,
bool  doNow = false 
)
inherited

Definition at line 546 of file PartBunchBase.hpp.

◆ destroyT()

size_t PartBunchBase< double , Dim >::destroyT
inherited

Definition at line 176 of file PartBunchBase.hpp.

◆ do_binaryRepart()

◆ doEmission()

bool PartBunchBase< double , Dim >::doEmission
inherited

Definition at line 117 of file PartBunchBase.hpp.

◆ emitParticles()

size_t PartBunchBase< double , Dim >::emitParticles ( double  eZ)
inherited

Emit particles in the given bin i.e.

copy the particles from the bin structure into the particle container

Definition at line 129 of file PartBunchBase.hpp.

◆ end()

ConstIterator PartBunchBase< double , Dim >::end ( ) const
inlineinherited

Definition at line 283 of file PartBunchBase.h.

◆ gatherLoadBalanceStatistics()

void PartBunchBase< double , Dim >::gatherLoadBalanceStatistics
inherited

Definition at line 346 of file PartBunchBase.hpp.

◆ get_68Percentile()

Vector_t PartBunchBase< double , Dim >::get_68Percentile
inherited

Definition at line 329 of file PartBunchBase.hpp.

◆ get_95Percentile()

Vector_t PartBunchBase< double , Dim >::get_95Percentile
inherited

Definition at line 330 of file PartBunchBase.hpp.

◆ get_99_99Percentile()

Vector_t PartBunchBase< double , Dim >::get_99_99Percentile
inherited

Definition at line 332 of file PartBunchBase.hpp.

◆ get_99Percentile()

Vector_t PartBunchBase< double , Dim >::get_99Percentile
inherited

Definition at line 331 of file PartBunchBase.hpp.

◆ get_bounds()

void PartBunchBase< double , Dim >::get_bounds ( Vector_t rmin,
Vector_t rmax 
) const
inherited

Definition at line 197 of file PartBunchBase.hpp.

◆ get_centroid()

Vector_t PartBunchBase< double , Dim >::get_centroid
inherited

Definition at line 319 of file PartBunchBase.hpp.

◆ get_DDx()

double PartBunchBase< double , Dim >::get_DDx
inherited

Definition at line 341 of file PartBunchBase.hpp.

◆ get_DDy()

double PartBunchBase< double , Dim >::get_DDy
inherited

Definition at line 342 of file PartBunchBase.hpp.

◆ get_debyeLength()

double PartBunchBase< double , Dim >::get_debyeLength
inherited

Definition at line 314 of file PartBunchBase.hpp.

◆ get_Dx()

double PartBunchBase< double , Dim >::get_Dx
inherited

Definition at line 339 of file PartBunchBase.hpp.

◆ get_Dy()

double PartBunchBase< double , Dim >::get_Dy
inherited

Definition at line 340 of file PartBunchBase.hpp.

◆ get_emit()

Vector_t PartBunchBase< double , Dim >::get_emit
inherited

Definition at line 326 of file PartBunchBase.hpp.

◆ get_gamma()

double PartBunchBase< double , Dim >::get_gamma
inherited

Definition at line 311 of file PartBunchBase.hpp.

◆ get_halo()

Vector_t PartBunchBase< double , Dim >::get_halo
inherited

Definition at line 328 of file PartBunchBase.hpp.

◆ get_hr()

Vector_t PartBunchBase< double , Dim >::get_hr
virtualinherited

Reimplemented in AmrPartBunch.

Definition at line 337 of file PartBunchBase.hpp.

◆ get_maxExtent()

Vector_t PartBunchBase< double , Dim >::get_maxExtent
inherited

Definition at line 318 of file PartBunchBase.hpp.

◆ get_meanKineticEnergy()

double PartBunchBase< double , Dim >::get_meanKineticEnergy
inherited

Definition at line 312 of file PartBunchBase.hpp.

◆ get_norm_emit()

Vector_t PartBunchBase< double , Dim >::get_norm_emit
inherited

Definition at line 327 of file PartBunchBase.hpp.

◆ get_normalizedEps_68Percentile()

Vector_t PartBunchBase< double , Dim >::get_normalizedEps_68Percentile
inherited

Definition at line 333 of file PartBunchBase.hpp.

◆ get_normalizedEps_95Percentile()

Vector_t PartBunchBase< double , Dim >::get_normalizedEps_95Percentile
inherited

Definition at line 334 of file PartBunchBase.hpp.

◆ get_normalizedEps_99_99Percentile()

Vector_t PartBunchBase< double , Dim >::get_normalizedEps_99_99Percentile
inherited

Definition at line 336 of file PartBunchBase.hpp.

◆ get_normalizedEps_99Percentile()

Vector_t PartBunchBase< double , Dim >::get_normalizedEps_99Percentile
inherited

Definition at line 335 of file PartBunchBase.hpp.

◆ get_origin()

Vector_t PartBunchBase< double , Dim >::get_origin
inherited

Definition at line 317 of file PartBunchBase.hpp.

◆ get_PBounds()

void PartBunchBase< double , Dim >::get_PBounds ( Vector_t min,
Vector_t max 
) const
inherited

Definition at line 349 of file PartBunchBase.hpp.

◆ get_plasmaParameter()

double PartBunchBase< double , Dim >::get_plasmaParameter
inherited

Definition at line 315 of file PartBunchBase.hpp.

◆ get_pmean()

Vector_t PartBunchBase< double , Dim >::get_pmean
inherited

Definition at line 324 of file PartBunchBase.hpp.

◆ get_pmean_Distribution()

Vector_t PartBunchBase< double , Dim >::get_pmean_Distribution
inherited

Definition at line 325 of file PartBunchBase.hpp.

◆ get_prms()

Vector_t PartBunchBase< double , Dim >::get_prms
inherited

Definition at line 323 of file PartBunchBase.hpp.

◆ get_rmean()

Vector_t PartBunchBase< double , Dim >::get_rmean
inherited

Definition at line 322 of file PartBunchBase.hpp.

◆ get_rmsDensity()

double PartBunchBase< double , Dim >::get_rmsDensity
inherited

Definition at line 316 of file PartBunchBase.hpp.

◆ get_rprms()

Vector_t PartBunchBase< double , Dim >::get_rprms
inherited

Definition at line 321 of file PartBunchBase.hpp.

◆ get_rrms()

Vector_t PartBunchBase< double , Dim >::get_rrms
inherited

Definition at line 320 of file PartBunchBase.hpp.

◆ get_sPos()

double PartBunchBase< double , Dim >::get_sPos
inherited

get the spos of the primary beam

Parameters
none

Definition at line 307 of file PartBunchBase.hpp.

◆ get_temperature()

double PartBunchBase< double , Dim >::get_temperature
inherited

Definition at line 313 of file PartBunchBase.hpp.

◆ getBConds()

ParticleBConds< Position_t, Dimension > & PartBunchBase< double , Dim >::getBConds ( )
inlineinherited

Definition at line 527 of file PartBunchBase.h.

◆ getBeta()

double PartBunchBase< double , Dim >::getBeta ( int  i)
virtualinherited

Definition at line 441 of file PartBunchBase.hpp.

◆ getBinGamma()

double PartBunchBase< double , Dim >::getBinGamma ( int  bin)
inherited

Get gamma of one bin.

Definition at line 148 of file PartBunchBase.hpp.

◆ getBoundingSphere()

std::pair< Vector_t, double > PartBunchBase< double , Dim >::getBoundingSphere
inherited

Definition at line 201 of file PartBunchBase.hpp.

◆ getCharge()

double PartBunchBase< double , Dim >::getCharge
inherited

get the total charge per simulation particle

Definition at line 367 of file PartBunchBase.hpp.

◆ getChargePerParticle()

double PartBunchBase< double , Dim >::getChargePerParticle
inherited

get the macro particle charge

Definition at line 370 of file PartBunchBase.hpp.

◆ getCouplingConstant()

double PartBunchBase< double , Dim >::getCouplingConstant
inherited

Definition at line 354 of file PartBunchBase.hpp.

◆ getdE()

double PartBunchBase< double , Dim >::getdE
inherited

Definition at line 439 of file PartBunchBase.hpp.

◆ getDestroyNum()

size_t PartBunchBase< double , Dim >::getDestroyNum
inherited

Definition at line 517 of file PartBunchBase.hpp.

◆ getDistType()

DistributionType PartBunchBase< double , Dim >::getDistType
inherited

Definition at line 448 of file PartBunchBase.hpp.

◆ getdT()

double PartBunchBase< double , Dim >::getdT
inherited

Definition at line 295 of file PartBunchBase.hpp.

◆ getE()

double PartBunchBase< double , Dim >::getE
inherited

Definition at line 427 of file PartBunchBase.hpp.

◆ getEExtrema()

PartBunch::VectorPair_t PartBunch::getEExtrema ( )
inlinevirtual

Implements PartBunchBase< double, 3 >.

Definition at line 838 of file PartBunch.cpp.

References eg_m, max(), and min().

Here is the call graph for this function:

◆ getEmissionDeltaT()

double PartBunchBase< double , Dim >::getEmissionDeltaT
inherited

Definition at line 446 of file PartBunchBase.hpp.

◆ getFieldLayout()

FieldLayout_t & PartBunch::getFieldLayout ( )
virtual

Implements PartBunchBase< double, 3 >.

Definition at line 760 of file PartBunch.cpp.

References ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getLayout(), and getLayout().

Referenced by computeSelfFields(), resizeMesh(), updateDomainLength(), and updateFields().

Here is the call graph for this function:

◆ getFieldSolverType()

FieldSolverType PartBunchBase< double , Dim >::getFieldSolverType
inherited

Return the fieldsolver type if we have a fieldsolver.

Definition at line 378 of file PartBunchBase.hpp.

◆ getGamma()

double PartBunchBase< double , Dim >::getGamma ( int  i)
virtualinherited

Definition at line 440 of file PartBunchBase.hpp.

◆ getGhostNum()

size_t PartBunchBase< double , Dim >::getGhostNum
inherited

Definition at line 518 of file PartBunchBase.hpp.

◆ getGlobalMeanR()

Vector_t PartBunchBase< double , Dim >::getGlobalMeanR
inherited

Definition at line 408 of file PartBunchBase.hpp.

◆ getGlobalToLocalQuaternion()

Quaternion_t PartBunchBase< double , Dim >::getGlobalToLocalQuaternion
inherited

Definition at line 410 of file PartBunchBase.hpp.

◆ getGlobalTrackStep()

long long PartBunchBase< double , Dim >::getGlobalTrackStep
inherited

Definition at line 385 of file PartBunchBase.hpp.

◆ getIfBeamEmitting()

bool PartBunchBase< double , Dim >::getIfBeamEmitting
inherited

Definition at line 77 of file PartBunchBase.hpp.

◆ getInitialBeta()

double PartBunchBase< double , Dim >::getInitialBeta
inherited

Definition at line 430 of file PartBunchBase.hpp.

◆ getInitialGamma()

double PartBunchBase< double , Dim >::getInitialGamma
inherited

Definition at line 431 of file PartBunchBase.hpp.

◆ getKs3DRefp()

Vector_t PartBunchBase< double , Dim >::getKs3DRefp ( )
inherited

◆ getKs3DRefr()

Vector_t PartBunchBase< double , Dim >::getKs3DRefr ( )
inherited

◆ getLastemittedBin()

int PartBunchBase< double , Dim >::getLastemittedBin
inherited

Definition at line 135 of file PartBunchBase.hpp.

◆ getLastEmittedEnergyBin()

int PartBunchBase< double , Dim >::getLastEmittedEnergyBin
inherited

Definition at line 79 of file PartBunchBase.hpp.

◆ getLayout() [1/2]

ParticleLayout< double, 3 > & PartBunch::getLayout ( )
inlineprivate

Definition at line 120 of file PartBunch.h.

References PartBunchBase< double, 3 >::pbase_m.

Referenced by getFieldLayout(), getMesh(), and initialize().

◆ getLayout() [2/2]

const ParticleLayout< double, 3 > & PartBunch::getLayout ( ) const
inlineprivate

Definition at line 125 of file PartBunch.h.

References PartBunchBase< double, 3 >::pbase_m.

◆ getLoadBalance()

size_t PartBunchBase< double , Dim >::getLoadBalance ( int  p) const
inherited

Definition at line 347 of file PartBunchBase.hpp.

◆ getLocalBoundingSphere()

std::pair< Vector_t, double > PartBunchBase< double , Dim >::getLocalBoundingSphere
inherited

Definition at line 203 of file PartBunchBase.hpp.

◆ getLocalBounds()

void PartBunchBase< double , Dim >::getLocalBounds ( Vector_t rmin,
Vector_t rmax 
) const
inherited

Definition at line 199 of file PartBunchBase.hpp.

◆ getLocalNum()

size_t PartBunchBase< double , Dim >::getLocalNum
inherited

Definition at line 515 of file PartBunchBase.hpp.

◆ getLocalNumPerBunch()

size_t PartBunchBase< double , Dim >::getLocalNumPerBunch ( short  n) const
inherited

Definition at line 400 of file PartBunchBase.hpp.

◆ getLocalTrackStep()

long long PartBunchBase< double , Dim >::getLocalTrackStep
inherited

Definition at line 390 of file PartBunchBase.hpp.

◆ getM()

double PartBunchBase< double , Dim >::getM
inherited

Definition at line 425 of file PartBunchBase.hpp.

◆ getMassPerParticle()

double PartBunchBase< double , Dim >::getMassPerParticle
inherited

Definition at line 372 of file PartBunchBase.hpp.

◆ getMesh() [1/2]

Mesh_t & PartBunch::getMesh ( )
inline

Definition at line 144 of file PartBunch.h.

References ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getLayout(), and getLayout().

Here is the call graph for this function:

◆ getMesh() [2/2]

const Mesh_t & PartBunch::getMesh ( ) const
inline

Definition at line 138 of file PartBunch.h.

References ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getLayout(), and getLayout().

Referenced by resizeMesh(), and updateFields().

Here is the call graph for this function:

◆ getMomentumTolerance()

double PartBunchBase< double , Dim >::getMomentumTolerance
inherited

Definition at line 450 of file PartBunchBase.hpp.

◆ getNumberOfEmissionSteps()

size_t PartBunchBase< double , Dim >::getNumberOfEmissionSteps
inherited

Definition at line 81 of file PartBunchBase.hpp.

◆ getNumberOfEnergyBins()

int PartBunchBase< double , Dim >::getNumberOfEnergyBins
inherited

Definition at line 83 of file PartBunchBase.hpp.

◆ getNumBunch()

short PartBunchBase< double , Dim >::getNumBunch
inherited

Definition at line 393 of file PartBunchBase.hpp.

◆ getP()

double PartBunchBase< double , Dim >::getP
inherited

Definition at line 426 of file PartBunchBase.hpp.

◆ getParticle()

OpalParticle PartBunchBase< double , Dim >::getParticle ( int  ii)
inherited

Definition at line 215 of file PartBunchBase.hpp.

◆ getPOrigin()

ParticleOrigin PartBunchBase< double , Dim >::getPOrigin
inherited

Definition at line 428 of file PartBunchBase.hpp.

◆ getPType()

ParticleType PartBunchBase< double , Dim >::getPType
inherited

Definition at line 429 of file PartBunchBase.hpp.

◆ getPx()

double PartBunchBase< double , Dim >::getPx ( int  i)
virtualinherited

Definition at line 181 of file PartBunchBase.hpp.

◆ getPx0()

double PartBunchBase< double , Dim >::getPx0 ( int  i)
virtualinherited

Definition at line 185 of file PartBunchBase.hpp.

◆ getPy()

double PartBunchBase< double , Dim >::getPy ( int  i)
virtualinherited

Definition at line 182 of file PartBunchBase.hpp.

◆ getPy0()

double PartBunchBase< double , Dim >::getPy0 ( int  i)
virtualinherited

Definition at line 186 of file PartBunchBase.hpp.

◆ getPz()

double PartBunchBase< double , Dim >::getPz ( int  i)
virtualinherited

Definition at line 183 of file PartBunchBase.hpp.

◆ getQ()

double PartBunchBase< double , Dim >::getQ
inherited

Access to reference data.

Definition at line 424 of file PartBunchBase.hpp.

◆ getQKs3D()

Quaternion_t PartBunchBase< double , Dim >::getQKs3D ( )
inherited

◆ getReference()

const PartData * PartBunchBase< double , Dim >::getReference
inherited

Definition at line 444 of file PartBunchBase.hpp.

◆ getRho()

double PartBunch::getRho ( int  x,
int  y,
int  z 
)
inlinevirtual

Implements PartBunchBase< double, 3 >.

Definition at line 133 of file PartBunch.h.

References rho_m.

◆ getSigmaMatrix()

FMatrix< double, 2 *Dim, 2 *Dim > PartBunchBase< double , Dim >::getSigmaMatrix
inherited

Definition at line 611 of file PartBunchBase.hpp.

◆ getStepsPerTurn()

int PartBunchBase< double , Dim >::getStepsPerTurn
inherited

Definition at line 381 of file PartBunchBase.hpp.

◆ getSteptoLastInj()

int PartBunchBase< double , Dim >::getSteptoLastInj
inherited

Definition at line 413 of file PartBunchBase.hpp.

◆ getT()

double PartBunchBase< double , Dim >::getT
inherited

Definition at line 299 of file PartBunchBase.hpp.

◆ getTEmission()

double PartBunchBase< double , Dim >::getTEmission
inherited

Definition at line 115 of file PartBunchBase.hpp.

◆ getTotalNum()

size_t PartBunchBase< double , Dim >::getTotalNum
inherited

Definition at line 512 of file PartBunchBase.hpp.

◆ getTotalNumPerBunch()

size_t PartBunchBase< double , Dim >::getTotalNumPerBunch ( short  n) const
inherited

Definition at line 397 of file PartBunchBase.hpp.

◆ getUpdateFlag()

bool PartBunchBase< double , Dim >::getUpdateFlag ( UpdateFlags_t  f) const
inherited

Definition at line 523 of file PartBunchBase.hpp.

◆ getX()

double PartBunchBase< double , Dim >::getX ( int  i)
virtualinherited

Definition at line 188 of file PartBunchBase.hpp.

◆ getX0()

double PartBunchBase< double , Dim >::getX0 ( int  i)
virtualinherited

Definition at line 192 of file PartBunchBase.hpp.

◆ getY()

double PartBunchBase< double , Dim >::getY ( int  i)
virtualinherited

Definition at line 189 of file PartBunchBase.hpp.

◆ getY0()

double PartBunchBase< double , Dim >::getY0 ( int  i)
virtualinherited

Definition at line 193 of file PartBunchBase.hpp.

◆ getZ()

double PartBunchBase< double , Dim >::getZ ( int  i)
virtualinherited

Definition at line 190 of file PartBunchBase.hpp.

◆ ghostDestroy()

void PartBunchBase< double , Dim >::ghostDestroy ( size_t  M,
size_t  I 
)
inherited

Definition at line 548 of file PartBunchBase.hpp.

◆ globalCreate()

void PartBunchBase< double , Dim >::globalCreate ( size_t  np)
inherited

Definition at line 544 of file PartBunchBase.hpp.

◆ hasBinning()

bool PartBunchBase< double , Dim >::hasBinning
inherited

Definition at line 106 of file PartBunchBase.hpp.

◆ hasFieldSolver()

bool PartBunchBase< double , Dim >::hasFieldSolver
inherited

Definition at line 376 of file PartBunchBase.hpp.

◆ incrementT()

void PartBunchBase< double , Dim >::incrementT
inherited

Definition at line 298 of file PartBunchBase.hpp.

◆ incTrackSteps()

void PartBunchBase< double , Dim >::incTrackSteps
inherited

Definition at line 389 of file PartBunchBase.hpp.

◆ initialize()

void PartBunch::initialize ( FieldLayout_t fLayout)
virtual

Implements PartBunchBase< double, 3 >.

Definition at line 57 of file PartBunch.cpp.

References ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getLayout(), and getLayout().

Here is the call graph for this function:

◆ isGridFixed()

bool PartBunchBase< double , Dim >::isGridFixed
inherited

Definition at line 104 of file PartBunchBase.hpp.

◆ iterateEmittedBin()

void PartBunchBase< double , Dim >::iterateEmittedBin ( int  binNumber)
inherited

Definition at line 459 of file PartBunchBase.hpp.

◆ maximumAmplitudes()

void PartBunchBase< double , Dim >::maximumAmplitudes ( const FMatrix< double, 6, 6 > &  D,
double &  axmax,
double &  aymax 
)
inherited

Return maximum amplitudes.

Definition at line 291 of file PartBunchBase.hpp.

◆ operator=()

PartBunch & PartBunch::operator= ( const PartBunch )
delete

◆ performDestroy()

void PartBunchBase< double , Dim >::performDestroy ( bool  updateLocalNum = false)
inherited

Definition at line 547 of file PartBunchBase.hpp.

◆ print()

Inform & PartBunch::print ( Inform os)

Definition at line 865 of file PartBunch.cpp.

References PartBunchBase< T, Dim >::print().

Referenced by operator<<().

Here is the call graph for this function:

◆ push_back()

void PartBunchBase< double , Dim >::push_back ( OpalParticle const &  p)
inherited

Definition at line 209 of file PartBunchBase.hpp.

◆ Rebin()

void PartBunchBase< double , Dim >::Rebin
inherited

Definition at line 85 of file PartBunchBase.hpp.

◆ rebin()

void PartBunchBase< double , Dim >::rebin
inherited

Definition at line 133 of file PartBunchBase.hpp.

◆ resetID()

void PartBunchBase< double , Dim >::resetID ( void  )
inherited

Definition at line 537 of file PartBunchBase.hpp.

◆ resetInterpolationCache()

void PartBunch::resetInterpolationCache ( bool  clearCache = false)
inlinevirtual

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 848 of file PartBunch.cpp.

References ParticleAttrib< T >::destroy(), interpolationCache_m, interpolationCacheSet_m, and ParticleAttrib< T >::size().

Here is the call graph for this function:

◆ resetM()

void PartBunchBase< double , Dim >::resetM ( double  m)
inherited

Definition at line 435 of file PartBunchBase.hpp.

◆ resetPartBinBunch()

bool PartBunchBase< double , Dim >::resetPartBinBunch
inherited

Definition at line 421 of file PartBunchBase.hpp.

◆ resetPartBinID2()

bool PartBunchBase< double , Dim >::resetPartBinID2 ( const double  eta)
inherited

reset Bin[] for each particle according to the method given in paper PAST-AB(064402) by G. Fubiani et al.

Definition at line 419 of file PartBunchBase.hpp.

◆ resetQ()

void PartBunchBase< double , Dim >::resetQ ( double  q)
inherited

Set reference data.

Definition at line 434 of file PartBunchBase.hpp.

◆ resizeMesh()

◆ runTests()

void PartBunchBase< double , Dim >::runTests
virtualinherited

Definition at line 469 of file PartBunchBase.hpp.

◆ set_meshEnlargement()

void PartBunchBase< double , Dim >::set_meshEnlargement ( double  dh)
virtualinherited

Reimplemented in AmrPartBunch.

Definition at line 344 of file PartBunchBase.hpp.

◆ set_sPos()

void PartBunchBase< double , Dim >::set_sPos ( double  s)
inherited

Definition at line 309 of file PartBunchBase.hpp.

◆ setBCAllOpen()

void PartBunch::setBCAllOpen ( )
virtual

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 784 of file PartBunch.cpp.

References bc_m, PartBunchBase< double, 3 >::dcBeam_m, endl(), PartBunchBase< double, 3 >::getBConds(), INFOMSG, level3(), ParticleNoBCond(), and vbc_m.

Here is the call graph for this function:

◆ setBCAllPeriodic()

void PartBunch::setBCAllPeriodic ( )
virtual

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 765 of file PartBunch.cpp.

References bc_m, PartBunchBase< double, 3 >::dcBeam_m, endl(), PartBunchBase< double, 3 >::getBConds(), IpplInfo::getNodes(), INFOMSG, level3(), ParticlePeriodicBCond(), and vbc_m.

Here is the call graph for this function:

◆ setBCForDCBeam()

void PartBunch::setBCForDCBeam ( )
virtual

◆ setBConds()

void PartBunchBase< double , Dim >::setBConds ( const ParticleBConds< Position_t, Dimension > &  bc)
inlineinherited

Definition at line 531 of file PartBunchBase.h.

◆ setBeamFrequency()

void PartBunchBase< double , Dim >::setBeamFrequency ( double  v)
inherited

Definition at line 162 of file PartBunchBase.hpp.

◆ setBinCharge() [1/2]

void PartBunchBase< double , Dim >::setBinCharge ( int  bin)
virtualinherited

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

Reimplemented in AmrPartBunch.

Definition at line 154 of file PartBunchBase.hpp.

◆ setBinCharge() [2/2]

void PartBunchBase< double , Dim >::setBinCharge ( int  bin,
double  q 
)
virtualinherited

Set the charge of one bin to the value of q and all other to zero.

Reimplemented in AmrPartBunch.

Definition at line 151 of file PartBunchBase.hpp.

◆ setCharge()

void PartBunchBase< double , Dim >::setCharge ( double  q)
inherited

Definition at line 358 of file PartBunchBase.hpp.

◆ setChargeZeroPart()

void PartBunchBase< double , Dim >::setChargeZeroPart ( double  q)
inherited

Definition at line 360 of file PartBunchBase.hpp.

◆ setCouplingConstant()

void PartBunchBase< double , Dim >::setCouplingConstant ( double  c)
inherited

Definition at line 355 of file PartBunchBase.hpp.

◆ setDistribution() [1/2]

void PartBunchBase< double , Dim >::setDistribution ( Distribution d,
size_t  numberOfParticles,
double  current,
const Beamline bl 
)
inherited

Definition at line 100 of file PartBunchBase.hpp.

◆ setDistribution() [2/2]

void PartBunchBase< double , Dim >::setDistribution ( Distribution d,
std::vector< Distribution * >  addedDistributions,
size_t &  np 
)
inherited

Definition at line 97 of file PartBunchBase.hpp.

◆ setdT()

void PartBunchBase< double , Dim >::setdT ( double  dt)
inherited

Definition at line 294 of file PartBunchBase.hpp.

◆ setEnergyBins()

void PartBunchBase< double , Dim >::setEnergyBins ( int  numberOfEnergyBins)
inherited

Definition at line 87 of file PartBunchBase.hpp.

◆ setGlobalMeanR()

void PartBunchBase< double , Dim >::setGlobalMeanR ( Vector_t  globalMeanR)
inherited

Definition at line 407 of file PartBunchBase.hpp.

◆ setGlobalToLocalQuaternion()

void PartBunchBase< double , Dim >::setGlobalToLocalQuaternion ( Quaternion_t  globalToLocalQuaternion)
inherited

Definition at line 409 of file PartBunchBase.hpp.

◆ setGlobalTrackStep()

void PartBunchBase< double , Dim >::setGlobalTrackStep ( long long  n)
inherited

step in multiple TRACK commands

Definition at line 384 of file PartBunchBase.hpp.

◆ setKs3DRefp()

void PartBunchBase< double , Dim >::setKs3DRefp ( Vector_t  p)
inherited

◆ setKs3DRefr()

void PartBunchBase< double , Dim >::setKs3DRefr ( Vector_t  r)
inherited

◆ setLocalBinCount()

void PartBunchBase< double , Dim >::setLocalBinCount ( size_t  num,
int  bin 
)
inherited

Definition at line 137 of file PartBunchBase.hpp.

◆ setLocalNum()

void PartBunchBase< double , Dim >::setLocalNum ( size_t  n)
inherited

Definition at line 514 of file PartBunchBase.hpp.

◆ setLocalNumPerBunch()

void PartBunchBase< double , Dim >::setLocalNumPerBunch ( size_t  numpart,
short  n 
)
inherited

Definition at line 399 of file PartBunchBase.hpp.

◆ setLocalTrackStep()

void PartBunchBase< double , Dim >::setLocalTrackStep ( long long  n)
inherited

step in a TRACK command

Definition at line 388 of file PartBunchBase.hpp.

◆ setMass()

void PartBunchBase< double , Dim >::setMass ( double  mass)
inherited

Definition at line 363 of file PartBunchBase.hpp.

◆ setMassZeroPart()

void PartBunchBase< double , Dim >::setMassZeroPart ( double  mass)
inherited

Definition at line 364 of file PartBunchBase.hpp.

◆ setNumBunch()

void PartBunchBase< double , Dim >::setNumBunch ( short  n)
inherited

Definition at line 392 of file PartBunchBase.hpp.

◆ setParticle() [1/2]

void PartBunchBase< double , Dim >::setParticle ( FVector< double, 6 >  z,
int  ii 
)
inherited

Definition at line 211 of file PartBunchBase.hpp.

◆ setParticle() [2/2]

void PartBunchBase< double , Dim >::setParticle ( OpalParticle const &  p,
int  ii 
)
inherited

Definition at line 213 of file PartBunchBase.hpp.

◆ setPBins() [1/2]

void PartBunchBase< double , Dim >::setPBins ( PartBins pbin)
inherited

Definition at line 121 of file PartBunchBase.hpp.

◆ setPBins() [2/2]

void PartBunchBase< double , Dim >::setPBins ( PartBinsCyc pbin)
inherited

Definition at line 123 of file PartBunchBase.hpp.

◆ setPOrigin()

void PartBunchBase< double , Dim >::setPOrigin ( ParticleOrigin  origin)
inherited

Definition at line 436 of file PartBunchBase.hpp.

◆ setPType()

void PartBunchBase< double , Dim >::setPType ( const std::string &  type)
inherited

Definition at line 437 of file PartBunchBase.hpp.

◆ setQKs3D()

void PartBunchBase< double , Dim >::setQKs3D ( Quaternion_t  q)
inherited

◆ setSolver()

void PartBunchBase< double , Dim >::setSolver ( FieldSolver fs)
virtualinherited

CAN not re-inizialize ParticleLayout this is an IPPL issue

Reimplemented in AmrPartBunch.

Definition at line 374 of file PartBunchBase.hpp.

◆ setStepsPerTurn()

void PartBunchBase< double , Dim >::setStepsPerTurn ( int  n)
inherited

Definition at line 380 of file PartBunchBase.hpp.

◆ setSteptoLastInj()

void PartBunchBase< double , Dim >::setSteptoLastInj ( int  n)
inherited

Definition at line 412 of file PartBunchBase.hpp.

◆ setT()

void PartBunchBase< double , Dim >::setT ( double  t)
inherited

Definition at line 297 of file PartBunchBase.hpp.

◆ setTEmission()

void PartBunchBase< double , Dim >::setTEmission ( double  t)
inherited

Definition at line 113 of file PartBunchBase.hpp.

◆ setTotalNum()

void PartBunchBase< double , Dim >::setTotalNum ( size_t  n)
inherited

Definition at line 513 of file PartBunchBase.hpp.

◆ setTotalNumPerBunch()

void PartBunchBase< double , Dim >::setTotalNumPerBunch ( size_t  numpart,
short  n 
)
inherited

Definition at line 396 of file PartBunchBase.hpp.

◆ setup()

void PartBunchBase< double , Dim >::setup ( AbstractParticle< double , Dim > *  pb)
privateinherited

Definition at line 566 of file PartBunchBase.hpp.

◆ setUpdateFlag()

void PartBunchBase< double , Dim >::setUpdateFlag ( UpdateFlags_t  f,
bool  val 
)
inherited

Definition at line 524 of file PartBunchBase.hpp.

◆ setZ()

void PartBunchBase< double , Dim >::setZ ( int  i,
double  zcoo 
)
virtualinherited

Definition at line 195 of file PartBunchBase.hpp.

◆ singleInitNode()

bool PartBunchBase< double , Dim >::singleInitNode
inherited

Definition at line 535 of file PartBunchBase.hpp.

◆ swap()

void PartBunch::swap ( unsigned int  i,
unsigned int  j 
)
virtual

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 855 of file PartBunch.cpp.

References interpolationCache_m, interpolationCacheSet_m, and PartBunchBase< T, Dim >::swap().

Here is the call graph for this function:

◆ switchOffUnitlessPositions()

void PartBunchBase< double , Dim >::switchOffUnitlessPositions ( bool  use_dt_per_particle = false)
inherited

Definition at line 95 of file PartBunchBase.hpp.

◆ switchToUnitlessPositions()

void PartBunchBase< double , Dim >::switchToUnitlessPositions ( bool  use_dt_per_particle = false)
inherited

Definition at line 92 of file PartBunchBase.hpp.

◆ update() [1/2]

void PartBunchBase< double , Dim >::update
inherited

Definition at line 539 of file PartBunchBase.hpp.

◆ update() [2/2]

void PartBunchBase< double , Dim >::update ( const ParticleAttrib< char > &  canSwap)
inherited

Definition at line 540 of file PartBunchBase.hpp.

◆ updateDomainLength()

void PartBunch::updateDomainLength ( Vektor< int, 3 > &  grid)
privatevirtual

Implements PartBunchBase< double, 3 >.

Definition at line 817 of file PartBunch.cpp.

References PartBunchBase< double, 3 >::Dimension, FieldLayout< Dim >::getDomain(), and getFieldLayout().

Here is the call graph for this function:

◆ updateFields()

void PartBunch::updateFields ( const Vector_t hr,
const Vector_t origin 
)
privatevirtual

◆ updateNumTotal()

void PartBunchBase< double , Dim >::updateNumTotal
inherited

Definition at line 131 of file PartBunchBase.hpp.

◆ weHaveBins()

bool PartBunchBase< double , Dim >::weHaveBins
inherited

Definition at line 119 of file PartBunchBase.hpp.

◆ weHaveEnergyBins()

bool PartBunchBase< double , Dim >::weHaveEnergyBins
inherited

Definition at line 89 of file PartBunchBase.hpp.

Member Data Documentation

◆ bc_m

BConds<double, 3, Mesh_t, Center_t> PartBunch::bc_m
private

for defining the boundary conditions

Definition at line 111 of file PartBunch.h.

Referenced by resizeMesh(), setBCAllOpen(), setBCAllPeriodic(), setBCForDCBeam(), and updateFields().

◆ Bf

ParticleAttrib< Vector_t > PartBunchBase< double , Dim >::Bf
inherited

Definition at line 583 of file PartBunchBase.h.

◆ Bin

ParticleAttrib< int > PartBunchBase< double , Dim >::Bin
inherited

Definition at line 584 of file PartBunchBase.h.

◆ binemitted_m

std::unique_ptr<size_t[]> PartBunchBase< double , Dim >::binemitted_m
protectedinherited

Definition at line 694 of file PartBunchBase.h.

◆ bingamma_m

std::unique_ptr<double[]> PartBunchBase< double , Dim >::bingamma_m
protectedinherited

holds the gamma of the bin

Definition at line 689 of file PartBunchBase.h.

◆ boundpBoundsTimer_m

IpplTimings::TimerRef PartBunchBase< double , Dim >::boundpBoundsTimer_m
protectedinherited

Definition at line 622 of file PartBunchBase.h.

◆ boundpTimer_m

IpplTimings::TimerRef PartBunchBase< double , Dim >::boundpTimer_m
protectedinherited

Definition at line 621 of file PartBunchBase.h.

◆ boundpUpdateTimer_m

IpplTimings::TimerRef PartBunchBase< double , Dim >::boundpUpdateTimer_m
protectedinherited

Definition at line 623 of file PartBunchBase.h.

◆ bunchLocalNum_m

std::vector<size_t> PartBunchBase< double , Dim >::bunchLocalNum_m
protectedinherited

Definition at line 710 of file PartBunchBase.h.

◆ bunchNum

ParticleAttrib< short > PartBunchBase< double , Dim >::bunchNum
inherited

Definition at line 590 of file PartBunchBase.h.

◆ bunchTotalNum_m

std::vector<size_t> PartBunchBase< double , Dim >::bunchTotalNum_m
protectedinherited

number of particles per bunch

Definition at line 709 of file PartBunchBase.h.

◆ cavityGapCrossed

ParticleAttrib< short > PartBunchBase< double , Dim >::cavityGapCrossed
inherited

Definition at line 589 of file PartBunchBase.h.

◆ centroid_m

double PartBunchBase< double , Dim >::centroid_m[2 *Dim]
protectedinherited

holds the centroid of the beam

Definition at line 641 of file PartBunchBase.h.

◆ couplingConstant_m

double PartBunchBase< double , Dim >::couplingConstant_m
protectedinherited

Definition at line 674 of file PartBunchBase.h.

◆ dcBeam_m

bool PartBunchBase< double , Dim >::dcBeam_m
protectedinherited

Definition at line 727 of file PartBunchBase.h.

◆ deltaTau_m

double PartBunchBase< double , Dim >::deltaTau_m
inherited

Definition at line 608 of file PartBunchBase.h.

◆ dh_m

double PartBunchBase< double , Dim >::dh_m
protectedinherited

Mesh enlargement.

Definition at line 683 of file PartBunchBase.h.

◆ Dimension

const unsigned PartBunchBase< double , Dim >::Dimension
staticinherited

Definition at line 59 of file PartBunchBase.h.

◆ dist_m

Distribution* PartBunchBase< double , Dim >::dist_m
protectedinherited

Definition at line 723 of file PartBunchBase.h.

◆ distDump_m

int PartBunchBase< double , Dim >::distDump_m
protectedinherited

counter to store the distribution dump

Definition at line 680 of file PartBunchBase.h.

◆ distrCreate_m

IpplTimings::TimerRef PartBunchBase< double , Dim >::distrCreate_m
inherited

Definition at line 605 of file PartBunchBase.h.

◆ distrReload_m

IpplTimings::TimerRef PartBunchBase< double , Dim >::distrReload_m
inherited

timer for IC, can not be in Distribution.h

Definition at line 604 of file PartBunchBase.h.

◆ dt

ParticleAttrib< double > PartBunchBase< double , Dim >::dt
inherited

Definition at line 585 of file PartBunchBase.h.

◆ dt_m

double PartBunchBase< double , Dim >::dt_m
protectedinherited

holds the timestep in seconds

Definition at line 644 of file PartBunchBase.h.

◆ dtScInit_m

double PartBunchBase< double , Dim >::dtScInit_m
inherited

Definition at line 608 of file PartBunchBase.h.

◆ Ef

ParticleAttrib< Vector_t > PartBunchBase< double , Dim >::Ef
inherited

Definition at line 580 of file PartBunchBase.h.

◆ Eftmp

ParticleAttrib< Vector_t > PartBunchBase< double , Dim >::Eftmp
inherited

Definition at line 581 of file PartBunchBase.h.

◆ eg_m

VField_t PartBunch::eg_m

vector field on the grid

Definition at line 97 of file PartBunch.h.

Referenced by computeSelfFields(), computeSelfFields_cycl(), getEExtrema(), resizeMesh(), and updateFields().

◆ f_stream

std::unique_ptr<std::ofstream> PartBunchBase< double , Dim >::f_stream
privateinherited

Definition at line 616 of file PartBunchBase.h.

◆ fixed_grid

bool PartBunchBase< double , Dim >::fixed_grid
privateinherited

if the grid does not have to adapt

Definition at line 618 of file PartBunchBase.h.

◆ fs_m

FieldSolver* PartBunchBase< double , Dim >::fs_m
protectedinherited

stores the used field solver

Definition at line 672 of file PartBunchBase.h.

◆ globalMeanR_m

Vector_t PartBunchBase< double , Dim >::globalMeanR_m
protectedinherited

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 655 of file PartBunchBase.h.

◆ globalPartPerNode_m

std::unique_ptr<size_t[]> PartBunchBase< double , Dim >::globalPartPerNode_m
protectedinherited

Definition at line 721 of file PartBunchBase.h.

◆ globalToLocalQuaternion_m

Quaternion_t PartBunchBase< double , Dim >::globalToLocalQuaternion_m
protectedinherited

Definition at line 656 of file PartBunchBase.h.

◆ globalTrackStep_m

long long PartBunchBase< double , Dim >::globalTrackStep_m
protectedinherited

if multiple TRACK commands

Definition at line 703 of file PartBunchBase.h.

◆ histoTimer_m

IpplTimings::TimerRef PartBunchBase< double , Dim >::histoTimer_m
protectedinherited

Definition at line 626 of file PartBunchBase.h.

◆ hr_m

Vector_t PartBunchBase< double , Dim >::hr_m
protectedinherited

meshspacing of cartesian mesh

Definition at line 667 of file PartBunchBase.h.

◆ ID

ParticleIndex_t& PartBunchBase< double , Dim >::ID
inherited

Definition at line 573 of file PartBunchBase.h.

◆ interpolationCache_m

ParticleAttrib<CacheDataCIC<double, 3U> > PartBunch::interpolationCache_m
private

Definition at line 117 of file PartBunch.h.

Referenced by computeSelfFields(), resetInterpolationCache(), and swap().

◆ interpolationCacheSet_m

bool PartBunch::interpolationCacheSet_m
private

Definition at line 115 of file PartBunch.h.

Referenced by computeSelfFields(), resetInterpolationCache(), and swap().

◆ localTrackStep_m

long long PartBunchBase< double , Dim >::localTrackStep_m
protectedinherited

step in a TRACK command

Definition at line 700 of file PartBunchBase.h.

◆ M

ParticleAttrib< double > PartBunchBase< double , Dim >::M
inherited

Definition at line 578 of file PartBunchBase.h.

◆ massPerParticle_m

double PartBunchBase< double , Dim >::massPerParticle_m
protectedinherited

Definition at line 677 of file PartBunchBase.h.

◆ momentsComputer_m

DistributionMoments PartBunchBase< double , Dim >::momentsComputer_m
protectedinherited

Definition at line 724 of file PartBunchBase.h.

◆ nr_m

Vektor<int, 3> PartBunchBase< double , Dim >::nr_m
protectedinherited

meshsize of cartesian mesh

Definition at line 669 of file PartBunchBase.h.

◆ numBunch_m

short PartBunchBase< double , Dim >::numBunch_m
protectedinherited

current bunch number

Definition at line 706 of file PartBunchBase.h.

◆ P

ParticleAttrib< Vector_t > PartBunchBase< double , Dim >::P
inherited

Definition at line 576 of file PartBunchBase.h.

◆ pbase_m

std::shared_ptr<AbstractParticle<double , Dim> > PartBunchBase< double , Dim >::pbase_m
protectedinherited

Definition at line 729 of file PartBunchBase.h.

◆ pbin_m

PartBins* PartBunchBase< double , Dim >::pbin_m
inherited

Definition at line 601 of file PartBunchBase.h.

◆ periodLength_m

double PartBunchBase< double , Dim >::periodLength_m
protectedinherited

Definition at line 728 of file PartBunchBase.h.

◆ Phi

ParticleAttrib< double > PartBunchBase< double , Dim >::Phi
inherited

Definition at line 579 of file PartBunchBase.h.

◆ pmsg_m

std::unique_ptr<Inform> PartBunchBase< double , Dim >::pmsg_m
privateinherited

Definition at line 615 of file PartBunchBase.h.

◆ POrigin

ParticleAttrib< ParticleOrigin > PartBunchBase< double , Dim >::POrigin
inherited

Definition at line 587 of file PartBunchBase.h.

◆ PType

ParticleAttrib< ParticleType > PartBunchBase< double , Dim >::PType
inherited

Definition at line 586 of file PartBunchBase.h.

◆ Q

ParticleAttrib< double > PartBunchBase< double , Dim >::Q
inherited

Definition at line 577 of file PartBunchBase.h.

◆ qi_m

double PartBunchBase< double , Dim >::qi_m
protectedinherited

Definition at line 676 of file PartBunchBase.h.

◆ R

ParticlePos_t& PartBunchBase< double , Dim >::R
inherited

Definition at line 572 of file PartBunchBase.h.

◆ reference

const PartData* PartBunchBase< double , Dim >::reference
protectedinherited

Definition at line 630 of file PartBunchBase.h.

◆ RefPartP_m

Vector_t PartBunchBase< double , Dim >::RefPartP_m
inherited

Definition at line 593 of file PartBunchBase.h.

◆ RefPartR_m

Vector_t PartBunchBase< double , Dim >::RefPartR_m
inherited

Definition at line 592 of file PartBunchBase.h.

◆ refPOrigin_m

ParticleOrigin PartBunchBase< double , Dim >::refPOrigin_m
inherited

Definition at line 597 of file PartBunchBase.h.

◆ refPType_m

ParticleType PartBunchBase< double , Dim >::refPType_m
inherited

Definition at line 598 of file PartBunchBase.h.

◆ rho_m

Field_t PartBunch::rho_m

scalar potential

Definition at line 94 of file PartBunch.h.

Referenced by computeSelfFields(), computeSelfFields_cycl(), getRho(), resizeMesh(), and updateFields().

◆ rmax_m

Vector_t PartBunchBase< double , Dim >::rmax_m
protectedinherited

maximal extend of particles

Definition at line 659 of file PartBunchBase.h.

◆ rmin_m

Vector_t PartBunchBase< double , Dim >::rmin_m
protectedinherited

minimal extend of particles

Definition at line 661 of file PartBunchBase.h.

◆ rmsDensity_m

double PartBunchBase< double , Dim >::rmsDensity_m
protectedinherited

Definition at line 664 of file PartBunchBase.h.

◆ selfFieldTimer_m

IpplTimings::TimerRef PartBunchBase< double , Dim >::selfFieldTimer_m
protectedinherited

timer for selfField calculation

Definition at line 628 of file PartBunchBase.h.

◆ spos_m

double PartBunchBase< double , Dim >::spos_m
protectedinherited

the position along design trajectory

Definition at line 648 of file PartBunchBase.h.

◆ stateOfLastBoundP_

UnitState_t PartBunchBase< double , Dim >::stateOfLastBoundP_
protectedinherited

Definition at line 638 of file PartBunchBase.h.

◆ statParamTimer_m

IpplTimings::TimerRef PartBunchBase< double , Dim >::statParamTimer_m
protectedinherited

Definition at line 624 of file PartBunchBase.h.

◆ stepsPerTurn_m

int PartBunchBase< double , Dim >::stepsPerTurn_m
protectedinherited

steps per turn for OPAL-cycl

Definition at line 697 of file PartBunchBase.h.

◆ SteptoLastInj_m

int PartBunchBase< double , Dim >::SteptoLastInj_m
protectedinherited

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 715 of file PartBunchBase.h.

◆ t_m

double PartBunchBase< double , Dim >::t_m
protectedinherited

holds the actual time of the integration

Definition at line 646 of file PartBunchBase.h.

◆ tEmission_m

double PartBunchBase< double , Dim >::tEmission_m
protectedinherited

relative enlargement of the mesh

if larger than 0, emitt particles for tEmission_m [s]

Definition at line 686 of file PartBunchBase.h.

◆ toLabTrafo_m

CoordinateSystemTrafo PartBunchBase< double , Dim >::toLabTrafo_m
inherited

Definition at line 595 of file PartBunchBase.h.

◆ TriID

ParticleAttrib< int > PartBunchBase< double , Dim >::TriID
inherited

Definition at line 588 of file PartBunchBase.h.

◆ unit_state_

UnitState_t PartBunchBase< double , Dim >::unit_state_
protectedinherited

Definition at line 637 of file PartBunchBase.h.

◆ vbc_m

BConds<Vector_t, 3, Mesh_t, Center_t> PartBunch::vbc_m
private

Definition at line 112 of file PartBunch.h.

Referenced by resizeMesh(), setBCAllOpen(), setBCAllPeriodic(), setBCForDCBeam(), and updateFields().


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