OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
#include <AmrPartBunch.h>
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_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 () |
![]() | |
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 | |
![]() | |
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 const unsigned | Dimension |
![]() | |
size_t | calcMoments () |
void | calcMomentsInitial () |
double | calculateAngle (double x, double y) |
angle range [0~2PI) degree More... | |
![]() | |
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().