|
OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
|
#include <PartBunch.h>


Public Types | |
| enum | { Dim = Dimension } |
| typedef IpplParticleBase< Layout_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_t > | VectorPair_t |
Public Member Functions | |
| PartBunch (const PartData *ref) | |
| Default constructor. More... | |
| PartBunch ()=delete | |
| PartBunch (const PartBunch &)=delete | |
| PartBunch & | operator= (const PartBunch &)=delete |
| ~PartBunch () | |
| void | initialize (FieldLayout_t *fLayout) |
| void | do_binaryRepart () |
| double | getRho (int x, int y, int z) |
| const Mesh_t & | getMesh () const |
| Mesh_t & | getMesh () |
| FieldLayout_t & | getFieldLayout () |
| void | setBCAllPeriodic () |
| void | setBCAllOpen () |
| void | setBCForDCBeam () |
| VectorPair_t | getEExtrema () |
| void | computeSelfFields () |
| void | computeSelfFields (int b) |
| /brief used for self fields with binned distribution More... | |
| void | computeSelfFields_cycl (double gamma) |
| \method computeSelfFields_cycl() More... | |
| void | computeSelfFields_cycl (int b) |
| \method computeSelfFields_cycl() More... | |
| void | resetInterpolationCache (bool clearCache=false) |
| void | swap (unsigned int i, unsigned int j) |
| Inform & | print (Inform &os) |
| bool | getIfBeamEmitting () |
| int | getLastEmittedEnergyBin () |
| size_t | getNumberOfEmissionSteps () |
| int | getNumberOfEnergyBins () |
| void | Rebin () |
| void | setEnergyBins (int numberOfEnergyBins) |
| bool | weHaveEnergyBins () |
| void | switchToUnitlessPositions (bool use_dt_per_particle=false) |
| void | switchOffUnitlessPositions (bool use_dt_per_particle=false) |
| void | setDistribution (Distribution *d, std::vector< Distribution * > addedDistributions, size_t &np) |
| void | setDistribution (Distribution *d, size_t numberOfParticles, double current, const Beamline &bl) |
| bool | isGridFixed () const |
| bool | hasBinning () const |
| void | setTEmission (double t) |
| double | getTEmission () |
| bool | doEmission () |
| bool | weHaveBins () const |
| void | setPBins (PartBins *pbin) |
| void | setPBins (PartBinsCyc *pbin) |
| size_t | emitParticles (double eZ) |
| Emit particles in the given bin i.e. More... | |
| void | updateNumTotal () |
| void | rebin () |
| int | getLastemittedBin () |
| void | setLocalBinCount (size_t num, int bin) |
| void | calcGammas () |
| Compute the gammas of all bins. More... | |
| void | calcGammas_cycl () |
| void | calcDebyeLength () |
| Compute the (global) Debye length for the beam. More... | |
| double | getBinGamma (int bin) |
| Get gamma of one bin. More... | |
| virtual void | setBinCharge (int bin, double q) |
| Set the charge of one bin to the value of q and all other to zero. More... | |
| virtual void | setBinCharge (int bin) |
| Set the charge of all other the ones in bin to zero. More... | |
| size_t | calcNumPartsOutside (Vector_t x) |
| returns the number of particles outside of a box defined by x More... | |
| void | calcLineDensity (unsigned int nBins, std::vector< double > &lineDensity, std::pair< double, double > &meshInfo) |
| \method calcLineDensity() More... | |
| void | setBeamFrequency (double v) |
| virtual void | boundp () |
| void | boundp_destroyCycl () |
| delete particles which are too far away from the center of beam More... | |
| size_t | boundp_destroyT () |
| This is only temporary in order to get the collimator and pepperpot working. More... | |
| size_t | destroyT () |
| virtual double | getPx (int i) |
| virtual double | getPy (int i) |
| virtual double | getPz (int i) |
| virtual double | getPx0 (int i) |
| virtual double | getPy0 (int i) |
| virtual double | getX (int i) |
| virtual double | getY (int i) |
| virtual double | getZ (int i) |
| virtual double | getX0 (int i) |
| virtual double | getY0 (int i) |
| virtual void | setZ (int i, double zcoo) |
| void | get_bounds (Vector_t &rmin, Vector_t &rmax) const |
| void | getLocalBounds (Vector_t &rmin, Vector_t &rmax) const |
| std::pair< Vector_t, double > | getBoundingSphere () |
| std::pair< Vector_t, double > | getLocalBoundingSphere () |
| void | push_back (OpalParticle const &p) |
| void | setParticle (FVector< double, 6 > z, int ii) |
| void | setParticle (OpalParticle const &p, int ii) |
| OpalParticle | getParticle (int ii) |
| ConstIterator | begin () const |
| ConstIterator | end () const |
| void | maximumAmplitudes (const FMatrix< double, 6, 6 > &D, double &axmax, double &aymax) |
| Return maximum amplitudes. More... | |
| void | setdT (double dt) |
| double | getdT () const |
| void | setT (double t) |
| void | incrementT () |
| double | getT () const |
| double | get_sPos () const |
| get the spos of the primary beam More... | |
| void | set_sPos (double s) |
| double | get_gamma () const |
| double | get_meanKineticEnergy () const |
| double | get_temperature () const |
| double | get_debyeLength () const |
| double | get_plasmaParameter () const |
| double | get_rmsDensity () const |
| Vector_t | get_origin () const |
| Vector_t | get_maxExtent () const |
| Vector_t | get_centroid () const |
| Vector_t | get_rrms () const |
| Vector_t | get_rprms () const |
| Vector_t | get_rmean () const |
| Vector_t | get_prms () const |
| Vector_t | get_pmean () const |
| Vector_t | get_pmean_Distribution () const |
| Vector_t | get_emit () const |
| Vector_t | get_norm_emit () const |
| Vector_t | get_halo () const |
| Vector_t | get_68Percentile () const |
| Vector_t | get_95Percentile () const |
| Vector_t | get_99Percentile () const |
| Vector_t | get_99_99Percentile () const |
| Vector_t | get_normalizedEps_68Percentile () const |
| Vector_t | get_normalizedEps_95Percentile () const |
| Vector_t | get_normalizedEps_99Percentile () const |
| Vector_t | get_normalizedEps_99_99Percentile () const |
| virtual Vector_t | get_hr () const |
| double | get_Dx () const |
| double | get_Dy () const |
| double | get_DDx () const |
| double | get_DDy () const |
| virtual void | set_meshEnlargement (double dh) |
| void | gatherLoadBalanceStatistics () |
| size_t | getLoadBalance (int p) const |
| void | get_PBounds (Vector_t &min, Vector_t &max) const |
| void | calcBeamParameters () |
| void | calcBeamParametersInitial () |
| double | getCouplingConstant () const |
| void | setCouplingConstant (double c) |
| void | setCharge (double q) |
| void | setChargeZeroPart (double q) |
| void | setMass (double mass) |
| void | setMassZeroPart (double mass) |
| double | getCharge () const |
| get the total charge per simulation particle More... | |
| double | getChargePerParticle () const |
| get the macro particle charge More... | |
| double | getMassPerParticle () const |
| virtual void | setSolver (FieldSolver *fs) |
| bool | hasFieldSolver () |
| FieldSolverType | getFieldSolverType () const |
| Return the fieldsolver type if we have a fieldsolver. More... | |
| void | setStepsPerTurn (int n) |
| int | getStepsPerTurn () const |
| void | setGlobalTrackStep (long long n) |
| step in multiple TRACK commands More... | |
| long long | getGlobalTrackStep () const |
| void | setLocalTrackStep (long long n) |
| step in a TRACK command More... | |
| void | incTrackSteps () |
| long long | getLocalTrackStep () const |
| void | setNumBunch (short n) |
| short | getNumBunch () const |
| void | setTotalNumPerBunch (size_t numpart, short n) |
| size_t | getTotalNumPerBunch (short n) const |
| void | setLocalNumPerBunch (size_t numpart, short n) |
| size_t | getLocalNumPerBunch (short n) const |
| void | countTotalNumPerBunch () |
| void | setGlobalMeanR (Vector_t globalMeanR) |
| Vector_t | getGlobalMeanR () |
| void | setGlobalToLocalQuaternion (Quaternion_t globalToLocalQuaternion) |
| Quaternion_t | getGlobalToLocalQuaternion () |
| void | setSteptoLastInj (int n) |
| int | getSteptoLastInj () const |
| double | calcMeanPhi () |
| calculate average angle of longitudinal direction of bins More... | |
| bool | resetPartBinID2 (const double eta) |
| reset Bin[] for each particle according to the method given in paper PAST-AB(064402) by G. Fubiani et al. More... | |
| bool | resetPartBinBunch () |
| double | getdE () const |
| virtual double | getGamma (int i) |
| virtual double | getBeta (int i) |
| virtual void | actT () |
| const PartData * | getReference () const |
| double | getEmissionDeltaT () |
| DistributionType | getDistType () const |
| double | getMomentumTolerance () const |
| Quaternion_t | getQKs3D () |
| void | setQKs3D (Quaternion_t q) |
| Vector_t | getKs3DRefr () |
| void | setKs3DRefr (Vector_t r) |
| Vector_t | getKs3DRefp () |
| void | setKs3DRefp (Vector_t p) |
| void | iterateEmittedBin (int binNumber) |
| void | calcEMean () |
| virtual void | runTests () |
| size_t | getTotalNum () const |
| void | setTotalNum (size_t n) |
| void | setLocalNum (size_t n) |
| size_t | getLocalNum () const |
| size_t | getDestroyNum () const |
| size_t | getGhostNum () const |
| bool | getUpdateFlag (UpdateFlags_t f) const |
| void | setUpdateFlag (UpdateFlags_t f, bool val) |
| ParticleBConds< Position_t, Dimension > & | getBConds () |
| void | setBConds (const ParticleBConds< Position_t, Dimension > &bc) |
| bool | singleInitNode () const |
| void | resetID () |
| void | update () |
| void | update (const ParticleAttrib< char > &canSwap) |
| void | createWithID (unsigned id) |
| void | create (size_t M) |
| void | globalCreate (size_t np) |
| void | destroy (size_t M, size_t I, bool doNow=false) |
| void | performDestroy (bool updateLocalNum=false) |
| void | ghostDestroy (size_t M, size_t I) |
| FMatrix< double, 2 *Dim, 2 *Dim > | getSigmaMatrix () const |
| double | getQ () const |
| Access to reference data. More... | |
| double | getM () const |
| double | getP () const |
| double | getE () const |
| ParticleOrigin | getPOrigin () const |
| ParticleType | getPType () const |
| double | getInitialBeta () const |
| double | getInitialGamma () const |
| void | resetQ (double q) |
| Set reference data. More... | |
| void | resetM (double m) |
| void | setPOrigin (ParticleOrigin) |
| void | setPType (const std::string &type) |
Public Attributes | |
| Field_t | rho_m |
| scalar potential More... | |
| VField_t | eg_m |
| vector field on the grid More... | |
| ParticlePos_t & | R |
| ParticleIndex_t & | ID |
| ParticleAttrib< Vector_t > | P |
| ParticleAttrib< double > | Q |
| ParticleAttrib< double > | M |
| ParticleAttrib< double > | Phi |
| ParticleAttrib< Vector_t > | Ef |
| ParticleAttrib< Vector_t > | Eftmp |
| ParticleAttrib< Vector_t > | Bf |
| ParticleAttrib< int > | Bin |
| ParticleAttrib< double > | dt |
| ParticleAttrib< ParticleType > | PType |
| ParticleAttrib< ParticleOrigin > | POrigin |
| 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 |
| PartBins * | pbin_m |
| IpplTimings::TimerRef | distrReload_m |
| timer for IC, can not be in Distribution.h More... | |
| IpplTimings::TimerRef | distrCreate_m |
| double | dtScInit_m |
| double | deltaTau_m |
Static Public Attributes | |
| static const unsigned | Dimension |
Protected Member Functions | |
| size_t | calcMoments () |
| void | calcMomentsInitial () |
| double | calculateAngle (double x, double y) |
| angle range [0~2PI) degree More... | |
Protected Attributes | |
| IpplTimings::TimerRef | boundpTimer_m |
| IpplTimings::TimerRef | boundpBoundsTimer_m |
| IpplTimings::TimerRef | boundpUpdateTimer_m |
| IpplTimings::TimerRef | statParamTimer_m |
| IpplTimings::TimerRef | histoTimer_m |
| IpplTimings::TimerRef | selfFieldTimer_m |
| timer for selfField calculation More... | |
| const PartData * | reference |
| UnitState_t | unit_state_ |
| UnitState_t | stateOfLastBoundP_ |
| double | centroid_m [2 *Dim] |
| holds the centroid of the beam More... | |
| double | dt_m |
| holds the timestep in seconds More... | |
| double | t_m |
| holds the actual time of the integration More... | |
| double | spos_m |
| the position along design trajectory More... | |
| Vector_t | globalMeanR_m |
| Initialize the translation vector and rotation quaternion here. More... | |
| Quaternion_t | globalToLocalQuaternion_m |
| Vector_t | rmax_m |
| maximal extend of particles More... | |
| Vector_t | rmin_m |
| minimal extend of particles More... | |
| double | rmsDensity_m |
| Vector_t | hr_m |
| meshspacing of cartesian mesh More... | |
| Vektor< int, 3 > | nr_m |
| meshsize of cartesian mesh More... | |
| FieldSolver * | fs_m |
| stores the used field solver More... | |
| double | couplingConstant_m |
| double | qi_m |
| double | massPerParticle_m |
| int | distDump_m |
| counter to store the distribution dump More... | |
| double | dh_m |
| Mesh enlargement. More... | |
| double | tEmission_m |
| relative enlargement of the mesh More... | |
| std::unique_ptr< double[]> | bingamma_m |
| holds the gamma of the bin More... | |
| std::unique_ptr< size_t[]> | binemitted_m |
| int | stepsPerTurn_m |
| steps per turn for OPAL-cycl More... | |
| long long | localTrackStep_m |
| step in a TRACK command More... | |
| long long | globalTrackStep_m |
| if multiple TRACK commands More... | |
| short | numBunch_m |
| current bunch number More... | |
| std::vector< size_t > | bunchTotalNum_m |
| number of particles per bunch More... | |
| std::vector< size_t > | bunchLocalNum_m |
| int | SteptoLastInj_m |
| this parameter records the current steps since last bunch injection it helps to inject new bunches correctly in the restart run of OPAL-cycl it is stored during phase space dump. More... | |
| std::unique_ptr< size_t[]> | globalPartPerNode_m |
| Distribution * | dist_m |
| DistributionMoments | momentsComputer_m |
| bool | dcBeam_m |
| double | periodLength_m |
| std::shared_ptr< AbstractParticle< double, Dim > > | pbase_m |
Private Member Functions | |
| void | updateDomainLength (Vektor< int, 3 > &grid) |
| void | updateFields (const Vector_t &hr, const Vector_t &origin) |
| void | resizeMesh () |
| resize mesh to geometry specified More... | |
| ParticleLayout< double, 3 > & | getLayout () |
| const ParticleLayout< double, 3 > & | getLayout () const |
| void | setup (AbstractParticle< double, Dim > *pb) |
Private Attributes | |
| BConds< double, 3, Mesh_t, Center_t > | bc_m |
| for defining the boundary conditions More... | |
| BConds< Vector_t, 3, Mesh_t, Center_t > | vbc_m |
| bool | interpolationCacheSet_m |
| ParticleAttrib< CacheDataCIC< double, 3U > > | interpolationCache_m |
| std::unique_ptr< Inform > | pmsg_m |
| std::unique_ptr< std::ofstream > | f_stream |
| bool | fixed_grid |
| if the grid does not have to adapt More... | |
Definition at line 24 of file PartBunch.h.
|
inherited |
Definition at line 53 of file PartBunchBase.h.
|
inherited |
Definition at line 52 of file PartBunchBase.h.
| typedef IpplParticleBase<Layout_t> PartBunch::pbase_t |
Definition at line 27 of file PartBunch.h.
|
inherited |
Definition at line 55 of file PartBunchBase.h.
|
inherited |
Definition at line 54 of file PartBunchBase.h.
|
inherited |
Definition at line 57 of file PartBunchBase.h.
| anonymous enum |
| Enumerator | |
|---|---|
| Dim | |
Definition at line 28 of file PartBunch.h.
|
inherited |
Definition at line 61 of file PartBunchBase.h.
|
explicit |
Default constructor.
Definition at line 40 of file PartBunch.cpp.
|
delete |
|
delete |
| PartBunch::~PartBunch | ( | ) |
Definition at line 48 of file PartBunch.cpp.
|
virtualinherited |
Definition at line 442 of file PartBunchBase.hpp.
|
inlineinherited |
Definition at line 279 of file PartBunchBase.h.
|
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.
|
inherited |
delete particles which are too far away from the center of beam
Definition at line 171 of file PartBunchBase.hpp.
|
inherited |
This is only temporary in order to get the collimator and pepperpot working.
Definition at line 174 of file PartBunchBase.hpp.
|
inherited |
Definition at line 351 of file PartBunchBase.hpp.
|
inherited |
|
inherited |
Compute the (global) Debye length for the beam.
Definition at line 145 of file PartBunchBase.hpp.
|
inherited |
Definition at line 461 of file PartBunchBase.hpp.
|
inherited |
Compute the gammas of all bins.
Definition at line 140 of file PartBunchBase.hpp.
|
inherited |
Definition at line 142 of file PartBunchBase.hpp.
|
inherited |
\method calcLineDensity()
calculates the 1d line density (not normalized) and append it to a file.
DETAILED TODO
Definition at line 159 of file PartBunchBase.hpp.
|
inherited |
calculate average angle of longitudinal direction of bins
Definition at line 416 of file PartBunchBase.hpp.
|
protectedinherited |
|
protectedinherited |
|
inherited |
returns the number of particles outside of a box defined by x
Definition at line 157 of file PartBunchBase.hpp.
|
protectedinherited |
angle range [0~2PI) degree
Definition at line 558 of file PartBunchBase.hpp.
|
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(), PoissonSolver::calculatePairForces(), PoissonSolver::computePotential(), 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(), FieldSolver::getFieldSolverType(), PartBunchBase< double, 3 >::getTotalNum(), gmsg, Grad(), FieldSolver::hasValidSolver(), 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, ParticleAttrib< T >::scatter(), PartBunchBase< double, 3 >::selfFieldTimer_m, FieldSolver::solver_m, sqrt(), IpplTimings::startTimer(), IpplTimings::stopTimer(), and sum().

|
virtual |
/brief used for self fields with binned distribution
Set initial charge density to zero. Create image charge potential field.
Set initial E field to zero.
Mesh the whole domain
Scatter charge onto space charge grid.
Calculate mesh-scale factor and get gamma for this specific slice (bin).
Scale charge density to get charge density in real units. Account for Lorentz transformation in longitudinal direction.
Scale mesh spacing to real units (meters). Lorentz transform the longitudinal direction.
Find potential from charge in this bin (no image yet) using Poisson's equation (without coefficient: -1/(eps)).
Scale mesh back (to same units as particle locations.)
The scalar potential is given back in rho_m and must be converted to the right units.
IPPL Grad numerical computes gradient to find the electric field (in bin rest frame).
Scale field. Combine Lorentz transform with conversion to proper field units.
Interpolate electric field at particle positions. We reuse the cached information about where the particles are relative to the field, since the particles have not moved since this the most recent scatter operation.
Magnetic field in x and y direction induced by the electric field.
\[ B_x = \gamma(B_x^{'} - \frac{beta}{c}E_y^{'}) = -\gamma \frac{beta}{c}E_y^{'} = -\frac{beta}{c}E_y \]
\[ B_y = \gamma(B_y^{'} - \frac{beta}{c}E_x^{'}) = +\gamma \frac{beta}{c}E_x^{'} = +\frac{beta}{c}E_x \]
\[ B_z = B_z^{'} = 0 \]
Now compute field due to image charge. This is done separately as the image charge is moving to -infinity (instead of +infinity) so the Lorentz transform is different.
Find z shift for shifted Green's function.
Find potential from image charge in this bin using Poisson's equation (without coefficient: -1/(eps)).
Scale mesh back (to same units as particle locations.)
The scalar potential is given back in rho_m and must be converted to the right units.
IPPL Grad numerical computes gradient to find the electric field (in rest frame of this bin's image charge).
Scale field. Combine Lorentz transform with conversion to proper field units.
Interpolate electric field at particle positions. We reuse the cached information about where the particles are relative to the field, since the particles have not moved since this the most recent scatter operation.
Magnetic field in x and y direction induced by the image charge electric field. Note that beta will have the opposite sign from the bunch charge field, as the image charge is moving in the opposite direction.
\[ B_x = \gamma(B_x^{'} - \frac{beta}{c}E_y^{'}) = -\gamma \frac{beta}{c}E_y^{'} = -\frac{beta}{c}E_y \]
\[ B_y = \gamma(B_y^{'} - \frac{beta}{c}E_x^{'}) = +\gamma \frac{beta}{c}E_x^{'} = +\frac{beta}{c}E_x \]
\[ B_z = B_z^{'} = 0 \]
Implements PartBunchBase< double, 3 >.
Definition at line 76 of file PartBunch.cpp.
References PartBunchBase< double, 3 >::Bf, Physics::c, PoissonSolver::computePotential(), ParticleAttrib< T >::create(), ParticleAttrib< T >::destroy(), PartBunchBase< double, 3 >::dt, FieldWriter::dumpField(), PartBunchBase< double, 3 >::Ef, PartBunchBase< double, 3 >::Eftmp, eg_m, endl(), PartBunchBase< double, 3 >::fs_m, Field< T, Dim, M, C >::get_mesh(), PartBunchBase< double, 3 >::getBinGamma(), PartBunchBase< double, 3 >::getCouplingConstant(), FieldLayout< Dim >::getDomain(), PartBunchBase< double, 3 >::getdT(), getFieldLayout(), FieldSolver::getFieldSolverType(), PartBunchBase< double, 3 >::getLocalNum(), gmsg, Grad(), FieldSolver::hasValidSolver(), PartBunchBase< double, 3 >::hr_m, interpolationCache_m, interpolationCacheSet_m, PartBunchBase< double, 3 >::localTrackStep_m, PartBunchBase< double, 3 >::nr_m, P3M, PartBunchBase< double, 3 >::Q, PartBunchBase< double, 3 >::R, resizeMesh(), rho_m, ParticleAttrib< T >::scatter(), PartBunchBase< double, 3 >::selfFieldTimer_m, ParticleAttrib< T >::size(), FieldSolver::solver_m, sqrt(), IpplTimings::startTimer(), and IpplTimings::stopTimer().

|
virtual |
\method computeSelfFields_cycl()
Calculates the self electric field from the charge density distribution for use in cyclotrons
Comments -DW: I have made some changes in here: -) Some refacturing to make more similar to computeSelfFields() -) Added meanR and quaternion to be handed to the function so that SAAMG solver knows how to rotate the boundary geometry correctly. -) Fixed an error where gamma was not taken into account correctly in direction of movement (y in cyclotron) -) Comment: There is no account for image charges in the cyclotron tracker (yet?)!
set initial charge density to zero.
set initial E field to zero
mesh the whole domain
scatter particles charge onto grid.
Lorentz transformation In particle rest frame, the longitudinal length (y for cyclotron) enlarged
from charge (C) to charge density (C/m^3).
now charge density is in rho_m calculate Possion equation (without coefficient: -1/(eps))
retrive coefficient: -1/(eps)
calculate electric field vectors from field potential
Back Lorentz transformation CAVE: y coordinate needs 1/gamma factor because IPPL function Grad() divides by hr_m which is not scaled appropriately with Lorentz contraction in y direction only hr_scaled is! -DW
interpolate electric field at particle positions.
calculate coefficient
calculate B field from E field
Implements PartBunchBase< double, 3 >.
Definition at line 481 of file PartBunch.cpp.
References PartBunchBase< double, 3 >::Bf, Physics::c, PartBunchBase< double, 3 >::calcDebyeLength(), PoissonSolver::computePotential(), FieldWriter::dumpField(), PartBunchBase< double, 3 >::Ef, eg_m, endl(), FFT, FFTBOX, PartBunchBase< double, 3 >::fs_m, PartBunchBase< double, 3 >::getCouplingConstant(), FieldSolver::getFieldSolverType(), gmsg, Grad(), FieldSolver::hasValidSolver(), PartBunchBase< double, 3 >::hr_m, PartBunchBase< double, 3 >::localTrackStep_m, PartBunchBase< double, 3 >::nr_m, P3M, PartBunchBase< double, 3 >::Q, Physics::q_e, PartBunchBase< double, 3 >::R, resizeMesh(), rho_m, PartBunchBase< double, 3 >::rmsDensity_m, ParticleAttrib< T >::scatter(), PartBunchBase< double, 3 >::selfFieldTimer_m, FieldSolver::solver_m, sqrt(), IpplTimings::startTimer(), IpplTimings::stopTimer(), and sum().

|
virtual |
\method computeSelfFields_cycl()
Calculates the self electric field from the charge density distribution for use in cyclotrons
Overloaded version for having multiple bins with separate gamma for each bin. This is necessary For multi-bunch mode.
Comments -DW: I have made some changes in here: -) Some refacturing to make more similar to computeSelfFields() -) Added meanR and quaternion to be handed to the function (TODO: fall back to meanR = 0 and unit quaternion if not specified) so that SAAMG solver knows how to rotate the boundary geometry correctly. -) Fixed an error where gamma was not taken into account correctly in direction of movement (y in cyclotron) -) Comment: There is no account for image charges in the cyclotron tracker (yet?)!
set initial charge dentsity to zero.
set initial E field to zero
get gamma of this bin
mesh the whole domain
scatter particles charge onto grid.
Lorentz transformation In particle rest frame, the longitudinal length (y for cyclotron) enlarged
from charge (C) to charge density (C/m^3).
now charge density is in rho_m calculate Possion equation (without coefficient: -1/(eps))
retrive coefficient: -1/(eps)
calculate electric field vectors from field potential
Back Lorentz transformation CAVE: y coordinate needs 1/gamma factor because IPPL function Grad() divides by hr_m which is not scaled appropriately with Lorentz contraction in y direction only hr_scaled is! -DW
Interpolate electric field at particle positions.
Calculate coefficient
Calculate B_bin field from E_bin field accumulate B and E field
Implements PartBunchBase< double, 3 >.
Definition at line 621 of file PartBunch.cpp.
References PartBunchBase< double, 3 >::Bf, Physics::c, PoissonSolver::computePotential(), FieldWriter::dumpField(), PartBunchBase< double, 3 >::Ef, PartBunchBase< double, 3 >::Eftmp, eg_m, endl(), FFT, FFTBOX, PartBunchBase< double, 3 >::fs_m, PartBunchBase< double, 3 >::getBinGamma(), PartBunchBase< double, 3 >::getCouplingConstant(), FieldSolver::getFieldSolverType(), gmsg, Grad(), FieldSolver::hasValidSolver(), PartBunchBase< double, 3 >::hr_m, PartBunchBase< double, 3 >::localTrackStep_m, PartBunchBase< double, 3 >::nr_m, P3M, PartBunchBase< double, 3 >::Q, PartBunchBase< double, 3 >::R, resizeMesh(), rho_m, ParticleAttrib< T >::scatter(), PartBunchBase< double, 3 >::selfFieldTimer_m, FieldSolver::solver_m, sqrt(), IpplTimings::startTimer(), and IpplTimings::stopTimer().

|
inherited |
Definition at line 405 of file PartBunchBase.hpp.
|
inherited |
Definition at line 543 of file PartBunchBase.hpp.
|
inherited |
Definition at line 542 of file PartBunchBase.hpp.
|
inherited |
Definition at line 546 of file PartBunchBase.hpp.
|
inherited |
Definition at line 176 of file PartBunchBase.hpp.
|
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().

|
inherited |
Definition at line 117 of file PartBunchBase.hpp.
|
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.
|
inlineinherited |
Definition at line 283 of file PartBunchBase.h.
|
inherited |
Definition at line 346 of file PartBunchBase.hpp.
|
inherited |
Definition at line 329 of file PartBunchBase.hpp.
|
inherited |
Definition at line 330 of file PartBunchBase.hpp.
|
inherited |
Definition at line 332 of file PartBunchBase.hpp.
|
inherited |
Definition at line 331 of file PartBunchBase.hpp.
|
inherited |
Definition at line 197 of file PartBunchBase.hpp.
|
inherited |
Definition at line 319 of file PartBunchBase.hpp.
|
inherited |
Definition at line 341 of file PartBunchBase.hpp.
|
inherited |
Definition at line 342 of file PartBunchBase.hpp.
|
inherited |
Definition at line 314 of file PartBunchBase.hpp.
|
inherited |
Definition at line 339 of file PartBunchBase.hpp.
|
inherited |
Definition at line 340 of file PartBunchBase.hpp.
|
inherited |
Definition at line 326 of file PartBunchBase.hpp.
|
inherited |
Definition at line 311 of file PartBunchBase.hpp.
|
inherited |
Definition at line 328 of file PartBunchBase.hpp.
|
virtualinherited |
Reimplemented in AmrPartBunch.
Definition at line 337 of file PartBunchBase.hpp.
|
inherited |
Definition at line 318 of file PartBunchBase.hpp.
|
inherited |
Definition at line 312 of file PartBunchBase.hpp.
|
inherited |
Definition at line 327 of file PartBunchBase.hpp.
|
inherited |
Definition at line 333 of file PartBunchBase.hpp.
|
inherited |
Definition at line 334 of file PartBunchBase.hpp.
|
inherited |
Definition at line 336 of file PartBunchBase.hpp.
|
inherited |
Definition at line 335 of file PartBunchBase.hpp.
|
inherited |
Definition at line 317 of file PartBunchBase.hpp.
|
inherited |
Definition at line 349 of file PartBunchBase.hpp.
|
inherited |
Definition at line 315 of file PartBunchBase.hpp.
|
inherited |
Definition at line 324 of file PartBunchBase.hpp.
|
inherited |
Definition at line 325 of file PartBunchBase.hpp.
|
inherited |
Definition at line 323 of file PartBunchBase.hpp.
|
inherited |
Definition at line 322 of file PartBunchBase.hpp.
|
inherited |
Definition at line 316 of file PartBunchBase.hpp.
|
inherited |
Definition at line 321 of file PartBunchBase.hpp.
|
inherited |
Definition at line 320 of file PartBunchBase.hpp.
|
inherited |
|
inherited |
Definition at line 313 of file PartBunchBase.hpp.
|
inlineinherited |
Definition at line 527 of file PartBunchBase.h.
|
virtualinherited |
Definition at line 441 of file PartBunchBase.hpp.
|
inherited |
Get gamma of one bin.
Definition at line 148 of file PartBunchBase.hpp.
|
inherited |
Definition at line 201 of file PartBunchBase.hpp.
|
inherited |
get the total charge per simulation particle
Definition at line 367 of file PartBunchBase.hpp.
|
inherited |
get the macro particle charge
Definition at line 370 of file PartBunchBase.hpp.
|
inherited |
Definition at line 354 of file PartBunchBase.hpp.
|
inherited |
Definition at line 439 of file PartBunchBase.hpp.
|
inherited |
Definition at line 517 of file PartBunchBase.hpp.
|
inherited |
Definition at line 448 of file PartBunchBase.hpp.
|
inherited |
Definition at line 295 of file PartBunchBase.hpp.
|
inherited |
Definition at line 427 of file PartBunchBase.hpp.
|
inlinevirtual |
Implements PartBunchBase< double, 3 >.
Definition at line 838 of file PartBunch.cpp.
References eg_m, max(), and min().

|
inherited |
Definition at line 446 of file PartBunchBase.hpp.
|
virtual |
Implements PartBunchBase< double, 3 >.
Definition at line 760 of file PartBunch.cpp.
References ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getLayout(), and getLayout().
Referenced by computeSelfFields(), resizeMesh(), updateDomainLength(), and updateFields().

|
inherited |
Return the fieldsolver type if we have a fieldsolver.
Definition at line 378 of file PartBunchBase.hpp.
|
virtualinherited |
Definition at line 440 of file PartBunchBase.hpp.
|
inherited |
Definition at line 518 of file PartBunchBase.hpp.
|
inherited |
Definition at line 408 of file PartBunchBase.hpp.
|
inherited |
Definition at line 410 of file PartBunchBase.hpp.
|
inherited |
Definition at line 385 of file PartBunchBase.hpp.
|
inherited |
Definition at line 77 of file PartBunchBase.hpp.
|
inherited |
Definition at line 430 of file PartBunchBase.hpp.
|
inherited |
Definition at line 431 of file PartBunchBase.hpp.
|
inherited |
|
inherited |
|
inherited |
Definition at line 135 of file PartBunchBase.hpp.
|
inherited |
Definition at line 79 of file PartBunchBase.hpp.
|
inlineprivate |
Definition at line 120 of file PartBunch.h.
References PartBunchBase< double, 3 >::pbase_m.
Referenced by getFieldLayout(), getMesh(), and initialize().
|
inlineprivate |
Definition at line 125 of file PartBunch.h.
References PartBunchBase< double, 3 >::pbase_m.
|
inherited |
Definition at line 347 of file PartBunchBase.hpp.
|
inherited |
Definition at line 203 of file PartBunchBase.hpp.
|
inherited |
Definition at line 199 of file PartBunchBase.hpp.
|
inherited |
Definition at line 515 of file PartBunchBase.hpp.
|
inherited |
Definition at line 400 of file PartBunchBase.hpp.
|
inherited |
Definition at line 390 of file PartBunchBase.hpp.
|
inherited |
Definition at line 425 of file PartBunchBase.hpp.
|
inherited |
Definition at line 372 of file PartBunchBase.hpp.
|
inline |
Definition at line 144 of file PartBunch.h.
References ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getLayout(), and getLayout().

|
inline |
Definition at line 138 of file PartBunch.h.
References ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getLayout(), and getLayout().
Referenced by resizeMesh(), and updateFields().

|
inherited |
Definition at line 450 of file PartBunchBase.hpp.
|
inherited |
Definition at line 81 of file PartBunchBase.hpp.
|
inherited |
Definition at line 83 of file PartBunchBase.hpp.
|
inherited |
Definition at line 393 of file PartBunchBase.hpp.
|
inherited |
Definition at line 426 of file PartBunchBase.hpp.
|
inherited |
Definition at line 215 of file PartBunchBase.hpp.
|
inherited |
Definition at line 428 of file PartBunchBase.hpp.
|
inherited |
Definition at line 429 of file PartBunchBase.hpp.
|
virtualinherited |
Definition at line 181 of file PartBunchBase.hpp.
|
virtualinherited |
Definition at line 185 of file PartBunchBase.hpp.
|
virtualinherited |
Definition at line 182 of file PartBunchBase.hpp.
|
virtualinherited |
Definition at line 186 of file PartBunchBase.hpp.
|
virtualinherited |
Definition at line 183 of file PartBunchBase.hpp.
|
inherited |
Access to reference data.
Definition at line 424 of file PartBunchBase.hpp.
|
inherited |
|
inherited |
Definition at line 444 of file PartBunchBase.hpp.
|
inlinevirtual |
Implements PartBunchBase< double, 3 >.
Definition at line 133 of file PartBunch.h.
References rho_m.
|
inherited |
Definition at line 611 of file PartBunchBase.hpp.
|
inherited |
Definition at line 381 of file PartBunchBase.hpp.
|
inherited |
Definition at line 413 of file PartBunchBase.hpp.
|
inherited |
Definition at line 299 of file PartBunchBase.hpp.
|
inherited |
Definition at line 115 of file PartBunchBase.hpp.
|
inherited |
Definition at line 512 of file PartBunchBase.hpp.
|
inherited |
Definition at line 397 of file PartBunchBase.hpp.
|
inherited |
Definition at line 523 of file PartBunchBase.hpp.
|
virtualinherited |
Definition at line 188 of file PartBunchBase.hpp.
|
virtualinherited |
Definition at line 192 of file PartBunchBase.hpp.
|
virtualinherited |
Definition at line 189 of file PartBunchBase.hpp.
|
virtualinherited |
Definition at line 193 of file PartBunchBase.hpp.
|
virtualinherited |
Definition at line 190 of file PartBunchBase.hpp.
|
inherited |
Definition at line 548 of file PartBunchBase.hpp.
|
inherited |
Definition at line 544 of file PartBunchBase.hpp.
|
inherited |
Definition at line 106 of file PartBunchBase.hpp.
|
inherited |
Definition at line 376 of file PartBunchBase.hpp.
|
inherited |
Definition at line 298 of file PartBunchBase.hpp.
|
inherited |
Definition at line 389 of file PartBunchBase.hpp.
|
virtual |
Implements PartBunchBase< double, 3 >.
Definition at line 57 of file PartBunch.cpp.
References ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::getLayout(), and getLayout().

|
inherited |
Definition at line 104 of file PartBunchBase.hpp.
|
inherited |
Definition at line 459 of file PartBunchBase.hpp.
|
inherited |
Return maximum amplitudes.
Definition at line 291 of file PartBunchBase.hpp.
|
inherited |
Definition at line 547 of file PartBunchBase.hpp.
Definition at line 865 of file PartBunch.cpp.
References PartBunchBase< T, Dim >::print().
Referenced by operator<<().

|
inherited |
Definition at line 209 of file PartBunchBase.hpp.
|
inherited |
Definition at line 85 of file PartBunchBase.hpp.
|
inherited |
Definition at line 133 of file PartBunchBase.hpp.
|
inherited |
Definition at line 537 of file PartBunchBase.hpp.
|
inlinevirtual |
Reimplemented from PartBunchBase< double, 3 >.
Definition at line 848 of file PartBunch.cpp.
References ParticleAttrib< T >::destroy(), interpolationCache_m, interpolationCacheSet_m, and ParticleAttrib< T >::size().

|
inherited |
Definition at line 435 of file PartBunchBase.hpp.
|
inherited |
Definition at line 421 of file PartBunchBase.hpp.
|
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.
|
inherited |
Set reference data.
Definition at line 434 of file PartBunchBase.hpp.
|
privatevirtual |
resize mesh to geometry specified
Reimplemented from PartBunchBase< double, 3 >.
Definition at line 297 of file PartBunch.cpp.
References bc_m, PartBunchBase< double, 3 >::boundp(), PartBunchBase< double, 3 >::destroy(), PartBunchBase< double, 3 >::dh_m, eg_m, endl(), PartBunchBase< double, 3 >::fs_m, PartBunchBase< double, 3 >::get_bounds(), getFieldLayout(), FieldSolver::getFieldSolverType(), PartBunchBase< double, 3 >::getLocalNum(), getMesh(), PoissonSolver::getXRangeMax(), PoissonSolver::getXRangeMin(), PoissonSolver::getYRangeMax(), PoissonSolver::getYRangeMin(), PartBunchBase< double, 3 >::hr_m, PartBunchBase< double, 3 >::ID, INFOMSG, Field< T, Dim, M, C >::initialize(), level2(), Hypervolume::n, PartBunchBase< double, 3 >::R, PoissonSolver::resizeMesh(), rho_m, PartBunchBase< double, 3 >::rmax_m, PartBunchBase< double, 3 >::rmin_m, SAAMG, UniformCartesian< Dim, MFLOAT >::set_meshSpacing(), UniformCartesian< Dim, MFLOAT >::set_origin(), FieldSolver::solver_m, PartBunchBase< double, 3 >::update(), and vbc_m.
Referenced by computeSelfFields(), and computeSelfFields_cycl().

|
virtualinherited |
Definition at line 469 of file PartBunchBase.hpp.
|
virtualinherited |
Reimplemented in AmrPartBunch.
Definition at line 344 of file PartBunchBase.hpp.
|
inherited |
Definition at line 309 of file PartBunchBase.hpp.
|
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.

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

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

|
inlineinherited |
Definition at line 531 of file PartBunchBase.h.
|
inherited |
Definition at line 162 of file PartBunchBase.hpp.
|
virtualinherited |
Set the charge of all other the ones in bin to zero.
Reimplemented in AmrPartBunch.
Definition at line 154 of file PartBunchBase.hpp.
|
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.
|
inherited |
Definition at line 358 of file PartBunchBase.hpp.
|
inherited |
Definition at line 360 of file PartBunchBase.hpp.
|
inherited |
Definition at line 355 of file PartBunchBase.hpp.
|
inherited |
Definition at line 100 of file PartBunchBase.hpp.
|
inherited |
Definition at line 97 of file PartBunchBase.hpp.
|
inherited |
Definition at line 294 of file PartBunchBase.hpp.
|
inherited |
Definition at line 87 of file PartBunchBase.hpp.
|
inherited |
Definition at line 407 of file PartBunchBase.hpp.
|
inherited |
Definition at line 409 of file PartBunchBase.hpp.
|
inherited |
step in multiple TRACK commands
Definition at line 384 of file PartBunchBase.hpp.
|
inherited |
|
inherited |
|
inherited |
Definition at line 137 of file PartBunchBase.hpp.
|
inherited |
Definition at line 514 of file PartBunchBase.hpp.
|
inherited |
Definition at line 399 of file PartBunchBase.hpp.
|
inherited |
step in a TRACK command
Definition at line 388 of file PartBunchBase.hpp.
|
inherited |
Definition at line 363 of file PartBunchBase.hpp.
|
inherited |
Definition at line 364 of file PartBunchBase.hpp.
|
inherited |
Definition at line 392 of file PartBunchBase.hpp.
|
inherited |
Definition at line 211 of file PartBunchBase.hpp.
|
inherited |
Definition at line 213 of file PartBunchBase.hpp.
|
inherited |
Definition at line 121 of file PartBunchBase.hpp.
|
inherited |
Definition at line 123 of file PartBunchBase.hpp.
|
inherited |
Definition at line 436 of file PartBunchBase.hpp.
|
inherited |
Definition at line 437 of file PartBunchBase.hpp.
|
inherited |
|
virtualinherited |
CAN not re-inizialize ParticleLayout this is an IPPL issue
Reimplemented in AmrPartBunch.
Definition at line 374 of file PartBunchBase.hpp.
|
inherited |
Definition at line 380 of file PartBunchBase.hpp.
|
inherited |
Definition at line 412 of file PartBunchBase.hpp.
|
inherited |
Definition at line 297 of file PartBunchBase.hpp.
|
inherited |
Definition at line 113 of file PartBunchBase.hpp.
|
inherited |
Definition at line 513 of file PartBunchBase.hpp.
|
inherited |
Definition at line 396 of file PartBunchBase.hpp.
|
privateinherited |
Definition at line 566 of file PartBunchBase.hpp.
|
inherited |
Definition at line 524 of file PartBunchBase.hpp.
|
virtualinherited |
Definition at line 195 of file PartBunchBase.hpp.
|
inherited |
Definition at line 535 of file PartBunchBase.hpp.
|
virtual |
Reimplemented from PartBunchBase< double, 3 >.
Definition at line 855 of file PartBunch.cpp.
References interpolationCache_m, interpolationCacheSet_m, and PartBunchBase< T, Dim >::swap().

|
inherited |
Definition at line 95 of file PartBunchBase.hpp.
|
inherited |
Definition at line 92 of file PartBunchBase.hpp.
|
inherited |
Definition at line 539 of file PartBunchBase.hpp.
|
inherited |
Definition at line 540 of file PartBunchBase.hpp.
|
privatevirtual |
Implements PartBunchBase< double, 3 >.
Definition at line 817 of file PartBunch.cpp.
References PartBunchBase< double, 3 >::Dimension, FieldLayout< Dim >::getDomain(), and getFieldLayout().

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, Field< T, Dim, M, C >::initialize(), rho_m, UniformCartesian< Dim, MFLOAT >::set_meshSpacing(), UniformCartesian< Dim, MFLOAT >::set_origin(), and vbc_m.

|
inherited |
Definition at line 131 of file PartBunchBase.hpp.
|
inherited |
Definition at line 119 of file PartBunchBase.hpp.
|
inherited |
Definition at line 89 of file PartBunchBase.hpp.
for defining the boundary conditions
Definition at line 111 of file PartBunch.h.
Referenced by resizeMesh(), setBCAllOpen(), setBCAllPeriodic(), setBCForDCBeam(), and updateFields().
|
inherited |
Definition at line 583 of file PartBunchBase.h.
|
inherited |
Definition at line 584 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 694 of file PartBunchBase.h.
|
protectedinherited |
holds the gamma of the bin
Definition at line 689 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 622 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 621 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 623 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 710 of file PartBunchBase.h.
|
inherited |
Definition at line 590 of file PartBunchBase.h.
|
protectedinherited |
number of particles per bunch
Definition at line 709 of file PartBunchBase.h.
|
inherited |
Definition at line 589 of file PartBunchBase.h.
|
protectedinherited |
holds the centroid of the beam
Definition at line 641 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 674 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 727 of file PartBunchBase.h.
|
inherited |
Definition at line 608 of file PartBunchBase.h.
|
protectedinherited |
Mesh enlargement.
Definition at line 683 of file PartBunchBase.h.
|
staticinherited |
Definition at line 59 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 723 of file PartBunchBase.h.
|
protectedinherited |
counter to store the distribution dump
Definition at line 680 of file PartBunchBase.h.
|
inherited |
Definition at line 605 of file PartBunchBase.h.
|
inherited |
timer for IC, can not be in Distribution.h
Definition at line 604 of file PartBunchBase.h.
|
inherited |
Definition at line 585 of file PartBunchBase.h.
|
protectedinherited |
holds the timestep in seconds
Definition at line 644 of file PartBunchBase.h.
|
inherited |
Definition at line 608 of file PartBunchBase.h.
|
inherited |
Definition at line 580 of file PartBunchBase.h.
|
inherited |
Definition at line 581 of file PartBunchBase.h.
| VField_t PartBunch::eg_m |
vector field on the grid
Definition at line 97 of file PartBunch.h.
Referenced by computeSelfFields(), computeSelfFields_cycl(), getEExtrema(), resizeMesh(), and updateFields().
|
privateinherited |
Definition at line 616 of file PartBunchBase.h.
|
privateinherited |
if the grid does not have to adapt
Definition at line 618 of file PartBunchBase.h.
|
protectedinherited |
stores the used field solver
Definition at line 672 of file PartBunchBase.h.
|
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.
|
protectedinherited |
Definition at line 721 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 656 of file PartBunchBase.h.
|
protectedinherited |
if multiple TRACK commands
Definition at line 703 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 626 of file PartBunchBase.h.
|
protectedinherited |
meshspacing of cartesian mesh
Definition at line 667 of file PartBunchBase.h.
|
inherited |
Definition at line 573 of file PartBunchBase.h.
|
private |
Definition at line 117 of file PartBunch.h.
Referenced by computeSelfFields(), resetInterpolationCache(), and swap().
|
private |
Definition at line 115 of file PartBunch.h.
Referenced by computeSelfFields(), resetInterpolationCache(), and swap().
|
protectedinherited |
step in a TRACK command
Definition at line 700 of file PartBunchBase.h.
|
inherited |
Definition at line 578 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 677 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 724 of file PartBunchBase.h.
|
protectedinherited |
meshsize of cartesian mesh
Definition at line 669 of file PartBunchBase.h.
|
protectedinherited |
current bunch number
Definition at line 706 of file PartBunchBase.h.
|
inherited |
Definition at line 576 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 729 of file PartBunchBase.h.
|
inherited |
Definition at line 601 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 728 of file PartBunchBase.h.
|
inherited |
Definition at line 579 of file PartBunchBase.h.
|
privateinherited |
Definition at line 615 of file PartBunchBase.h.
|
inherited |
Definition at line 587 of file PartBunchBase.h.
|
inherited |
Definition at line 586 of file PartBunchBase.h.
|
inherited |
Definition at line 577 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 676 of file PartBunchBase.h.
|
inherited |
Definition at line 572 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 630 of file PartBunchBase.h.
|
inherited |
Definition at line 593 of file PartBunchBase.h.
|
inherited |
Definition at line 592 of file PartBunchBase.h.
|
inherited |
Definition at line 597 of file PartBunchBase.h.
|
inherited |
Definition at line 598 of file PartBunchBase.h.
| Field_t PartBunch::rho_m |
scalar potential
Definition at line 94 of file PartBunch.h.
Referenced by computeSelfFields(), computeSelfFields_cycl(), getRho(), resizeMesh(), and updateFields().
|
protectedinherited |
maximal extend of particles
Definition at line 659 of file PartBunchBase.h.
|
protectedinherited |
minimal extend of particles
Definition at line 661 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 664 of file PartBunchBase.h.
|
protectedinherited |
timer for selfField calculation
Definition at line 628 of file PartBunchBase.h.
|
protectedinherited |
the position along design trajectory
Definition at line 648 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 638 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 624 of file PartBunchBase.h.
|
protectedinherited |
steps per turn for OPAL-cycl
Definition at line 697 of file PartBunchBase.h.
|
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.
|
protectedinherited |
holds the actual time of the integration
Definition at line 646 of file PartBunchBase.h.
|
protectedinherited |
relative enlargement of the mesh
if larger than 0, emitt particles for tEmission_m [s]
Definition at line 686 of file PartBunchBase.h.
|
inherited |
Definition at line 595 of file PartBunchBase.h.
|
inherited |
Definition at line 588 of file PartBunchBase.h.
|
protectedinherited |
Definition at line 637 of file PartBunchBase.h.
Definition at line 112 of file PartBunch.h.
Referenced by resizeMesh(), setBCAllOpen(), setBCAllPeriodic(), setBCForDCBeam(), and updateFields().