21#ifndef AMR_PART_BUNCH_H
22#define AMR_PART_BUNCH_H
54 double getRho(
int x,
int y,
int z);
85 return fs_m->solver_m;
89 return fs_m->solver_m;
93 for (
int i = 0; i < 3; ++i)
BoxLibParticle< AmrLayout_t > AmrParticle_t
CenteredFieldLayout< 3, Mesh_t, Center_t > FieldLayout_t
PartBunchBase(AbstractParticle< double, Dim > *pb, const PartData *ref)
std::pair< Vector_t, Vector_t > VectorPair_t
virtual void setSolver(FieldSolver *fs)
void computeSelfFields_cycl(double gamma)
const AmrObject * getAmrObject() const
void updateDomainLength(Vektor< int, 3 > &grid)
virtual void setBinCharge(int)
void initialize(FieldLayout_t *fLayout)
void updateLorentzFactor(int bin=0)
AmrPartBunch(const PartData *ref)
void setSolver(FieldSolver *fs)
const PoissonSolver * getFieldSolver() const
VectorPair_t getEExtrema()
FieldLayout_t * fieldlayout_m
void set_meshEnlargement(double dh)
void setBaseLevelMeshSpacing(const Vector_t &hr)
const size_t & getLevelStatistics(int l) const
virtual void setBinCharge(int, double)
Set the charge of one bin to the value of q and all other to zero.
PoissonSolver * getFieldSolver()
std::unique_ptr< size_t[]> globalPartPerLevel_m
void gatherLevelStatistics()
void updateFieldContainers_m()
void setAmrDomainRatio(const std::vector< double > &ratio)
void updateFields(const Vector_t &hr, const Vector_t &origin)
pbase_t * getAmrParticleBase()
double getRho(int x, int y, int z)
FieldLayout_t & getFieldLayout()
Vektor< double, 3 > Vector_t