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

#include <PartBunch.h>

Inheritance diagram for PartBunch:
Collaboration diagram for PartBunch:

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.
 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)
void computeSelfFields_cycl (double gamma)
 Calculates the self electric field from the charge density distribution for use in cyclotrons.
void computeSelfFields_cycl (int b)
 Calculates the self electric field from the charge density distribution for use in cyclotrons.
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)
bool isGridFixed () const
bool hasBinning () const
void setTEmission (double t)
double getTEmission ()
bool doEmission ()
bool weHaveBins () const
void setPBins (PartBins *pbin)
size_t emitParticles (double eZ)
 Emit particles in the given bin i.e. copy the particles from the bin structure into the particle container.
void updateNumTotal ()
void rebin ()
int getLastemittedBin ()
void setLocalBinCount (size_t num, int bin)
void calcGammas ()
 Compute the gammas of all bins.
void calcGammas_cycl ()
void calcDebyeLength ()
 Compute the (global) Debye length for the beam.
double getBinGamma (int bin)
 Get gamma of one bin.
virtual void setBinCharge (int bin, double q)
 Set the charge of one bin to the value of q and all other to zero.
size_t calcNumPartsOutside (Vector_t x)
 returns the number of particles outside of a box defined by x
void calcLineDensity (unsigned int nBins, std::vector< double > &lineDensity, std::pair< double, double > &meshInfo)
 calculates the 1d line density (not normalized) and append it to a file.
void setBeamFrequency (double v)
virtual void boundp ()
void boundp_destroyCycl ()
size_t boundp_destroyT ()
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)
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.
void setdT (double dt)
double getdT () const
void setT (double t)
void incrementT ()
double getT () const
double get_sPos () const
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
double getChargePerParticle () const
 get the macro particle charge
double getMassPerParticle () const
virtual void setSolver (FieldSolver *fs)
bool hasFieldSolver ()
FieldSolverType getFieldSolverType () const
 Return the fieldsolver type if we have a fieldsolver.
void setStepsPerTurn (int n)
int getStepsPerTurn () const
void setGlobalTrackStep (long long n)
 step in multiple TRACK commands
long long getGlobalTrackStep () const
void setLocalTrackStep (long long n)
 step in a TRACK command
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
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.
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 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.
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.
void resetM (double m)
void setPOrigin (ParticleOrigin)
void setPType (const std::string &type)

Public Attributes

Field_t rho_m
 scalar potential
VField_t eg_m
 vector field on the grid
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
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

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
const PartDatareference
UnitState_t unit_state_
UnitState_t stateOfLastBoundP_
double centroid_m [2 *Dim]
 holds the centroid of the beam
double dt_m
 holds the timestep in seconds
double t_m
 holds the actual time of the integration
double spos_m
 the position along design trajectory
Vector_t globalMeanR_m
Quaternion_t globalToLocalQuaternion_m
Vector_t rmax_m
 maximal extend of particles
Vector_t rmin_m
 minimal extend of particles
double rmsDensity_m
Vector_t hr_m
 meshspacing of cartesian mesh
Vektor< int, 3 > nr_m
 meshsize of cartesian mesh
FieldSolverfs_m
 stores the used field solver
double couplingConstant_m
double qi_m
double massPerParticle_m
int distDump_m
 counter to store the distribution dump
double dh_m
 Mesh enlargement.
double tEmission_m
 relative enlargement of the mesh
std::unique_ptr< double[]> bingamma_m
 holds the gamma of the bin
std::unique_ptr< size_t[]> binemitted_m
int stepsPerTurn_m
 steps per turn for OPAL-cycl
long long localTrackStep_m
 step in a TRACK command
long long globalTrackStep_m
 if multiple TRACK commands
short numBunch_m
 current bunch number
std::vector< size_t > bunchTotalNum_m
 number of particles per bunch
std::vector< size_t > bunchLocalNum_m
int SteptoLastInj_m
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
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
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

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.

References interpolationCacheSet_m, PartBunch(), and PartBunchBase< double, 3 >::PartBunchBase().

Referenced by operator=(), PartBunch(), and PartBunch().

Here is the call graph for this function:

◆ PartBunch() [2/3]

PartBunch::PartBunch ( )
delete

◆ PartBunch() [3/3]

PartBunch::PartBunch ( const PartBunch & )
delete

References PartBunch().

Here is the call graph for this function:

◆ ~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.

References getLocalNum().

Here is the call graph for this function:

◆ 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.

Referenced by PartBunch::do_binaryRepart(), and PartBunch::resizeMesh().

◆ 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.

References getLocalNum(), and R.

Here is the call graph for this function:

◆ 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.

References dt, and getdT().

Here is the call graph for this function:

◆ calcBeamParameters()

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

Definition at line 351 of file PartBunchBase.hpp.

References binemitted_m, and bingamma_m.

◆ 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.

References binemitted_m, and bingamma_m.

Referenced by PartBunch::computeSelfFields(), and PartBunch::computeSelfFields_cycl().

◆ 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

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

\method calcLineDensity()

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.

References dist_m.

◆ calculateAngle()

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

angle range [0~2PI) degree

Definition at line 558 of file PartBunchBase.hpp.

References dh_m, dist_m, nr_m, rmax_m, and rmin_m.

◆ computeSelfFields() [1/2]

void PartBunch::computeSelfFields ( )
virtual

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

Implements PartBunchBase< double, 3 >.

Definition at line 349 of file PartBunch.cpp.

References PartBunchBase< double, 3 >::Bf, Physics::c, PartBunchBase< double, 3 >::calcDebyeLength(), PartBunchBase< double, 3 >::dt, FieldWriter::dumpField(), PartBunchBase< double, 3 >::Ef, eg_m, endl(), FFT, FFTBOX, PartBunchBase< double, 3 >::fs_m, PartBunchBase< double, 3 >::getCouplingConstant(), PartBunchBase< double, 3 >::getdT(), PartBunchBase< double, 3 >::getTotalNum(), gmsg, Grad(), PartBunchBase< double, 3 >::hr_m, PartBunchBase< double, 3 >::localTrackStep_m, PartBunchBase< double, 3 >::nr_m, PartBunchBase< double, 3 >::P, P3M, PartBunchBase< double, 3 >::Q, Physics::q_e, PartBunchBase< double, 3 >::R, resizeMesh(), rho_m, PartBunchBase< double, 3 >::rmsDensity_m, PartBunchBase< double, 3 >::selfFieldTimer_m, IpplTimings::startTimer(), IpplTimings::stopTimer(), and sum().

Here is the call graph for this function:

◆ computeSelfFields() [2/2]

void PartBunch::computeSelfFields ( int b)

/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 76 of file PartBunch.cpp.

References PartBunchBase< double, 3 >::Bf, Physics::c, PartBunchBase< double, 3 >::dt, FieldWriter::dumpField(), PartBunchBase< double, 3 >::Ef, PartBunchBase< double, 3 >::Eftmp, eg_m, endl(), PartBunchBase< double, 3 >::fs_m, PartBunchBase< double, 3 >::getBinGamma(), PartBunchBase< double, 3 >::getCouplingConstant(), FieldLayout< Dim >::getDomain(), PartBunchBase< double, 3 >::getdT(), getFieldLayout(), PartBunchBase< double, 3 >::getLocalNum(), gmsg, Grad(), 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, PartBunchBase< double, 3 >::selfFieldTimer_m, IpplTimings::startTimer(), and IpplTimings::stopTimer().

Here is the call graph for this function:

◆ computeSelfFields_cycl() [1/2]

void PartBunch::computeSelfFields_cycl ( double gamma)
virtual

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

\method computeSelfFields_cycl()

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(), FieldWriter::dumpField(), PartBunchBase< double, 3 >::Ef, eg_m, endl(), FFT, FFTBOX, PartBunchBase< double, 3 >::fs_m, PartBunchBase< double, 3 >::getCouplingConstant(), gmsg, Grad(), 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, PartBunchBase< double, 3 >::selfFieldTimer_m, IpplTimings::startTimer(), IpplTimings::stopTimer(), and sum().

Here is the call graph for this function:

◆ computeSelfFields_cycl() [2/2]

void PartBunch::computeSelfFields_cycl ( int bin)

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

\method computeSelfFields_cycl()

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

Definition at line 621 of file PartBunch.cpp.

References PartBunchBase< double, 3 >::Bf, Physics::c, 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(), gmsg, Grad(), 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, PartBunchBase< double, 3 >::selfFieldTimer_m, 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.

References dh_m, and rmax_m.

◆ 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.

References hr_m, nr_m, rmax_m, and rmin_m.

Referenced by PartBunch::resizeMesh().

◆ destroyT()

size_t PartBunchBase< double, Dim >::destroyT ( )
inherited

Definition at line 176 of file PartBunchBase.hpp.

References Physics::c, dt, and R.

◆ do_binaryRepart()

void PartBunch::do_binaryRepart ( )
virtual

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 63 of file PartBunch.cpp.

References BinaryRepartition(), PartBunchBase< double, 3 >::boundp(), PartBunchBase< double, 3 >::get_bounds(), PartBunchBase< double, 3 >::pbase_m, PartBunchBase< double, 3 >::rmax_m, PartBunchBase< double, 3 >::rmin_m, and PartBunchBase< double, 3 >::update().

Here is the call graph for this function:

◆ doEmission()

bool PartBunchBase< double, Dim >::doEmission ( )
inherited

Definition at line 117 of file PartBunchBase.hpp.

References dist_m.

◆ 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.

References dist_m.

◆ 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.

References bingamma_m.

◆ get_68Percentile()

Vector_t PartBunchBase< double, Dim >::get_68Percentile ( ) const
inherited

Definition at line 329 of file PartBunchBase.hpp.

◆ get_95Percentile()

Vector_t PartBunchBase< double, Dim >::get_95Percentile ( ) const
inherited

Definition at line 330 of file PartBunchBase.hpp.

◆ get_99_99Percentile()

Vector_t PartBunchBase< double, Dim >::get_99_99Percentile ( ) const
inherited

Definition at line 332 of file PartBunchBase.hpp.

References pbin_m.

◆ get_99Percentile()

Vector_t PartBunchBase< double, Dim >::get_99Percentile ( ) const
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.

References dt, getdT(), and getLocalNum().

Referenced by PartBunch::do_binaryRepart(), resetInterpolationCache(), PartBunch::resizeMesh(), and setUpdateFlag().

Here is the call graph for this function:

◆ get_centroid()

Vector_t PartBunchBase< double, Dim >::get_centroid ( ) const
inherited

Definition at line 319 of file PartBunchBase.hpp.

◆ get_DDx()

double PartBunchBase< double, Dim >::get_DDx ( ) const
inherited

Definition at line 341 of file PartBunchBase.hpp.

References dist_m.

◆ get_DDy()

double PartBunchBase< double, Dim >::get_DDy ( ) const
inherited

Definition at line 342 of file PartBunchBase.hpp.

◆ get_debyeLength()

double PartBunchBase< double, Dim >::get_debyeLength ( ) const
inherited

Definition at line 314 of file PartBunchBase.hpp.

References Bin.

◆ get_Dx()

double PartBunchBase< double, Dim >::get_Dx ( ) const
inherited

Definition at line 339 of file PartBunchBase.hpp.

◆ get_Dy()

double PartBunchBase< double, Dim >::get_Dy ( ) const
inherited

Definition at line 340 of file PartBunchBase.hpp.

◆ get_emit()

Vector_t PartBunchBase< double, Dim >::get_emit ( ) const
inherited

Definition at line 326 of file PartBunchBase.hpp.

◆ get_gamma()

double PartBunchBase< double, Dim >::get_gamma ( ) const
inherited

Definition at line 311 of file PartBunchBase.hpp.

Referenced by AmrPartBunch::updateLorentzFactor().

◆ get_halo()

Vector_t PartBunchBase< double, Dim >::get_halo ( ) const
inherited

Definition at line 328 of file PartBunchBase.hpp.

◆ get_hr()

Vector_t PartBunchBase< double, Dim >::get_hr ( ) const
virtualinherited

Reimplemented in AmrPartBunch.

Definition at line 337 of file PartBunchBase.hpp.

◆ get_maxExtent()

Vector_t PartBunchBase< double, Dim >::get_maxExtent ( ) const
inherited

Definition at line 318 of file PartBunchBase.hpp.

◆ get_meanKineticEnergy()

double PartBunchBase< double, Dim >::get_meanKineticEnergy ( ) const
inherited

Definition at line 312 of file PartBunchBase.hpp.

◆ get_norm_emit()

Vector_t PartBunchBase< double, Dim >::get_norm_emit ( ) const
inherited

Definition at line 327 of file PartBunchBase.hpp.

◆ get_normalizedEps_68Percentile()

Vector_t PartBunchBase< double, Dim >::get_normalizedEps_68Percentile ( ) const
inherited

Definition at line 333 of file PartBunchBase.hpp.

References pbin_m.

◆ get_normalizedEps_95Percentile()

Vector_t PartBunchBase< double, Dim >::get_normalizedEps_95Percentile ( ) const
inherited

Definition at line 334 of file PartBunchBase.hpp.

◆ get_normalizedEps_99_99Percentile()

Vector_t PartBunchBase< double, Dim >::get_normalizedEps_99_99Percentile ( ) const
inherited

Definition at line 336 of file PartBunchBase.hpp.

◆ get_normalizedEps_99Percentile()

Vector_t PartBunchBase< double, Dim >::get_normalizedEps_99Percentile ( ) const
inherited

Definition at line 335 of file PartBunchBase.hpp.

◆ get_origin()

Vector_t PartBunchBase< double, Dim >::get_origin ( ) const
inherited

Definition at line 317 of file PartBunchBase.hpp.

References pbin_m.

◆ get_PBounds()

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

Definition at line 349 of file PartBunchBase.hpp.

References Bin, bingamma_m, and P.

◆ get_plasmaParameter()

double PartBunchBase< double, Dim >::get_plasmaParameter ( ) const
inherited

Definition at line 315 of file PartBunchBase.hpp.

References pbin_m.

◆ get_pmean()

Vector_t PartBunchBase< double, Dim >::get_pmean ( ) const
inherited

Definition at line 324 of file PartBunchBase.hpp.

References pbin_m.

◆ get_pmean_Distribution()

Vector_t PartBunchBase< double, Dim >::get_pmean_Distribution ( ) const
inherited

Definition at line 325 of file PartBunchBase.hpp.

◆ get_prms()

Vector_t PartBunchBase< double, Dim >::get_prms ( ) const
inherited

Definition at line 323 of file PartBunchBase.hpp.

References pbin_m.

◆ get_rmean()

Vector_t PartBunchBase< double, Dim >::get_rmean ( ) const
inherited

Definition at line 322 of file PartBunchBase.hpp.

Referenced by getBeta().

◆ get_rmsDensity()

double PartBunchBase< double, Dim >::get_rmsDensity ( ) const
inherited

Definition at line 316 of file PartBunchBase.hpp.

◆ get_rprms()

Vector_t PartBunchBase< double, Dim >::get_rprms ( ) const
inherited

Definition at line 321 of file PartBunchBase.hpp.

◆ get_rrms()

Vector_t PartBunchBase< double, Dim >::get_rrms ( ) const
inherited

Definition at line 320 of file PartBunchBase.hpp.

◆ get_sPos()

double PartBunchBase< double, Dim >::get_sPos ( ) const
inherited

get the spos of the primary beam

Parameters
none

Definition at line 307 of file PartBunchBase.hpp.

References setTotalNum().

Here is the call graph for this function:

◆ get_temperature()

double PartBunchBase< double, Dim >::get_temperature ( ) const
inherited

Definition at line 313 of file PartBunchBase.hpp.

◆ getBConds()

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

◆ getBeta()

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

Definition at line 441 of file PartBunchBase.hpp.

References get_rmean().

Here is the call graph for this function:

◆ getBinGamma()

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

Get gamma of one bin.

Definition at line 148 of file PartBunchBase.hpp.

References binemitted_m.

Referenced by PartBunch::computeSelfFields(), PartBunch::computeSelfFields_cycl(), and AmrPartBunch::updateLorentzFactor().

◆ getBoundingSphere()

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

Definition at line 201 of file PartBunchBase.hpp.

References Physics::c, dt, and R.

◆ getCharge()

double PartBunchBase< double, Dim >::getCharge ( ) const
inherited

get the total charge per simulation particle

Definition at line 367 of file PartBunchBase.hpp.

◆ getChargePerParticle()

double PartBunchBase< double, Dim >::getChargePerParticle ( ) const
inherited

get the macro particle charge

Definition at line 370 of file PartBunchBase.hpp.

◆ getCouplingConstant()

double PartBunchBase< double, Dim >::getCouplingConstant ( ) const
inherited

◆ getdE()

double PartBunchBase< double, Dim >::getdE ( ) const
inherited

Definition at line 439 of file PartBunchBase.hpp.

◆ getDestroyNum()

size_t PartBunchBase< double, Dim >::getDestroyNum ( ) const
inherited

Definition at line 517 of file PartBunchBase.hpp.

References ID, R, stateOfLastBoundP_, and unit_state_.

◆ getDistType()

DistributionType PartBunchBase< double, Dim >::getDistType ( ) const
inherited

Definition at line 448 of file PartBunchBase.hpp.

◆ getdT()

double PartBunchBase< double, Dim >::getdT ( ) const
inherited

◆ getE()

double PartBunchBase< double, Dim >::getE ( ) const
inherited

Definition at line 427 of file PartBunchBase.hpp.

References Bin, and Q.

◆ 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.

References R.

◆ getFieldLayout()

FieldLayout_t & PartBunch::getFieldLayout ( )
virtual

Implements PartBunchBase< double, 3 >.

Definition at line 760 of file PartBunch.cpp.

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

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

Here is the call graph for this function:

◆ getFieldSolverType()

FieldSolverType PartBunchBase< double, Dim >::getFieldSolverType ( ) const
inherited

Return the fieldsolver type if we have a fieldsolver.

Definition at line 378 of file PartBunchBase.hpp.

References bingamma_m, endl(), and level2().

Here is the call graph for this function:

◆ getGamma()

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

Definition at line 440 of file PartBunchBase.hpp.

◆ getGhostNum()

size_t PartBunchBase< double, Dim >::getGhostNum ( ) const
inherited

Definition at line 518 of file PartBunchBase.hpp.

References stateOfLastBoundP_, and unit_state_.

◆ 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 ( ) const
inherited

Definition at line 385 of file PartBunchBase.hpp.

◆ getIfBeamEmitting()

bool PartBunchBase< double, Dim >::getIfBeamEmitting ( )
inherited

Definition at line 77 of file PartBunchBase.hpp.

References dist_m, and globalPartPerNode_m.

◆ getInitialBeta()

double PartBunchBase< double, Dim >::getInitialBeta ( ) const
inherited

Definition at line 430 of file PartBunchBase.hpp.

◆ getInitialGamma()

double PartBunchBase< double, Dim >::getInitialGamma ( ) const
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.

References endl().

Here is the call graph for this function:

◆ getLastEmittedEnergyBin()

int PartBunchBase< double, Dim >::getLastEmittedEnergyBin ( )
inherited

Definition at line 79 of file PartBunchBase.hpp.

References c, dcBeam_m, and periodLength_m.

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

References getLocalNum().

Here is the call graph for this function:

◆ 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.

References dt.

◆ getLocalNum()

size_t PartBunchBase< double, Dim >::getLocalNum ( ) const
inherited

◆ getLocalNumPerBunch()

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

Definition at line 400 of file PartBunchBase.hpp.

References bingamma_m, and pbin_m.

◆ getLocalTrackStep()

long long PartBunchBase< double, Dim >::getLocalTrackStep ( ) const
inherited

Definition at line 390 of file PartBunchBase.hpp.

References bingamma_m.

◆ getM()

double PartBunchBase< double, Dim >::getM ( ) const
inherited

Definition at line 425 of file PartBunchBase.hpp.

◆ getMassPerParticle()

double PartBunchBase< double, Dim >::getMassPerParticle ( ) const
inherited

Definition at line 372 of file PartBunchBase.hpp.

References endl(), OpalData::getInstance(), and getTotalNum().

Here is the call graph for this function:

◆ getMesh() [1/2]

Mesh_t & PartBunch::getMesh ( )
inline

Definition at line 144 of file PartBunch.h.

References getLayout(), and ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::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 getLayout(), and ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getLayout().

Referenced by resizeMesh(), and updateFields().

Here is the call graph for this function:

◆ getMomentumTolerance()

double PartBunchBase< double, Dim >::getMomentumTolerance ( ) const
inherited

Definition at line 450 of file PartBunchBase.hpp.

References IpplInfo::getNodes(), and globalPartPerNode_m.

Here is the call graph for this function:

◆ getNumberOfEmissionSteps()

size_t PartBunchBase< double, Dim >::getNumberOfEmissionSteps ( )
inherited

Definition at line 81 of file PartBunchBase.hpp.

References pbase_m.

◆ getNumberOfEnergyBins()

int PartBunchBase< double, Dim >::getNumberOfEnergyBins ( )
inherited

Definition at line 83 of file PartBunchBase.hpp.

References setup().

Here is the call graph for this function:

◆ getNumBunch()

short PartBunchBase< double, Dim >::getNumBunch ( ) const
inherited

Definition at line 393 of file PartBunchBase.hpp.

References Bin, bingamma_m, dot(), and P.

Here is the call graph for this function:

◆ getP()

double PartBunchBase< double, Dim >::getP ( ) const
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 ( ) const
inherited

Definition at line 428 of file PartBunchBase.hpp.

◆ getPType()

ParticleType PartBunchBase< double, Dim >::getPType ( ) const
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.

References unit_state_, and unitless.

◆ 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.

References R.

◆ getQ()

double PartBunchBase< double, Dim >::getQ ( ) const
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 ( ) const
inherited

Definition at line 444 of file PartBunchBase.hpp.

References R.

◆ 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 ( ) const
inherited

Definition at line 611 of file PartBunchBase.hpp.

◆ getStepsPerTurn()

int PartBunchBase< double, Dim >::getStepsPerTurn ( ) const
inherited

Definition at line 381 of file PartBunchBase.hpp.

◆ getSteptoLastInj()

int PartBunchBase< double, Dim >::getSteptoLastInj ( ) const
inherited

Definition at line 413 of file PartBunchBase.hpp.

◆ getT()

double PartBunchBase< double, Dim >::getT ( ) const
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 ( ) const
inherited

Definition at line 512 of file PartBunchBase.hpp.

Referenced by PartBunch::computeSelfFields(), and getMassPerParticle().

◆ getTotalNumPerBunch()

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

Definition at line 397 of file PartBunchBase.hpp.

References bingamma_m.

◆ 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.

References unit_state_, and units.

◆ ghostDestroy()

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

Definition at line 548 of file PartBunchBase.hpp.

References dcBeam_m, hr_m, nr_m, periodLength_m, rmax_m, and rmin_m.

◆ globalCreate()

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

Definition at line 544 of file PartBunchBase.hpp.

References dh_m, and rmin_m.

◆ hasBinning()

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

Definition at line 106 of file PartBunchBase.hpp.

References dist_m.

◆ hasFieldSolver()

bool PartBunchBase< double, Dim >::hasFieldSolver ( )
inherited

Definition at line 376 of file PartBunchBase.hpp.

References binemitted_m.

◆ 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 getLayout(), and ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getLayout().

Here is the call graph for this function:

◆ isGridFixed()

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

Definition at line 104 of file PartBunchBase.hpp.

Referenced by getLayout().

◆ 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

References PartBunch().

Here is the call graph for this function:

◆ 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.

References endl(), and gmsg.

Here is the call graph for this function:

◆ resetID()

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

Definition at line 537 of file PartBunchBase.hpp.

References rmax_m, and rmin_m.

◆ resetInterpolationCache()

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

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 848 of file PartBunch.cpp.

References interpolationCache_m, and interpolationCacheSet_m.

◆ 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.

References bingamma_m.

◆ 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

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 794 of file PartBunch.cpp.

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

Here is the call graph for this function:

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

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.

References level2().

Here is the call graph for this function:

◆ setChargeZeroPart()

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

Definition at line 360 of file PartBunchBase.hpp.

References bingamma_m, and endl().

Here is the call graph for this function:

◆ setCouplingConstant()

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

Definition at line 355 of file PartBunchBase.hpp.

References bingamma_m.

◆ setDistribution()

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.

References pbin_m, and setEnergyBins().

Here is the call graph for this function:

◆ setEnergyBins()

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

Definition at line 87 of file PartBunchBase.hpp.

Referenced by setdT().

◆ setGlobalMeanR()

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

Definition at line 407 of file PartBunchBase.hpp.

References bingamma_m, and endl().

Here is the call graph for this function:

◆ 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.

References pbin_m.

◆ 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.

References bingamma_m, endl(), and level2().

Here is the call graph for this function:

◆ setNumBunch()

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

Definition at line 392 of file PartBunchBase.hpp.

References getLocalNum().

Here is the call graph for this function:

◆ setParticle()

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

Definition at line 211 of file PartBunchBase.hpp.

◆ setPBins()

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

Definition at line 121 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.

Referenced by get_sPos().

◆ 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.

References dh_m, hr_m, nr_m, rmax_m, and rmin_m.

Referenced by getNumberOfEnergyBins().

◆ setUpdateFlag()

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

Definition at line 524 of file PartBunchBase.hpp.

References boundpBoundsTimer_m, get_bounds(), nr_m, rmax_m, rmin_m, and updateDomainLength().

Here is the call graph for this function:

◆ setZ()

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

Definition at line 195 of file PartBunchBase.hpp.

References R.

◆ singleInitNode()

bool PartBunchBase< double, Dim >::singleInitNode ( ) const
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.

References dist_m, and reduce().

Here is the call graph for this function:

◆ update()

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

◆ 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

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 824 of file PartBunch.cpp.

References bc_m, eg_m, getFieldLayout(), getMesh(), PartBunchBase< double, 3 >::hr_m, rho_m, UniformCartesian< Dim, MFLOAT >::set_meshSpacing(), UniformCartesian< Dim, MFLOAT >::set_origin(), and vbc_m.

Here is the call graph for this function:

◆ updateNumTotal()

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

Definition at line 131 of file PartBunchBase.hpp.

◆ weHaveBins()

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

Definition at line 119 of file PartBunchBase.hpp.

Referenced by AmrPartBunch::updateLorentzFactor().

◆ 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

◆ Bin

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

Definition at line 584 of file PartBunchBase.h.

Referenced by get_debyeLength(), get_PBounds(), getE(), and getNumBunch().

◆ binemitted_m

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

◆ bingamma_m

◆ boundpBoundsTimer_m

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

Definition at line 622 of file PartBunchBase.h.

Referenced by setUpdateFlag().

◆ boundpTimer_m

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

Definition at line 621 of file PartBunchBase.h.

Referenced by AmrPartBunch::boundp(), and getLocalNum().

◆ 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.

Referenced by PartBunchBase().

◆ 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.

Referenced by PartBunchBase().

◆ 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

◆ 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

◆ Dimension

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

Definition at line 59 of file PartBunchBase.h.

Referenced by PartBunch::updateDomainLength().

◆ dist_m

◆ 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

◆ 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

◆ Eftmp

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

◆ eg_m

VField_t PartBunch::eg_m

◆ 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

◆ 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.

Referenced by getIfBeamEmitting(), and getMomentumTolerance().

◆ 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.

Referenced by PartBunchBase().

◆ histoTimer_m

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

Definition at line 626 of file PartBunchBase.h.

◆ hr_m

◆ ID

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

Definition at line 573 of file PartBunchBase.h.

Referenced by AmrPartBunch::boundp(), getDestroyNum(), and PartBunch::resizeMesh().

◆ 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(), PartBunch(), resetInterpolationCache(), and swap().

◆ localTrackStep_m

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

◆ 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

◆ numBunch_m

short PartBunchBase< double, Dim >::numBunch_m
protectedinherited

current bunch number

Definition at line 706 of file PartBunchBase.h.

Referenced by PartBunchBase().

◆ P

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

Definition at line 576 of file PartBunchBase.h.

Referenced by PartBunch::computeSelfFields(), get_PBounds(), and getNumBunch().

◆ pbase_m

◆ pbin_m

◆ periodLength_m

double PartBunchBase< double, Dim >::periodLength_m
protectedinherited

Definition at line 728 of file PartBunchBase.h.

Referenced by getLastEmittedEnergyBin(), and ghostDestroy().

◆ 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

◆ qi_m

double PartBunchBase< double, Dim >::qi_m
protectedinherited

Definition at line 676 of file PartBunchBase.h.

◆ R

◆ 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

◆ rmax_m

Vector_t PartBunchBase< double, Dim >::rmax_m
protectedinherited

◆ rmin_m

Vector_t PartBunchBase< double, Dim >::rmin_m
protectedinherited

◆ rmsDensity_m

double PartBunchBase< double, Dim >::rmsDensity_m
protectedinherited

◆ selfFieldTimer_m

◆ 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.

Referenced by AmrPartBunch::boundp(), getDestroyNum(), and getGhostNum().

◆ 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.

Referenced by PartBunchBase().

◆ 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.

Referenced by PartBunchBase().

◆ 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.

Referenced by PartBunchBase().

◆ 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.

Referenced by AmrPartBunch::boundp(), getDestroyNum(), getGhostNum(), getPx(), and getZ().

◆ 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: