21#ifndef AMR_PART_BUNCH_H
22#define AMR_PART_BUNCH_H
55 double getRho(
int x,
int y,
int z);
95 for (
int i = 0; i < 3; ++i)
FieldSolver * fs_m
stores the used field solver
std::pair< Vector_t, Vector_t > VectorPair_t
Vector_t hr_m
meshspacing of cartesian mesh
virtual void setSolver(FieldSolver *fs)
void computeSelfFields_cycl(double gamma)
const AmrObject * getAmrObject() const
void updateDomainLength(Vektor< int, 3 > &grid)
virtual void setBinCharge(int)
Set the charge of all other the ones in bin to zero.
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()
PoissonSolver * solver_m
the actual solver, should be a base object
AmrObject * getAmrObject()