1 #ifndef BOXLIB_PARTICLE_H
2 #define BOXLIB_PARTICLE_H
6 #include <AMReX_REAL.H>
7 #include <AMReX_IntVect.H>
8 #include <AMReX_Vector.H>
9 #include <AMReX_Utility.H>
10 #include <AMReX_Geometry.H>
11 #include <AMReX_RealBox.H>
22 template<
class PLayout>
66 template <
class FT,
unsigned Dim,
class PT>
85 template <
class FT,
unsigned Dim,
class PT>
102 template <
class FT,
unsigned Dim,
class PT>
105 int lbase,
int lfine);
122 template <
class AType>
125 int lev_min,
int ncomp,
int finest_level,
136 template <
class AType>
139 int lev_min,
int lev_max);
148 template <
class AType>
159 template <
class AType>
174 template <
class AType>
177 int ncomp=1,
int particle_lvl_offset = 0)
const;
amrex::Geometry AmrGeometry_t
PLayout::AmrBox_t AmrBox_t
void InterpolateMultiLevelFort(ParticleAttrib< AType > &pa, AmrVectorFieldContainer_t &mesh_data, int lev)
PLayout::AmrGrid_t AmrGrid_t
PLayout::ParticlePos_t ParticlePos_t
PLayout::AmrField_t AmrField_t
void AssignDensityFort(ParticleAttrib< AType > &pa, AmrScalarFieldContainer_t &mf_to_be_filled, int lev_min, int ncomp, int finest_level, const ParticleAttrib< int > &pbin, int bin=-1) const
void InterpolateSingleLevelFort(ParticleAttrib< AType > &pa, AmrVectorField_t &mesh_data, int lev)
AmrParticleBase< PLayout >::AmrField_t AmrField_t
AmrParticleBase< PLayout >::AmrScalarFieldContainer_t AmrScalarFieldContainer_t
amrex::IntVect AmrIntVect_t
PLayout::SingleParticlePos_t SingleParticlePos_t
AmrParticleBase< PLayout >::AmrVectorFieldContainer_t AmrVectorFieldContainer_t
void AssignCellDensitySingleLevelFort(ParticleAttrib< AType > &pa, AmrField_t &mf, int level, const ParticleAttrib< int > &pbin, int bin=-1, int ncomp=1, int particle_lvl_offset=0) const
PLayout::AmrGeometry_t AmrGeometry_t
AmrParticleBase< PLayout >::ParticlePos_t ParticlePos_t
AmrParticleBase< PLayout >::ParticleIndex_t ParticleIndex_t
IpplTimings::TimerRef AssignDensityTimer_m
PLayout::AmrReal_t AmrReal_t
PLayout::ParticleIndex_t ParticleIndex_t
amrex::DistributionMapping AmrProcMap_t
AmrParticleBase< PLayout >::ParticleLevelCounter_t ParticleLevelCounter_t
PLayout::AmrVectorFieldContainer_t AmrVectorFieldContainer_t
void scatter(ParticleAttrib< FT > &attrib, AmrScalarFieldContainer_t &f, ParticleAttrib< Vektor< PT, Dim > > &pp, int lbase, int lfine, const ParticleAttrib< int > &pbin, int bin=-1)
void InterpolateFort(ParticleAttrib< AType > &pa, AmrVectorFieldContainer_t &mesh_data, int lev_min, int lev_max)
PLayout::AmrProcMap_t AmrProcMap_t
AmrParticleBase< PLayout >::AmrVectorField_t AmrVectorField_t
amrex::BoxArray AmrGrid_t
amrex::FArrayBox FArrayBox_t
PLayout::AmrScalarFieldContainer_t AmrScalarFieldContainer_t
Timing::TimerRef TimerRef
PLayout::AmrVectorField_t AmrVectorField_t
PLayout::AmrIntVect_t AmrIntVect_t
void gather(ParticleAttrib< FT > &attrib, AmrVectorFieldContainer_t &f, ParticleAttrib< Vektor< PT, Dim > > &pp, int lbase, int lfine)
AmrParticleBase< PLayout >::SingleParticlePos_t SingleParticlePos_t