OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
AmrPartBunch Class Reference

#include <AmrPartBunch.h>

Inheritance diagram for AmrPartBunch:
Inheritance graph
[legend]
Collaboration diagram for AmrPartBunch:
Collaboration graph
[legend]

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_tVectorPair_t
 

Public Member Functions

 AmrPartBunch (const PartData *ref)
 
 AmrPartBunch (const PartData *ref, pbase_t *pbase_p)
 
 ~AmrPartBunch ()
 
pbase_tgetAmrParticleBase ()
 
const pbase_tgetAmrParticleBase () const
 
void initialize (FieldLayout_t *fLayout)
 
void do_binaryRepart ()
 
Vector_t get_hr () const
 
void set_meshEnlargement (double dh)
 
VectorPair_t getEExtrema ()
 
double getRho (int x, int y, int z)
 
FieldLayout_tgetFieldLayout ()
 
void boundp ()
 
void computeSelfFields ()
 
void computeSelfFields (int bin)
 
void computeSelfFields_cycl (double gamma)
 
void computeSelfFields_cycl (int bin)
 
void setSolver (FieldSolver *fs)
 
virtual void setBinCharge (int, double)
 Set the charge of one bin to the value of q and all other to zero. More...
 
virtual void setBinCharge (int)
 Set the charge of all other the ones in bin to zero. More...
 
const AmrObjectgetAmrObject () const
 
PoissonSolvergetFieldSolver ()
 
const PoissonSolvergetFieldSolver () const
 
void setBaseLevelMeshSpacing (const Vector_t &hr)
 
void setAmrDomainRatio (const std::vector< double > &ratio)
 
void gatherLevelStatistics ()
 
const size_t & getLevelStatistics (int l) const
 
void updateLorentzFactor (int bin=0)
 
void updateLorentzFactor (double gamma)
 
void setBCAllPeriodic ()
 
void setBCAllOpen ()
 
void setBCForDCBeam ()
 
- Public Member Functions inherited from PartBunchBase< double, 3 >
virtual ~PartBunchBase ()
 
 PartBunchBase (AbstractParticle< double, Dim > *pb, const PartData *ref)
 
 PartBunchBase (const PartBunchBase &rhs)=delete
 
virtual void initialize (FieldLayout_t *fLayout)=0
 
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. copy the particles from the bin structure into the particle container. 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)
 calculates the 1d line density (not normalized) and append it to a file. More...
 
void setBeamFrequency (double v)
 
virtual void boundp ()
 
void boundp_destroyCycl ()
 
size_t boundp_destroyT ()
 
size_t destroyT ()
 
virtual double getPx (int i)
 
virtual double getPy (int i)
 
virtual double getPz (int i)
 
virtual double getPx0 (int i)
 
virtual double getPy0 (int i)
 
virtual double getX (int i)
 
virtual double getY (int i)
 
virtual double getZ (int i)
 
virtual double getX0 (int i)
 
virtual double getY0 (int i)
 
virtual void setZ (int i, double zcoo)
 
void get_bounds (Vector_t &rmin, Vector_t &rmax) const
 
void getLocalBounds (Vector_t &rmin, Vector_t &rmax) const
 
std::pair< Vector_t, double > getBoundingSphere ()
 
std::pair< Vector_t, double > getLocalBoundingSphere ()
 
void push_back (OpalParticle const &p)
 
void setParticle (FVector< double, 6 > z, int ii)
 
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
 
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 PartDatagetReference () const
 
double getEmissionDeltaT ()
 
DistributionType getDistType () const
 
Quaternion_t getQKs3D ()
 
void setQKs3D (Quaternion_t q)
 
Vector_t getKs3DRefr ()
 
void setKs3DRefr (Vector_t r)
 
Vector_t getKs3DRefp ()
 
void setKs3DRefp (Vector_t p)
 
void iterateEmittedBin (int binNumber)
 
void calcEMean ()
 
Informprint (Inform &os)
 
virtual void runTests ()
 
virtual void do_binaryRepart ()
 
virtual void resetInterpolationCache (bool clearCache=false)
 
virtual VectorPair_t getEExtrema ()=0
 
virtual double getRho (int x, int y, int z)=0
 
virtual void computeSelfFields ()=0
 
virtual void computeSelfFields (int bin)=0
 
virtual void computeSelfFields_cycl (double gamma)=0
 
virtual void computeSelfFields_cycl (int bin)=0
 
virtual void swap (unsigned int i, unsigned int j)
 
virtual void setBCAllPeriodic ()
 
virtual void setBCAllOpen ()
 
virtual void setBCForDCBeam ()
 
virtual FieldLayout_tgetFieldLayout ()=0
 
virtual void resizeMesh ()
 
size_t getTotalNum () const
 
void setTotalNum (size_t n)
 
void setLocalNum (size_t n)
 
size_t getLocalNum () const
 
size_t getDestroyNum () const
 
size_t getGhostNum () const
 
ParticleLayout< double, Dim > & getLayout ()
 
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 *DimgetSigmaMatrix () 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)
 
void resetM (double m)
 
void setPOrigin (ParticleOrigin)
 
void setPType (const std::string &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

AmrObjectamrobj_mp
 
pbase_tamrpbase_mp
 
FieldLayout_tfieldlayout_m
 
std::unique_ptr< size_t[]> globalPartPerLevel_m
 

Additional Inherited Members

- Public Attributes inherited from PartBunchBase< double, 3 >
ParticlePos_tR
 
ParticleIndex_tID
 
ParticleAttrib< Vector_tP
 
ParticleAttrib< double > Q
 
ParticleAttrib< double > M
 
ParticleAttrib< double > Phi
 
ParticleAttrib< Vector_tEf
 
ParticleAttrib< Vector_tEftmp
 
ParticleAttrib< Vector_tBf
 
ParticleAttrib< int > Bin
 
ParticleAttrib< double > dt
 
ParticleAttrib< ParticleTypePType
 
ParticleAttrib< ParticleOriginPOrigin
 
ParticleAttrib< int > TriID
 
ParticleAttrib< short > cavityGapCrossed
 
ParticleAttrib< short > bunchNum
 
Vector_t RefPartR_m
 
Vector_t RefPartP_m
 
CoordinateSystemTrafo toLabTrafo_m
 
ParticleOrigin refPOrigin_m
 
ParticleType refPType_m
 
PartBinspbin_m
 
IpplTimings::TimerRef distrReload_m
 timer for IC, can not be in Distribution.h More...
 
IpplTimings::TimerRef distrCreate_m
 
double dtScInit_m
 
double deltaTau_m
 
- 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
 
IpplTimings::TimerRef selfFieldTimer_m
 timer for selfField calculation More...
 
const PartDatareference
 
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
 
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...
 
FieldSolverfs_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
 
std::unique_ptr< size_t[]> globalPartPerNode_m
 
Distributiondist_m
 
DistributionMoments momentsComputer_m
 
bool dcBeam_m
 
double periodLength_m
 
std::shared_ptr< AbstractParticle< double, Dim > > pbase_m
 

Detailed Description

Definition at line 27 of file AmrPartBunch.h.

Member Typedef Documentation

◆ pbase_t

Definition at line 30 of file AmrPartBunch.h.

Constructor & Destructor Documentation

◆ AmrPartBunch() [1/2]

AmrPartBunch::AmrPartBunch ( const PartData ref)

Definition at line 25 of file AmrPartBunch.cpp.

◆ AmrPartBunch() [2/2]

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

Definition at line 34 of file AmrPartBunch.cpp.

◆ ~AmrPartBunch()

AmrPartBunch::~AmrPartBunch ( )

Definition at line 43 of file AmrPartBunch.cpp.

Member Function Documentation

◆ boundp()

void AmrPartBunch::boundp ( )
virtual

◆ computeSelfFields() [1/2]

void AmrPartBunch::computeSelfFields ( )
virtual

◆ computeSelfFields() [2/2]

void AmrPartBunch::computeSelfFields ( int  bin)
virtual

◆ computeSelfFields_cycl() [1/2]

void AmrPartBunch::computeSelfFields_cycl ( double  gamma)
virtual

◆ computeSelfFields_cycl() [2/2]

void AmrPartBunch::computeSelfFields_cycl ( int  bin)
virtual

◆ do_binaryRepart()

void AmrPartBunch::do_binaryRepart ( )
virtual

◆ gatherLevelStatistics()

void AmrPartBunch::gatherLevelStatistics ( )

Definition at line 227 of file AmrPartBunch.cpp.

References amrobj_mp, amrpbase_mp, AmrParticleBase< PLayout >::getLocalNumPerLevel(), globalPartPerLevel_m, AmrObject::maxLevel(), and reduce().

Here is the call graph for this function:

◆ get_hr()

Vector_t AmrPartBunch::get_hr ( ) const
virtual

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 95 of file AmrPartBunch.cpp.

References amrpbase_mp, AmrParticleBase< PLayout >::getScalingFactor(), and PartBunchBase< double, 3 >::hr_m.

Here is the call graph for this function:

◆ getAmrObject()

const AmrObject * AmrPartBunch::getAmrObject ( ) const
inline

Definition at line 82 of file AmrPartBunch.h.

References amrobj_mp.

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

◆ getAmrParticleBase() [1/2]

AmrPartBunch::pbase_t * AmrPartBunch::getAmrParticleBase ( )

◆ getAmrParticleBase() [2/2]

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

Definition at line 53 of file AmrPartBunch.cpp.

References amrpbase_mp.

◆ getEExtrema()

AmrPartBunch::VectorPair_t AmrPartBunch::getEExtrema ( )
virtual

Implements PartBunchBase< double, 3 >.

Definition at line 114 of file AmrPartBunch.cpp.

References amrobj_mp, and AmrObject::getEExtrema().

Here is the call graph for this function:

◆ getFieldLayout()

FieldLayout_t & AmrPartBunch::getFieldLayout ( )
virtual

Implements PartBunchBase< double, 3 >.

Definition at line 132 of file AmrPartBunch.cpp.

References fieldlayout_m.

◆ getFieldSolver() [1/2]

PoissonSolver * AmrPartBunch::getFieldSolver ( )
inline

◆ getFieldSolver() [2/2]

const PoissonSolver * AmrPartBunch::getFieldSolver ( ) const
inline

Definition at line 90 of file AmrPartBunch.h.

References PartBunchBase< double, 3 >::fs_m, and FieldSolver::solver_m.

◆ getLevelStatistics()

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

Only a valid call of root core (core 0)

Parameters
lis the level

Definition at line 248 of file AmrPartBunch.cpp.

References globalPartPerLevel_m.

◆ getRho()

double AmrPartBunch::getRho ( int  x,
int  y,
int  z 
)
virtual

Implements PartBunchBase< double, 3 >.

Definition at line 118 of file AmrPartBunch.cpp.

References amrobj_mp, and AmrObject::getRho().

Here is the call graph for this function:

◆ initialize()

void AmrPartBunch::initialize ( FieldLayout_t fLayout)
virtual

Implements PartBunchBase< double, 3 >.

Definition at line 58 of file AmrPartBunch.cpp.

◆ set_meshEnlargement()

void AmrPartBunch::set_meshEnlargement ( double  dh)
virtual

◆ setAmrDomainRatio()

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

Change the AMR Poisson computation domain.

Parameters
ratioper direction.

Definition at line 222 of file AmrPartBunch.cpp.

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

Here is the call graph for this function:

◆ setBaseLevelMeshSpacing()

void AmrPartBunch::setBaseLevelMeshSpacing ( const Vector_t hr)
inline

Definition at line 94 of file AmrPartBunch.h.

References PartBunchBase< double, 3 >::hr_m.

Referenced by AmrBoxLib::updateMesh().

◆ setBCAllOpen()

void AmrPartBunch::setBCAllOpen ( )
inlinevirtual

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 133 of file AmrPartBunch.h.

◆ setBCAllPeriodic()

void AmrPartBunch::setBCAllPeriodic ( )
inlinevirtual

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 132 of file AmrPartBunch.h.

◆ setBCForDCBeam()

void AmrPartBunch::setBCForDCBeam ( )
inlinevirtual

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 134 of file AmrPartBunch.h.

◆ setBinCharge() [1/2]

virtual void AmrPartBunch::setBinCharge ( int  bin)
inlinevirtual

Set the charge of all other the ones in bin to zero.

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 76 of file AmrPartBunch.h.

◆ setBinCharge() [2/2]

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

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

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 75 of file AmrPartBunch.h.

◆ setSolver()

void AmrPartBunch::setSolver ( FieldSolver fs)
inlinevirtual

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 70 of file AmrPartBunch.h.

References amrobj_mp, Hypervolume::fs, FieldSolver::getAmrObject(), and PartBunchBase< T, Dim >::setSolver().

Here is the call graph for this function:

◆ updateDomainLength()

void AmrPartBunch::updateDomainLength ( Vektor< int, 3 > &  grid)
privatevirtual

Implements PartBunchBase< double, 3 >.

Definition at line 296 of file AmrPartBunch.cpp.

References amrobj_mp, and AmrObject::getBaseLevelGridPoints().

Here is the call graph for this function:

◆ updateFieldContainers_m()

void AmrPartBunch::updateFieldContainers_m ( )
private

Definition at line 292 of file AmrPartBunch.cpp.

◆ updateFields()

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

Reimplemented from PartBunchBase< double, 3 >.

Definition at line 301 of file AmrPartBunch.cpp.

◆ updateLorentzFactor() [1/2]

void AmrPartBunch::updateLorentzFactor ( double  gamma)

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

Parameters
gammais the Lorentz factor

Definition at line 278 of file AmrPartBunch.cpp.

References amrpbase_mp, OpalData::getInstance(), and AmrParticleBase< PLayout >::setLorentzFactor().

Here is the call graph for this function:

◆ updateLorentzFactor() [2/2]

void AmrPartBunch::updateLorentzFactor ( int  bin = 0)

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

Parameters
binis the energy bin

Definition at line 253 of file AmrPartBunch.cpp.

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

Referenced by boundp(), AmrBoxLib::computeSelfFields_cycl(), do_binaryRepart(), and updateLorentzFactor().

Here is the call graph for this function:

Member Data Documentation

◆ amrobj_mp

AmrObject* AmrPartBunch::amrobj_mp
private

◆ amrpbase_mp

pbase_t* AmrPartBunch::amrpbase_mp
private

◆ fieldlayout_m

FieldLayout_t* AmrPartBunch::fieldlayout_m
private

Definition at line 155 of file AmrPartBunch.h.

Referenced by getFieldLayout().

◆ globalPartPerLevel_m

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

Definition at line 157 of file AmrPartBunch.h.

Referenced by gatherLevelStatistics(), and getLevelStatistics().


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