56 double chargedensity);
66 std::vector<int>& gridsPerLevel)
const = 0;
77 virtual void regrid(
double time) = 0;
125 virtual double getRho(
int x,
int y,
int z) = 0;
139 virtual const int&
maxLevel()
const = 0;
145 virtual double getT()
const = 0;
size_t minNumPart_m
Tagging value for MIN_NUM_PARTICLES.
static std::string enum2string(int number)
TaggingCriteria tagging_m
Tagging strategy.
virtual void computeSelfFields()=0
virtual void regrid(double time)=0
virtual void redistributeGrids(int how)
virtual double getRho(int x, int y, int z)=0
size_t maxNumPart_m
Tagging value for MAX_NUM_PARTICLES.
TaggingCriteria
Methods for tagging cells for refinement.
const bool & isRefined() const
int refratio[3]
Mesh refinement ratio in x-, y- and z-direction.
void setMinNumParticles(size_t minNumPart)
void setScalingFactor(double scaling)
virtual void updateMesh()=0
int grid[3]
Number of grid points in x-, y- and z-direction.
void setMaxNumParticles(size_t maxNumPart)
virtual void computeSelfFields_cycl(double gamma)=0
double scaling_m
Scaling factor for tagging [0, 1].
IpplTimings::TimerRef amrRegridTimer_m
virtual Vektor< int, 3 > getBaseLevelGridPoints() const =0
std::pair< Vector_t, Vector_t > VectorPair_t
virtual const int & maxLevel() const =0
virtual const int & finestLevel() const =0
virtual void getGridStatistics(std::map< int, long > &gridPtsPerCore, std::vector< int > &gridsPerLevel) const =0
Timing::TimerRef TimerRef
int maxlevel
Maximum level for AMR (0: single-level)
virtual VectorPair_t getEExtrema()=0
virtual double getT() const =0
void setTagging(TaggingCriteria tagging)
double chargedensity_m
Tagging value for CHARGE_DENSITY.
virtual void initFineLevels()=0
IpplTimings::TimerRef amrSolveTimer_m
timer for selfField calculation (used in concrete AmrObject classes)
bool refined_m
Only set to true in AmrObject::initFineLevels()
int bf[3]
Grid blocking factor in x-, y- and z-direction.
int maxgrid[3]
Maximum grid size in x-, y- and z-direction.
void setChargeDensity(double chargedensity)