13 , chargedensity_m(chargedensity)
17 , amrSolveTimer_m(
IpplTimings::getTimer(
"AMR solve"))
18 , amrRegridTimer_m(
IpplTimings::getTimer(
"AMR regrid"))
34 if ( tagging ==
"POTENTIAL" )
36 else if (tagging ==
"EFIELD" )
38 else if ( tagging ==
"MOMENTA" )
40 else if ( tagging ==
"MAX_NUM_PARTICLES" )
41 tagging_m = TaggingCriteria::MAX_NUM_PARTICLES;
42 else if ( tagging ==
"MIN_NUM_PARTICLES" )
43 tagging_m = TaggingCriteria::MIN_NUM_PARTICLES;
44 else if ( tagging ==
"CHARGE_DENSITY" )
45 tagging_m = TaggingCriteria::CHARGE_DENSITY;
48 "Not supported refinement criteria "
49 "[CHARGE_DENSITY | POTENTIAL | EFIELD | "
50 "MOMENTA | MAX_NUM_PARTICLES | MIN_NUM_PARTICLES].");
80 std::string tagging =
"";
82 case TaggingCriteria::CHARGE_DENSITY:
83 tagging =
"CHARGE_DENSITY";
85 case TaggingCriteria::POTENTIAL:
86 tagging =
"POTENTIAL";
88 case TaggingCriteria::EFIELD:
91 case TaggingCriteria::MOMENTA:
94 case TaggingCriteria::MIN_NUM_PARTICLES:
95 tagging =
"MIN_NUM_PARTICLES";
97 case TaggingCriteria::MAX_NUM_PARTICLES:
98 tagging =
"MAX_NUM_PARTICLES";
102 "Only numbers between 0 and 5 allowed.");
constexpr double e
The value of .
size_t minNumPart_m
Tagging value for MIN_NUM_PARTICLES.
static std::string enum2string(int number)
The base class for all OPAL exceptions.
TaggingCriteria tagging_m
Tagging strategy.
std::string toUpper(const std::string &str)
size_t maxNumPart_m
Tagging value for MAX_NUM_PARTICLES.
TaggingCriteria
Methods for tagging cells for refinement.
const bool & isRefined() const
void setMinNumParticles(size_t minNumPart)
void setScalingFactor(double scaling)
void setMaxNumParticles(size_t maxNumPart)
double scaling_m
Scaling factor for tagging [0, 1].
void setTagging(TaggingCriteria tagging)
double chargedensity_m
Tagging value for CHARGE_DENSITY.
bool refined_m
Only set to true in AmrObject::initFineLevels()
void setChargeDensity(double chargedensity)