1 #ifndef AMR_PART_BUNCH_H
2 #define AMR_PART_BUNCH_H
35 double getRho(
int x,
int y,
int z);
75 for (
int i = 0; i < 3; ++i)
void gatherLevelStatistics()
double getRho(int x, int y, int z)
virtual void setBinCharge(int bin)
Set the charge of all other the ones in bin to zero.
The FieldSolver definition.
void updateFields(const Vector_t &hr, const Vector_t &origin)
const size_t & getLevelStatistics(int l) const
void updateFieldContainers_m()
AmrPartBunch(const PartData *ref)
AmrObject * getAmrObject()
const PoissonSolver * getFieldSolver() const
void updateDomainLength(Vektor< int, 3 > &grid)
FieldLayout_t & getFieldLayout()
PoissonSolver * getFieldSolver()
pbase_t * getAmrParticleBase()
std::pair< Vector_t, Vector_t > VectorPair_t
virtual void setBinCharge(int bin, double q)
Set the charge of one bin to the value of q and all other to zero.
PoissonSolver * solver_m
the actual solver, should be a base object
void setAmrDomainRatio(const std::vector< double > &ratio)
void computeSelfFields_cycl(double gamma)
void updateLorentzFactor(int bin=0)
FieldSolver * fs_m
stores the used field solver
void setSolver(FieldSolver *fs)
void setBaseLevelMeshSpacing(const Vector_t &hr)
FieldLayout_t * fieldlayout_m
const AmrObject * getAmrObject() const
Vector_t hr_m
meshspacing of cartesian mesh
VectorPair_t getEExtrema()
calculates back the max/min of the efield on the grid
void set_meshEnlargement(double dh)
virtual void setSolver(FieldSolver *fs)
std::unique_ptr< size_t[]> globalPartPerLevel_m
void initialize(FieldLayout_t *fLayout)