1 #ifndef AMR_PARTICLE_BASE_H
2 #define AMR_PARTICLE_BASE_H
31 template<
class PLayout>
84 void destroy(
size_t M,
size_t I,
bool doNow =
false);
99 void update(
int lev_min,
int lev_max,
bool isRegrid =
false);
PLayout::ParticlePos_t ParticlePos_t
const double & getScalingFactor() const
PLayout::AmrField_t AmrField_t
void getGlobalBounds_m(Vector_t &rmin, Vector_t &rmax)
const PLayout & getAmrLayout() const
std::vector< ParticleAttribBase * > attrib_container_t
PLayout::SingleParticlePos_t SingleParticlePos_t
const ParticleLevelCounter_t & getLocalNumPerLevel() const
IpplTimings::TimerRef domainMappingTimer_m
bool isForbidTransform() const
void createWithID(unsigned id)
void getLocalBounds_m(Vector_t &rmin, Vector_t &rmax)
std::vector< SortListIndex_t > SortList_t
PLayout::ParticleIndex_t ParticleIndex_t
PLayout::AmrVectorFieldContainer_t AmrVectorFieldContainer_t
void performDestroy(bool updateLocalNum=false)
void setForbidTransform(bool forbidTransform)
void setLorentzFactor(const Vector_t &lorentzFactor)
std::array< std::unique_ptr< AmrField_t >, AMREX_SPACEDIM > AmrVectorField_t
const double & domainMapping(bool inverse=false)
IpplTimings::TimerRef updateParticlesTimer_m
void addAttribute(ParticleAttribBase &pa)
PLayout::AmrScalarFieldContainer_t AmrScalarFieldContainer_t
void setLocalNumPerLevel(const ParticleLevelCounter_t &LocalNumPerLevel)
IpplTimings::TimerRef sortParticlesTimer_m
Timing::TimerRef TimerRef
bool forbidTransform_m
To avoid multiple transformations during regrid.
amr::AmrScalarFieldContainer_t AmrScalarFieldContainer_t
PLayout::AmrVectorField_t AmrVectorField_t
ParticleLevelCounter_t LocalNumPerLevel_m
void destroy(size_t M, size_t I, bool doNow=false)
amr::AmrVectorFieldContainer_t AmrVectorFieldContainer_t
amr::AmrField_t AmrField_t
AmrParticleLevelCounter< size_t, size_t > ParticleLevelCounter_t