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