|
OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
#include <AmrPartBunch.h>


Public Types | |
| typedef AmrParticle_t | pbase_t |
Public Types inherited from PartBunchBase< double, 3 > | |
| 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 | |
| AmrPartBunch (const PartData *ref) | |
| AmrPartBunch (const PartData *ref, pbase_t *pbase_p) | |
| ~AmrPartBunch () | |
| pbase_t * | getAmrParticleBase () |
| const pbase_t * | getAmrParticleBase () const |
| void | initialize (FieldLayout_t *fLayout) |
| void | do_binaryRepart () |
| Vector_t | get_hr () const |
| void | set_meshEnlargement (double dh) |
| VectorPair_t | getEExtrema () |
| calculates back the max/min of the efield on the grid More... | |
| double | getRho (int x, int y, int z) |
| FieldLayout_t & | getFieldLayout () |
| 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 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... | |
| const AmrObject * | getAmrObject () const |
| PoissonSolver * | getFieldSolver () |
| const PoissonSolver * | getFieldSolver () 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 () |
Public Member Functions inherited from PartBunchBase< double, 3 > | |
| PartBunchBase (AbstractParticle< double, Dim > *pb) | |
| PartBunchBase (AbstractParticle< double, Dim > *pb, const PartData *ref) | |
| PartBunchBase (const PartBunchBase &rhs)=delete | |
| virtual | ~PartBunchBase () |
| 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 () |
| bool | hasBinning () |
| 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. copy the particles from the bin structure into the particle container. More... | |
| void | updateNumTotal () |
| void | rebin () |
| int | getNumBins () |
| int | getLastemittedBin () |
| void | setLocalBinCount (size_t num, int bin) |
| void | calcGammas () |
| Compute the gammas of all bins. More... | |
| void | calcGammas_cycl () |
| double | getBinGamma (int bin) |
| Get gamma of one bin. 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) |
| void | setBeamFrequency (double v) |
| void | boundp_destroy () |
| 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) |
| void | getLocalBounds (Vector_t &rmin, Vector_t &rmax) |
| std::pair< Vector_t, double > | getBoundingSphere () |
| std::pair< Vector_t, double > | getLocalBoundingSphere () |
| void | push_back (OpalParticle p) |
| void | set_part (FVector< double, 6 > z, int ii) |
| void | set_part (OpalParticle p, int ii) |
| OpalParticle | get_part (int ii) |
| 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 () |
| void | set_sPos (double s) |
| double | get_gamma () const |
| double | get_meanKineticEnergy () 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 |
| 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) |
| double | getEkin () const |
| Need Ek for the Schottky effect calculation (eV) More... | |
| double | getWorkFunctionRf () const |
| Need the work function for the Schottky effect calculation (eV) More... | |
| double | getLaserEnergy () const |
| Need the laser energy for the Schottky effect calculation (eV) More... | |
| double | getCharge () const |
| get the total charge per simulation particle More... | |
| double | getChargePerParticle () const |
| get the macro particle charge More... | |
| bool | hasFieldSolver () |
| std::string | getFieldSolverType () const |
| void | setStepsPerTurn (int n) |
| int | getStepsPerTurn () const |
| void | setGlobalTrackStep (long long n) |
| step in multiple TRACK commands More... | |
| long long | getGlobalTrackStep () const |
| void | setLocalTrackStep (long long n) |
| step in a TRACK command More... | |
| void | incTrackSteps () |
| long long | getLocalTrackStep () const |
| void | setNumBunch (short n) |
| short | getNumBunch () const |
| void | 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 () |
| 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 () |
| virtual double | getGamma (int i) |
| virtual double | getBeta (int i) |
| virtual void | actT () |
| const PartData * | getReference () const |
| double | getEmissionDeltaT () |
| 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 () |
| void | correctEnergy (double avrgp) |
| Inform & | print (Inform &os) |
| virtual void | runTests () |
| virtual void | resetInterpolationCache (bool clearCache=false) |
| virtual void | swap (unsigned int i, unsigned int j) |
| 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 |
| unsigned int | getMinimumNumberOfParticlesPerCore () const |
| void | setMinimumNumberOfParticlesPerCore (unsigned int n) |
| ParticleLayout< double, Dim > & | getLayout () |
| const ParticleLayout< double, Dim > & | getLayout () 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 () |
| double | getQ () const |
| Access to reference data. More... | |
| double | getM () const |
| double | getP () const |
| double | getE () const |
| ParticleType::type | getPType () const |
| double | getInitialBeta () const |
| double | getInitialGamma () const |
| void | resetQ (double q) |
| void | resetM (double m) |
| void | setPType (ParticleType::type) |
Private Member Functions | |
| void | updateFieldContainers_m () |
| void | updateDomainLength (Vektor< int, 3 > &grid) |
| void | updateFields (const Vector_t &hr, const Vector_t &origin) |
Private Attributes | |
| AmrObject * | amrobj_mp |
| pbase_t * | amrpbase_mp |
| FieldLayout_t * | fieldlayout_m |
| std::unique_ptr< size_t[]> | globalPartPerLevel_m |
Additional Inherited Members | |
Public Attributes inherited from PartBunchBase< double, 3 > | |
| 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< short > | PType |
| ParticleAttrib< int > | TriID |
| ParticleAttrib< short > | cavityGapCrossed |
| particle just crossed cavity gap (for ParallelCyclotronTracker) More... | |
| ParticleAttrib< short > | bunchNum |
| Vector_t | RefPartR_m |
| Vector_t | RefPartP_m |
| ParticleType::type | refPType_m |
| CoordinateSystemTrafo | toLabTrafo_m |
| int | myNode_m |
| avoid calls to Ippl::myNode() More... | |
| int | nodes_m |
| avoid calls to Ippl::getNodes() More... | |
| bool | fixed_grid |
| if the grid does not have to adapt More... | |
| PartBins * | pbin_m |
| std::unique_ptr< LossDataSink > | lossDs_m |
| std::unique_ptr< Inform > | pmsg_m |
| std::unique_ptr< std::ofstream > | f_stream |
| IpplTimings::TimerRef | distrReload_m |
| timer for IC, can not be in Distribution.h More... | |
| IpplTimings::TimerRef | distrCreate_m |
| double | dtScInit_m |
| double | deltaTau_m |
| bool | lowParticleCount_m |
| if a local node has less than 2 particles lowParticleCount_m == true More... | |
| IpplTimings::TimerRef | selfFieldTimer_m |
| timer for selfField calculation More... | |
Static Public Attributes inherited from PartBunchBase< double, 3 > | |
| static const unsigned | Dimension |
Protected Member Functions inherited from PartBunchBase< double, 3 > | |
| size_t | calcMoments () |
| void | calcMomentsInitial () |
| double | calculateAngle (double x, double y) |
| angle range [0~2PI) degree More... | |
Protected Attributes inherited from PartBunchBase< double, 3 > | |
| IpplTimings::TimerRef | boundpTimer_m |
| IpplTimings::TimerRef | boundpBoundsTimer_m |
| IpplTimings::TimerRef | boundpUpdateTimer_m |
| IpplTimings::TimerRef | statParamTimer_m |
| IpplTimings::TimerRef | histoTimer_m |
| const PartData * | reference |
| UnitState_t | unit_state_ |
| UnitState_t | stateOfLastBoundP_ |
| double | centroid_m [2 *Dim] |
| holds the centroid of the beam More... | |
| FMatrix< double, 2 *Dim, 2 *Dim > | moments_m |
| 6x6 matrix of the moments 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 | eKin_m |
| mean energy of the bunch (MeV) More... | |
| double | dE_m |
| energy spread of the beam in MeV More... | |
| double | spos_m |
| the position along design trajectory More... | |
| Vector_t | globalMeanR_m |
| Quaternion_t | globalToLocalQuaternion_m |
| Vector_t | rmax_m |
| maximal extend of particles More... | |
| Vector_t | rmin_m |
| minimal extend of particles More... | |
| Vector_t | rrms_m |
| rms beam size (m) More... | |
| Vector_t | prms_m |
| rms momenta More... | |
| Vector_t | rmean_m |
| mean position (m) More... | |
| Vector_t | pmean_m |
| mean momenta More... | |
| Vector_t | eps_m |
| rms emittance (not normalized) More... | |
| Vector_t | eps_norm_m |
| rms normalized emittance More... | |
| Vector_t | halo_m |
| Vector_t | rprms_m |
| rms correlation More... | |
| double | Dx_m |
| dispersion x & y More... | |
| double | Dy_m |
| double | DDx_m |
| derivative of the dispersion More... | |
| double | DDy_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 |
| int | distDump_m |
| counter to store the distribution dump More... | |
| int | fieldDBGStep_m |
| double | dh_m |
| Mesh enlargement. More... | |
| double | tEmission_m |
| in % how much the mesh is enlarged 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 |
| std::unique_ptr< size_t[]> | globalPartPerNode_m |
| Distribution * | dist_m |
| bool | dcBeam_m |
| double | periodLength_m |
| std::shared_ptr < AbstractParticle< double, Dim > > | pbase |
Definition at line 7 of file AmrPartBunch.h.
| typedef AmrParticle_t AmrPartBunch::pbase_t |
Definition at line 10 of file AmrPartBunch.h.
| AmrPartBunch::AmrPartBunch | ( | const PartData * | ref | ) |
Definition at line 5 of file AmrPartBunch.cpp.
References amrpbase_mp, and AmrParticleBase< PLayout >::initializeAmr().

Definition at line 14 of file AmrPartBunch.cpp.
References amrpbase_mp, and AmrParticleBase< PLayout >::initializeAmr().

| AmrPartBunch::~AmrPartBunch | ( | ) |
Definition at line 23 of file AmrPartBunch.cpp.
|
virtual |
Reimplemented from PartBunchBase< double, 3 >.
Definition at line 119 of file AmrPartBunch.cpp.
References amrobj_mp, amrpbase_mp, PartBunchBase< double, 3 >::boundpTimer_m, AmrParticleBase< PLayout >::domainMapping(), PartBunchBase< double, 3 >::ID, ParticleAttrib< T >::isDirty(), AmrParticleBase< PLayout >::isForbidTransform(), PartBunchBase< double, 3 >::R, ParticleAttrib< T >::resetDirtyFlag(), AmrParticleBase< PLayout >::setForbidTransform(), IpplTimings::startTimer(), PartBunchBase< double, 3 >::stateOfLastBoundP_, IpplTimings::stopTimer(), PartBunchBase< double, 3 >::unit_state_, PartBunchBase< double, 3 >::update(), and updateLorentzFactor().

|
virtual |
Implements PartBunchBase< double, 3 >.
Definition at line 160 of file AmrPartBunch.cpp.
References amrobj_mp, AmrObject::computeSelfFields(), PartBunchBase< double, 3 >::fs_m, FieldSolver::hasValidSolver(), PartBunchBase< double, 3 >::selfFieldTimer_m, IpplTimings::startTimer(), and IpplTimings::stopTimer().

|
virtual |
/brief used for self fields with binned distribution
Implements PartBunchBase< double, 3 >.
Definition at line 173 of file AmrPartBunch.cpp.
References amrobj_mp, AmrObject::computeSelfFields(), PartBunchBase< double, 3 >::selfFieldTimer_m, IpplTimings::startTimer(), and IpplTimings::stopTimer().

|
virtual |
Implements PartBunchBase< double, 3 >.
Definition at line 180 of file AmrPartBunch.cpp.
References amrobj_mp, AmrObject::computeSelfFields_cycl(), PartBunchBase< double, 3 >::selfFieldTimer_m, IpplTimings::startTimer(), and IpplTimings::stopTimer().

|
virtual |
Implements PartBunchBase< double, 3 >.
Definition at line 187 of file AmrPartBunch.cpp.
References amrobj_mp, AmrObject::computeSelfFields_cycl(), AmrObject::initFineLevels(), AmrObject::isRefined(), PartBunchBase< double, 3 >::selfFieldTimer_m, IpplTimings::startTimer(), and IpplTimings::stopTimer().

|
virtual |
Reimplemented from PartBunchBase< double, 3 >.
Definition at line 43 of file AmrPartBunch.cpp.
References amrobj_mp, amrpbase_mp, AmrParticleBase< PLayout >::domainMapping(), AmrObject::initFineLevels(), AmrParticleBase< PLayout >::isForbidTransform(), AmrObject::isRefined(), AmrParticleBase< PLayout >::setForbidTransform(), PartBunchBase< double, 3 >::update(), and updateLorentzFactor().
Referenced by set_meshEnlargement().

| void AmrPartBunch::gatherLevelStatistics | ( | ) |
Definition at line 207 of file AmrPartBunch.cpp.
References amrobj_mp, amrpbase_mp, AmrParticleBase< PLayout >::getLocalNumPerLevel(), globalPartPerLevel_m, AmrObject::maxLevel(), and reduce().

|
virtual |
Reimplemented from PartBunchBase< double, 3 >.
Definition at line 75 of file AmrPartBunch.cpp.
References amrpbase_mp, AmrParticleBase< PLayout >::getScalingFactor(), and PartBunchBase< double, 3 >::hr_m.

|
inline |
Definition at line 62 of file AmrPartBunch.h.
References amrobj_mp.
Referenced by GridLBalWriter::fillHeader(), and GridLBalWriter::write().
| AmrPartBunch::pbase_t * AmrPartBunch::getAmrParticleBase | ( | ) |
Definition at line 28 of file AmrPartBunch.cpp.
References amrpbase_mp.
Referenced by AmrBoxLib::computeSelfFields_cycl(), AmrBoxLib::initFineLevels(), AmrBoxLib::postRegrid_m(), MultiBunchHandler::readBunch(), AmrBoxLib::tagForChargeDensity_m(), AmrBoxLib::tagForMaxNumParticles_m(), AmrBoxLib::tagForMinNumParticles_m(), AmrBoxLib::tagForMomenta_m(), AmrYtWriter::writeBunch(), and AmrYtWriter::writeParticles_m().
| const AmrPartBunch::pbase_t * AmrPartBunch::getAmrParticleBase | ( | ) | const |
Definition at line 33 of file AmrPartBunch.cpp.
References amrpbase_mp.
|
virtual |
calculates back the max/min of the efield on the grid
Implements PartBunchBase< double, 3 >.
Definition at line 94 of file AmrPartBunch.cpp.
References amrobj_mp, and AmrObject::getEExtrema().

|
virtual |
Implements PartBunchBase< double, 3 >.
Definition at line 112 of file AmrPartBunch.cpp.
References fieldlayout_m.
|
inline |
Definition at line 66 of file AmrPartBunch.h.
References PartBunchBase< double, 3 >::fs_m, and FieldSolver::solver_m.
Referenced by AmrBoxLib::computeSelfFields_cycl(), and AmrBoxLib::postRegrid_m().
|
inline |
Definition at line 70 of file AmrPartBunch.h.
References PartBunchBase< double, 3 >::fs_m, and FieldSolver::solver_m.
| const size_t & AmrPartBunch::getLevelStatistics | ( | int | l | ) | const |
Only a valid call of root core (core 0)
| l | is the level |
Definition at line 228 of file AmrPartBunch.cpp.
References globalPartPerLevel_m.
|
virtual |
Implements PartBunchBase< double, 3 >.
Definition at line 98 of file AmrPartBunch.cpp.
References amrobj_mp, and AmrObject::getRho().

|
virtual |
Implements PartBunchBase< double, 3 >.
Definition at line 38 of file AmrPartBunch.cpp.
|
virtual |
Reimplemented from PartBunchBase< double, 3 >.
Definition at line 81 of file AmrPartBunch.cpp.
References amrpbase_mp, do_binaryRepart(), AmrParticleBase< PLayout >::getAmrLayout(), PartBunchBase< T, Dim >::set_meshEnlargement(), and BoxLibLayout< T, Dim >::setBoundingBox().

| void AmrPartBunch::setAmrDomainRatio | ( | const std::vector< double > & | ratio | ) |
Change the AMR Poisson computation domain.
| ratio | per direction. |
Definition at line 202 of file AmrPartBunch.cpp.
References amrpbase_mp, AmrParticleBase< PLayout >::getAmrLayout(), and BoxLibLayout< T, Dim >::setDomainRatio().

|
inline |
Definition at line 74 of file AmrPartBunch.h.
References PartBunchBase< double, 3 >::hr_m.
Referenced by AmrBoxLib::updateMesh().
|
inlinevirtual |
Reimplemented from PartBunchBase< double, 3 >.
Definition at line 113 of file AmrPartBunch.h.
|
inlinevirtual |
Reimplemented from PartBunchBase< double, 3 >.
Definition at line 112 of file AmrPartBunch.h.
|
inlinevirtual |
Reimplemented from PartBunchBase< double, 3 >.
Definition at line 114 of file AmrPartBunch.h.
|
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 55 of file AmrPartBunch.h.
|
inlinevirtual |
Set the charge of all other the ones in bin to zero.
Reimplemented from PartBunchBase< double, 3 >.
Definition at line 56 of file AmrPartBunch.h.
|
inlinevirtual |
Reimplemented from PartBunchBase< double, 3 >.
Definition at line 50 of file AmrPartBunch.h.
References amrobj_mp, FieldSolver::getAmrObject(), and PartBunchBase< T, Dim >::setSolver().

|
privatevirtual |
Implements PartBunchBase< double, 3 >.
Definition at line 276 of file AmrPartBunch.cpp.
References amrobj_mp, and AmrObject::getBaseLevelGridPoints().

|
private |
Definition at line 272 of file AmrPartBunch.cpp.
Reimplemented from PartBunchBase< double, 3 >.
Definition at line 281 of file AmrPartBunch.cpp.
| 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
| bin | is the energy bin |
Definition at line 233 of file AmrPartBunch.cpp.
References PartBunchBase< double, 3 >::get_gamma(), PartBunchBase< double, 3 >::getBinGamma(), and PartBunchBase< double, 3 >::weHaveBins().
Referenced by boundp(), AmrBoxLib::computeSelfFields_cycl(), and do_binaryRepart().

| 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.
| gamma | is the Lorentz factor |
Definition at line 258 of file AmrPartBunch.cpp.
References amrpbase_mp, OpalData::getInstance(), and AmrParticleBase< PLayout >::setLorentzFactor().

|
private |
Definition at line 129 of file AmrPartBunch.h.
Referenced by boundp(), computeSelfFields(), computeSelfFields_cycl(), do_binaryRepart(), gatherLevelStatistics(), getAmrObject(), getEExtrema(), getRho(), setSolver(), and updateDomainLength().
|
private |
Definition at line 130 of file AmrPartBunch.h.
Referenced by AmrPartBunch(), boundp(), do_binaryRepart(), gatherLevelStatistics(), get_hr(), getAmrParticleBase(), set_meshEnlargement(), setAmrDomainRatio(), and updateLorentzFactor().
|
private |
Definition at line 135 of file AmrPartBunch.h.
Referenced by getFieldLayout().
|
private |
Definition at line 137 of file AmrPartBunch.h.
Referenced by gatherLevelStatistics(), and getLevelStatistics().
1.8.5