70 bool isForbidTransform =
amrpbase_mp->isForbidTransform();
72 if ( !isForbidTransform ) {
84 if ( !isForbidTransform ) {
94 const double& scalefactor =
amrpbase_mp->getScalingFactor();
95 return hr_m * scalefactor;
149 bool isForbidTransform =
amrpbase_mp->isForbidTransform();
151 if ( !isForbidTransform ) {
160 if ( !isForbidTransform ) {
169 "AmrObject pointer is not set.");
181 if ( !
fs_m->hasValidSolver() )
200 amrobj_mp->computeSelfFields_cycl(gamma);
228 std::unique_ptr<size_t[]> partPerLevel(
new size_t[nLevel] );
231 for (
int i = 0; i < nLevel; ++i)
235 auto& LocalNumPerLevel =
amrpbase_mp->getLocalNumPerLevel();
237 for (
size_t i = 0; i < LocalNumPerLevel.size(); ++i)
238 partPerLevel[i] = LocalNumPerLevel[i];
240 reduce(*partPerLevel.get(),
242 nLevel, std::plus<size_t>());
263 if ( gamma >= 1.0 ) {
277 Vector_t lorentzFactor(1.0, 1.0, 1.0);
280 lorentzFactor[1] = gamma;
282 lorentzFactor[2] = gamma;
292 grid =
amrobj_mp->getBaseLevelGridPoints();
CenteredFieldLayout< 3, Mesh_t, Center_t > FieldLayout_t
BoxLibLayout< double, 3 > AmrLayout_t
bool reduce(Communicate &, InputIterator, InputIterator, OutputIterator, const ReduceOp &, bool *IncludeVal=0)
std::shared_ptr< AbstractParticle< double, Dim > > pbase_m
virtual void set_meshEnlargement(double dh)
IpplTimings::TimerRef boundpTimer_m
double getBinGamma(int bin)
PartBunchBase(AbstractParticle< double, Dim > *pb, const PartData *ref)
std::pair< Vector_t, Vector_t > VectorPair_t
UnitState_t stateOfLastBoundP_
IpplTimings::TimerRef selfFieldTimer_m
static OpalData * getInstance()
void setBoundingBox(double dh)
void setDomainRatio(const std::vector< double > &ratio)
void computeSelfFields_cycl(double gamma)
void updateDomainLength(Vektor< int, 3 > &grid)
void initialize(FieldLayout_t *fLayout)
void updateLorentzFactor(int bin=0)
AmrPartBunch(const PartData *ref)
VectorPair_t getEExtrema()
FieldLayout_t * fieldlayout_m
void set_meshEnlargement(double dh)
const size_t & getLevelStatistics(int l) const
std::unique_ptr< size_t[]> globalPartPerLevel_m
void gatherLevelStatistics()
void updateFieldContainers_m()
void setAmrDomainRatio(const std::vector< double > &ratio)
void updateFields(const Vector_t &hr, const Vector_t &origin)
pbase_t * getAmrParticleBase()
double getRho(int x, int y, int z)
FieldLayout_t & getFieldLayout()
static void stopTimer(TimerRef t)
static void startTimer(TimerRef t)
Vektor< double, 3 > Vector_t