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

#include <AmrPartBunch.h>

Inheritance diagram for AmrPartBunch:
Collaboration diagram for AmrPartBunch:

Public Types

typedef AmrParticle_t pbase_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

 AmrPartBunch (const PartData *ref)
 AmrPartBunch (const PartData *ref, pbase_t *pbase_p)
 ~AmrPartBunch ()
pbase_tgetAmrParticleBase ()
const pbase_tgetAmrParticleBase () const
void initialize (FieldLayout_t *fLayout)
void do_binaryRepart ()
Vector_t get_hr () const
void set_meshEnlargement (double dh)
VectorPair_t getEExtrema ()
double getRho (int x, int y, int z)
FieldLayout_tgetFieldLayout ()
void boundp ()
void computeSelfFields ()
void computeSelfFields (int bin)
void computeSelfFields_cycl (double gamma)
void computeSelfFields_cycl (int bin)
void setSolver (FieldSolver *fs)
virtual void setBinCharge (int, double)
 Set the charge of one bin to the value of q and all other to zero.
virtual void setBinCharge (int)
const AmrObjectgetAmrObject () const
PoissonSolvergetFieldSolver ()
const PoissonSolvergetFieldSolver () const
void setBaseLevelMeshSpacing (const Vector_t &hr)
void setAmrDomainRatio (const std::vector< double > &ratio)
void gatherLevelStatistics ()
const size_t & getLevelStatistics (int l) const
void updateLorentzFactor (int bin=0)
void updateLorentzFactor (double gamma)
void setBCAllPeriodic ()
void setBCAllOpen ()
void setBCForDCBeam ()
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.
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)
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
double get_Dx () const
double get_Dy () const
double get_DDx () const
double get_DDy () const
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
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 ()
Informprint (Inform &os)
virtual void runTests ()
virtual void resetInterpolationCache (bool clearCache=false)
virtual void swap (unsigned int i, unsigned int j)
virtual void resizeMesh ()
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
ParticleLayout< double, Dim > & getLayout ()
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

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 updateFieldContainers_m ()
void updateDomainLength (Vektor< int, 3 > &grid)
void updateFields (const Vector_t &hr, const Vector_t &origin)
void setup (AbstractParticle< double, Dim > *pb)

Private Attributes

AmrObjectamrobj_mp
pbase_tamrpbase_mp
FieldLayout_tfieldlayout_m
std::unique_ptr< size_t[]> globalPartPerLevel_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 27 of file AmrPartBunch.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 30 of file AmrPartBunch.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

◆ UnitState_t

Definition at line 61 of file PartBunchBase.h.

Constructor & Destructor Documentation

◆ AmrPartBunch() [1/2]

AmrPartBunch::AmrPartBunch ( const PartData * ref)

Definition at line 25 of file AmrPartBunch.cpp.

References amrobj_mp, AmrPartBunch(), amrpbase_mp, fieldlayout_m, PartBunchBase< double, 3 >::PartBunchBase(), and PartBunchBase< double, 3 >::pbase_m.

Referenced by AmrPartBunch(), and AmrPartBunch().

Here is the call graph for this function:

◆ AmrPartBunch() [2/2]

AmrPartBunch::AmrPartBunch ( const PartData * ref,
pbase_t * pbase_p )

Definition at line 34 of file AmrPartBunch.cpp.

References amrobj_mp, AmrPartBunch(), amrpbase_mp, fieldlayout_m, PartBunchBase< double, 3 >::PartBunchBase(), and PartBunchBase< double, 3 >::pbase_m.

Here is the call graph for this function:

◆ ~AmrPartBunch()

AmrPartBunch::~AmrPartBunch ( )

Definition at line 43 of file AmrPartBunch.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 AmrPartBunch::boundp ( )
virtual

◆ 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 AmrPartBunch::computeSelfFields ( )
virtual

Implements PartBunchBase< double, 3 >.

Definition at line 178 of file AmrPartBunch.cpp.

References amrobj_mp, PartBunchBase< double, 3 >::fs_m, PartBunchBase< double, 3 >::selfFieldTimer_m, IpplTimings::startTimer(), and IpplTimings::stopTimer().

Here is the call graph for this function:

◆ computeSelfFields() [2/2]

void AmrPartBunch::computeSelfFields ( int bin)

Definition at line 191 of file AmrPartBunch.cpp.

References amrobj_mp, PartBunchBase< double, 3 >::selfFieldTimer_m, IpplTimings::startTimer(), and IpplTimings::stopTimer().

Here is the call graph for this function:

◆ computeSelfFields_cycl() [1/2]

void AmrPartBunch::computeSelfFields_cycl ( double gamma)
virtual

Implements PartBunchBase< double, 3 >.

Definition at line 198 of file AmrPartBunch.cpp.

References amrobj_mp, PartBunchBase< double, 3 >::selfFieldTimer_m, IpplTimings::startTimer(), and IpplTimings::stopTimer().

Here is the call graph for this function:

◆ computeSelfFields_cycl() [2/2]

void AmrPartBunch::computeSelfFields_cycl ( int bin)

Definition at line 205 of file AmrPartBunch.cpp.

References amrobj_mp, 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 AmrPartBunch::do_binaryRepart ( )
virtual

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 61 of file AmrPartBunch.cpp.

References amrobj_mp, amrpbase_mp, PartBunchBase< double, 3 >::update(), and updateLorentzFactor().

Referenced by set_meshEnlargement().

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.

◆ gatherLevelStatistics()

void AmrPartBunch::gatherLevelStatistics ( )

Definition at line 225 of file AmrPartBunch.cpp.

References amrobj_mp, amrpbase_mp, globalPartPerLevel_m, and reduce().

Here is the call graph for this function:

◆ 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 AmrPartBunch::get_hr ( ) const
virtual

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 93 of file AmrPartBunch.cpp.

References amrpbase_mp, and PartBunchBase< double, 3 >::hr_m.

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

◆ getAmrObject()

const AmrObject * AmrPartBunch::getAmrObject ( ) const
inline

Definition at line 80 of file AmrPartBunch.h.

References amrobj_mp.

Referenced by GridLBalWriter::fillHeader(), and GridLBalWriter::write().

◆ getAmrParticleBase() [1/2]

AmrPartBunch::pbase_t * AmrPartBunch::getAmrParticleBase ( )

◆ getAmrParticleBase() [2/2]

const AmrPartBunch::pbase_t * AmrPartBunch::getAmrParticleBase ( ) const

Definition at line 51 of file AmrPartBunch.cpp.

References amrpbase_mp.

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

AmrPartBunch::VectorPair_t AmrPartBunch::getEExtrema ( )
virtual

Implements PartBunchBase< double, 3 >.

Definition at line 112 of file AmrPartBunch.cpp.

References amrobj_mp.

◆ getEmissionDeltaT()

double PartBunchBase< double, Dim >::getEmissionDeltaT ( )
inherited

Definition at line 446 of file PartBunchBase.hpp.

References R.

◆ getFieldLayout()

FieldLayout_t & AmrPartBunch::getFieldLayout ( )
virtual

Implements PartBunchBase< double, 3 >.

Definition at line 130 of file AmrPartBunch.cpp.

References fieldlayout_m.

◆ getFieldSolver() [1/2]

PoissonSolver * AmrPartBunch::getFieldSolver ( )
inline

Definition at line 84 of file AmrPartBunch.h.

References PartBunchBase< double, 3 >::fs_m.

◆ getFieldSolver() [2/2]

const PoissonSolver * AmrPartBunch::getFieldSolver ( ) const
inline

Definition at line 88 of file AmrPartBunch.h.

References PartBunchBase< double, 3 >::fs_m.

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

ParticleLayout< double, Dim > & PartBunchBase< double, Dim >::getLayout ( )
inherited

Definition at line 520 of file PartBunchBase.hpp.

References dcBeam_m, and isGridFixed().

Here is the call graph for this function:

◆ getLevelStatistics()

const size_t & AmrPartBunch::getLevelStatistics ( int l) const

Only a valid call of root core (core 0)

Parameters
lis the level

Definition at line 246 of file AmrPartBunch.cpp.

References globalPartPerLevel_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:

◆ 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 AmrPartBunch::getRho ( int x,
int y,
int z )
virtual

Implements PartBunchBase< double, 3 >.

Definition at line 116 of file AmrPartBunch.cpp.

References amrobj_mp.

◆ 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 AmrPartBunch::initialize ( FieldLayout_t * fLayout)
virtual

Implements PartBunchBase< double, 3 >.

Definition at line 56 of file AmrPartBunch.cpp.

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

◆ performDestroy()

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

Definition at line 547 of file PartBunchBase.hpp.

◆ print()

Inform & PartBunchBase< double, Dim >::print ( Inform & os)
inherited

Definition at line 463 of file PartBunchBase.hpp.

◆ 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 PartBunchBase< double, Dim >::resetInterpolationCache ( bool clearCache = false)
virtualinherited

Reimplemented in PartBunch.

Definition at line 473 of file PartBunchBase.hpp.

References dh_m, get_bounds(), and updateDomainLength().

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.

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

virtual void PartBunchBase< double, Dim >::resizeMesh ( )
inlinevirtualinherited

Reimplemented in PartBunch.

Definition at line 506 of file PartBunchBase.h.

◆ runTests()

void PartBunchBase< double, Dim >::runTests ( )
virtualinherited

Definition at line 469 of file PartBunchBase.hpp.

◆ set_meshEnlargement()

void AmrPartBunch::set_meshEnlargement ( double dh)
virtual

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 99 of file AmrPartBunch.cpp.

References amrpbase_mp, do_binaryRepart(), PartBunchBase< T, Dim >::set_meshEnlargement(), and BoxLibLayout< T, Dim >::setBoundingBox().

Here is the call graph for this function:

◆ set_sPos()

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

Definition at line 309 of file PartBunchBase.hpp.

◆ setAmrDomainRatio()

void AmrPartBunch::setAmrDomainRatio ( const std::vector< double > & ratio)

Change the AMR Poisson computation domain.

Parameters
ratioper direction.

Definition at line 220 of file AmrPartBunch.cpp.

References amrpbase_mp, and BoxLibLayout< T, Dim >::setDomainRatio().

Here is the call graph for this function:

◆ setBaseLevelMeshSpacing()

void AmrPartBunch::setBaseLevelMeshSpacing ( const Vector_t & hr)
inline

Definition at line 92 of file AmrPartBunch.h.

References PartBunchBase< double, 3 >::hr_m.

◆ setBCAllOpen()

void AmrPartBunch::setBCAllOpen ( )
inlinevirtual

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 130 of file AmrPartBunch.h.

◆ setBCAllPeriodic()

void AmrPartBunch::setBCAllPeriodic ( )
inlinevirtual

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 129 of file AmrPartBunch.h.

◆ setBCForDCBeam()

void AmrPartBunch::setBCForDCBeam ( )
inlinevirtual

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 131 of file AmrPartBunch.h.

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

virtual void AmrPartBunch::setBinCharge ( int )
inlinevirtual

Definition at line 74 of file AmrPartBunch.h.

◆ setBinCharge() [2/2]

virtual void AmrPartBunch::setBinCharge ( int bin,
double q )
inlinevirtual

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

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 73 of file AmrPartBunch.h.

◆ 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 AmrPartBunch::setSolver ( FieldSolver * fs)
inlinevirtual

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 68 of file AmrPartBunch.h.

References amrobj_mp, and PartBunchBase< T, Dim >::setSolver().

Here is the call graph for this function:

◆ 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 PartBunchBase< double, Dim >::swap ( unsigned int i,
unsigned int j )
virtualinherited

Reimplemented in PartBunch.

Definition at line 488 of file PartBunchBase.hpp.

References getLocalNum().

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 AmrPartBunch::updateDomainLength ( Vektor< int, 3 > & grid)
privatevirtual

Implements PartBunchBase< double, 3 >.

Definition at line 291 of file AmrPartBunch.cpp.

References amrobj_mp.

◆ updateFieldContainers_m()

void AmrPartBunch::updateFieldContainers_m ( )
private

Definition at line 289 of file AmrPartBunch.cpp.

◆ updateFields()

void AmrPartBunch::updateFields ( const Vector_t & hr,
const Vector_t & origin )
privatevirtual

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 296 of file AmrPartBunch.cpp.

◆ updateLorentzFactor() [1/2]

void AmrPartBunch::updateLorentzFactor ( double gamma)

Update the Lorentz factor before every domainMapping in order to have the correct boosted frame for the particle redistribution, regrid and computation of the self-field forces. This function is only used in the single bunch case.

Parameters
gammais the Lorentz factor

Definition at line 275 of file AmrPartBunch.cpp.

References amrpbase_mp, and OpalData::getInstance().

Here is the call graph for this function:

◆ updateLorentzFactor() [2/2]

void AmrPartBunch::updateLorentzFactor ( int bin = 0)

Update the Lorentz factor before every domainMapping in order to have the correct boosted frame for the particle redistribution, regrid and computation of the self-field forces

Parameters
binis the energy bin

Definition at line 251 of file AmrPartBunch.cpp.

References PartBunchBase< double, 3 >::get_gamma(), PartBunchBase< double, 3 >::getBinGamma(), updateLorentzFactor(), and PartBunchBase< double, 3 >::weHaveBins().

Referenced by boundp(), do_binaryRepart(), and updateLorentzFactor().

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

◆ amrobj_mp

◆ amrpbase_mp

◆ 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

◆ f_stream

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

Definition at line 616 of file PartBunchBase.h.

◆ fieldlayout_m

FieldLayout_t* AmrPartBunch::fieldlayout_m
private

Definition at line 151 of file AmrPartBunch.h.

Referenced by AmrPartBunch(), AmrPartBunch(), and getFieldLayout().

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

◆ globalPartPerLevel_m

std::unique_ptr<size_t[]> AmrPartBunch::globalPartPerLevel_m
private

Definition at line 153 of file AmrPartBunch.h.

Referenced by gatherLevelStatistics(), and getLevelStatistics().

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

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

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


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