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