WarpX
Public Types | Public Member Functions | List of all members
FieldProbeParticleContainer Class Reference

#include <FieldProbeParticleContainer.H>

Inheritance diagram for FieldProbeParticleContainer:
amrex::ParticleContainer< 0, 0, FieldProbePIdx::nattribs >

Public Types

using iterator = amrex::ParIter< 0, 0, FieldProbePIdx::nattribs, 0 >
 amrex iterator for our number of attributes More...
 
using const_iterator = amrex::ParConstIter< 0, 0, FieldProbePIdx::nattribs, 0 >
 amrex iterator for our number of attributes (read-only) More...
 
- Public Types inherited from amrex::ParticleContainer< 0, 0, FieldProbePIdx::nattribs >
typedef Allocator< T > AllocatorType
 
typedef Particle< NStructReal, NStructIntParticleType
 
typedef Particle< NStructReal+NArrayReal, NStructInt+NArrayIntSuperParticleType
 
typedef typename Particle< NStructReal, NStructInt >::RealType RealType
 
typedef ParticleContainer< NStructReal, NStructInt, NArrayReal, NArrayInt, Allocator > ParticleContainerType
 
typedef ParticleTile< NStructReal, NStructInt, NArrayReal, NArrayInt, Allocator > ParticleTileType
 
typedef ParticleInitType< NStructReal, NStructInt, NArrayReal, NArrayIntParticleInitData
 
typedef std::map< std::pair< int, int >, ParticleTileTypeParticleLevel
 
typedef typename ParticleTileType::AoS AoS
 
typedef typename ParticleTileType::SoA SoA
 
typedef typename SoA::RealVector RealVector
 
typedef typename SoA::IntVector IntVector
 
typedef typename AoS::ParticleVector ParticleVector
 
typedef Gpu::DeviceVector< char > CharVector
 
typedef Gpu::PolymorphicVector< char > SendBuffer
 
typedef ParIter< NStructReal, NStructInt, NArrayReal, NArrayInt, Allocator > ParIterType
 
typedef ParConstIter< NStructReal, NStructInt, NArrayReal, NArrayInt, Allocator > ParConstIterType
 
typedef amrex::ParticleContainer< NStructReal, NStructInt, NArrayReal, NArrayInt, NewAllocator > ContainerLike
 

Public Member Functions

 FieldProbeParticleContainer (amrex::AmrCore *amr_core)
 
virtual ~FieldProbeParticleContainer ()
 
void AddNParticles (int lev, amrex::Vector< amrex::ParticleReal > const &x, amrex::Vector< amrex::ParticleReal > const &y, amrex::Vector< amrex::ParticleReal > const &z)
 similar to WarpXParticleContainer::AddNParticles but does not include u(x,y,z) More...
 
- Public Member Functions inherited from amrex::ParticleContainer< 0, 0, FieldProbePIdx::nattribs >
 ParticleContainer ()
 
 ParticleContainer (ParGDBBase *gdb)
 
 ParticleContainer (const Geometry &geom, const DistributionMapping &dmap, const BoxArray &ba)
 
 ParticleContainer (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< int > &rr)
 
 ParticleContainer (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< IntVect > &rr)
 
 ParticleContainer (const ParticleContainer &)=delete
 
 ParticleContainer (ParticleContainer &&)=default
 
virtual ~ParticleContainer ()=default
 
ParticleContaineroperator= (const ParticleContainer &)=delete
 
ParticleContaineroperator= (ParticleContainer &&)=default
 
void Define (ParGDBBase *gdb)
 
void Define (const Geometry &geom, const DistributionMapping &dmap, const BoxArray &ba)
 
void Define (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< int > &rr)
 
void Define (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< IntVect > &rr)
 
int numLocalTilesAtLevel (int lev) const
 
void reserveData () override
 
void resizeData () override
 
void InitFromAsciiFile (const std::string &file, int extradata, const IntVect *Nrep=nullptr)
 
void InitFromBinaryFile (const std::string &file, int extradata)
 
void InitFromBinaryMetaFile (const std::string &file, int extradata)
 
void InitRandom (Long icount, ULong iseed, const ParticleInitData &mass, bool serialize=false, RealBox bx=RealBox())
 
void InitRandomPerBox (Long icount, ULong iseed, const ParticleInitData &pdata)
 
void InitOnePerCell (Real x_off, Real y_off, Real z_off, const ParticleInitData &pdata)
 
void InitNRandomPerCell (int n_per_cell, const ParticleInitData &pdata)
 
void Increment (MultiFab &mf, int level)
 
Long IncrementWithTotal (MultiFab &mf, int level, bool local=false)
 
void Redistribute (int lev_min=0, int lev_max=-1, int nGrow=0, int local=0, bool remove_negative=true)
 
void SortParticlesByCell ()
 
void SortParticlesByBin (IntVect bin_size)
 
bool OK (int lev_min=0, int lev_max=-1, int nGrow=0) const
 
std::array< Long, 3 > ByteSpread () const
 
std::array< Long, 3 > PrintCapacity () const
 
void ShrinkToFit ()
 
Long NumberOfParticlesAtLevel (int level, bool only_valid=true, bool only_local=false) const
 
Vector< Long > NumberOfParticlesInGrid (int level, bool only_valid=true, bool only_local=false) const
 
Long TotalNumberOfParticles (bool only_valid=true, bool only_local=false) const
 
void RemoveParticlesAtLevel (int level)
 
void RemoveParticlesNotAtFinestLevel ()
 
void CreateVirtualParticles (int level, AoS &virts) const
 
void CreateVirtualParticles (int level, ParticleTileType &virts) const
 
void CreateGhostParticles (int level, int ngrow, AoS &ghosts) const
 
void CreateGhostParticles (int level, int ngrow, ParticleTileType &ghosts) const
 
void AddParticlesAtLevel (AoS &particles, int level, int nGrow=0)
 
void AddParticlesAtLevel (ParticleTileType &particles, int level, int nGrow=0)
 
void clearParticles ()
 
void copyParticles (const PCType &other, bool local=false)
 
void copyParticles (const PCType &other, F &&f, bool local=false)
 
void copyParticles (const PCType &other, bool local)
 
void copyParticles (const PCType &other, F &&f, bool local)
 
void addParticles (const PCType &other, bool local=false)
 
void addParticles (const PCType &other, F &&f, bool local=false)
 
void addParticles (const PCType &other, bool local)
 
void addParticles (const PCType &other, F &&f, bool local)
 
void WriteParticleRealData (void *data, size_t size, std::ostream &os) const
 
void ReadParticleRealData (void *data, size_t size, std::istream &is)
 
void Checkpoint (const std::string &dir, const std::string &name, const Vector< std::string > &real_comp_names=Vector< std::string >(), const Vector< std::string > &int_comp_names=Vector< std::string >()) const
 
void Checkpoint (const std::string &dir, const std::string &name, bool is_checkpoint, const Vector< std::string > &real_comp_names=Vector< std::string >(), const Vector< std::string > &int_comp_names=Vector< std::string >()) const
 
void WriteBinaryParticleData (const std::string &dir, const std::string &name, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, const Vector< std::string > &real_comp_names, const Vector< std::string > &int_comp_names, F &&f, bool is_checkpoint=false) const
 
void WriteBinaryParticleData (const std::string &dir, const std::string &name, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, const Vector< std::string > &real_comp_names, const Vector< std::string > &int_comp_names, F &&f, bool is_checkpoint) const
 
void CheckpointPre ()
 
void CheckpointPost ()
 
void Restart (const std::string &dir, const std::string &file)
 
void Restart (const std::string &dir, const std::string &file, bool is_checkpoint)
 
void WritePlotFile (const std::string &dir, const std::string &name) const
 
void WritePlotFile (const std::string &dir, const std::string &name, F &&f) const
 
void WritePlotFile (const std::string &dir, const std::string &name, const Vector< std::string > &real_comp_names, const Vector< std::string > &int_comp_names) const
 
void WritePlotFile (const std::string &dir, const std::string &name, const Vector< std::string > &real_comp_names, const Vector< std::string > &int_comp_names, F &&f) const
 
void WritePlotFile (const std::string &dir, const std::string &name, const Vector< std::string > &real_comp_names) const
 
void WritePlotFile (const std::string &dir, const std::string &name, const Vector< std::string > &real_comp_names, F &&f) const
 
void WritePlotFile (const std::string &dir, const std::string &name, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp) const
 
void WritePlotFile (const std::string &dir, const std::string &name, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, F &&f) const
 
void WritePlotFile (const std::string &dir, const std::string &name, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, const Vector< std::string > &real_comp_names, const Vector< std::string > &int_comp_names) const
 
void WritePlotFile (const std::string &dir, const std::string &name, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, const Vector< std::string > &real_comp_names, const Vector< std::string > &int_comp_names, F &&f) const
 
void WritePlotFile (const std::string &dir, const std::string &name, F &&f) const
 
void WritePlotFile (const std::string &dir, const std::string &name, const Vector< std::string > &real_comp_names, const Vector< std::string > &int_comp_names, F &&f) const
 
void WritePlotFile (const std::string &dir, const std::string &name, const Vector< std::string > &real_comp_names, F &&f) const
 
void WritePlotFile (const std::string &dir, const std::string &name, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, F &&f) const
 
void WritePlotFile (const std::string &dir, const std::string &name, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, const Vector< std::string > &real_comp_names, const Vector< std::string > &int_comp_names, F &&f) const
 
void WritePlotFilePre ()
 
void WritePlotFilePost ()
 
void WriteAsciiFile (const std::string &file)
 
const Vector< ParticleLevel > & GetParticles () const
 
Vector< ParticleLevel > & GetParticles ()
 
const ParticleLevelGetParticles (int lev) const
 
ParticleLevelGetParticles (int lev)
 
const ParticleTileTypeParticlesAt (int lev, int grid, int tile) const
 
ParticleTileTypeParticlesAt (int lev, int grid, int tile)
 
const ParticleTileTypeParticlesAt (int lev, const Iterator &iter) const
 
ParticleTileTypeParticlesAt (int lev, const Iterator &iter)
 
ParticleTileTypeDefineAndReturnParticleTile (int lev, int grid, int tile)
 
ParticleTileTypeDefineAndReturnParticleTile (int lev, const Iterator &iter)
 
void AssignDensity (int rho_index, Vector< std::unique_ptr< MultiFab > > &mf_to_be_filled, int lev_min, int ncomp, int finest_level, int ngrow=2) const
 
void Interpolate (Vector< std::unique_ptr< MultiFab > > &mesh_data, int lev_min, int lev_max)
 
void InterpolateSingleLevel (MultiFab &mesh_data, int lev)
 
void AssignCellDensitySingleLevel (int rho_index, MultiFab &mf, int level, int ncomp=1, int particle_lvl_offset=0) const
 
IntVect Index (const P &p, int lev) const
 
IntVect Index (const P &p, int lev) const
 
ParticleLocData Reset (ParticleType &prt, bool update, bool verbose=true, ParticleLocData pld=ParticleLocData()) const
 
bool PeriodicShift (ParticleType &prt) const
 
void SetLevelDirectoriesCreated (bool tf)
 
bool GetLevelDirectoriesCreated () const
 
void SetUsePrePost (bool tf) const
 
bool GetUsePrePost () const
 
int GetMaxNextIDPrePost () const
 
Long GetNParticlesPrePost () const
 
void SetUseUnlink (bool tf) const
 
bool GetUseUnlink () const
 
void RedistributeCPU (int lev_min=0, int lev_max=-1, int nGrow=0, int local=0, bool remove_negative=true)
 
void RedistributeGPU (int lev_min=0, int lev_max=-1, int nGrow=0, int local=0, bool remove_negative=true)
 
Long superParticleSize () const
 
void AddRealComp (T communicate=true)
 
void AddIntComp (T communicate=true)
 
int NumRuntimeRealComps () const
 
int NumRuntimeIntComps () const
 
int NumRealComps () const
 
int NumIntComps () const
 
ContainerLike< NewAllocator > make_alike () const
 
void WriteParticles (int level, std::ofstream &ofs, int fnum, Vector< int > &which, Vector< int > &count, Vector< Long > &where, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, const Vector< std::map< std::pair< int, int >, IntVector >> &particle_io_flags, bool is_checkpoint) const
 
bool Where (const P &p, ParticleLocData &pld, int lev_min, int lev_max, int nGrow, int local_grid) const
 
void ReadParticles (int cnt, int grd, int lev, std::ifstream &ifs, int finest_level_in_file, bool convert_ids)
 

Additional Inherited Members

- Public Attributes inherited from amrex::ParticleContainer< 0, 0, FieldProbePIdx::nattribs >
RealDescriptor ParticleRealDescriptor
 
Vector< inth_redistribute_real_comp
 
Vector< inth_redistribute_int_comp
 
bool levelDirectoriesCreated
 
bool usePrePost
 
bool doUnlink
 
int maxnextidPrePost
 
int nOutFilesPrePost
 
Long nparticlesPrePost
 
Vector< Long > nParticlesAtLevelPrePost
 
Vector< Vector< int > > whichPrePost
 
Vector< Vector< int > > countPrePost
 
Vector< Vector< Long > > wherePrePost
 
std::string HdrFileNamePrePost
 
Vector< std::string > filePrefixPrePost
 
- Static Public Attributes inherited from amrex::ParticleContainer< 0, 0, FieldProbePIdx::nattribs >
static constexpr int NStructReal
 
static constexpr int NStructInt
 
static constexpr int NArrayReal
 
static constexpr int NArrayInt
 
- Protected Member Functions inherited from amrex::ParticleContainer< 0, 0, FieldProbePIdx::nattribs >
bool Where (const P &prt, ParticleLocData &pld, int lev_min=0, int lev_max=-1, int nGrow=0, int local_grid=-1) const
 
void ReadParticles (int cnt, int grd, int lev, std::ifstream &ifs, int finest_level_in_file, bool convert_ids)
 
bool EnforcePeriodicWhere (ParticleType &prt, ParticleLocData &pld, int lev_min=0, int lev_max=-1, int local_grid=-1) const
 
void SetParticleSize ()
 
- Protected Attributes inherited from amrex::ParticleContainer< 0, 0, FieldProbePIdx::nattribs >
DenseBins< ParticleTypem_bins
 

Detailed Description

This class defines the FieldProbeParticleContainer which is branched from the amrex::ParticleContainer. nattribs tells the particle container to allot 7 SOA values.

Member Typedef Documentation

◆ const_iterator

amrex iterator for our number of attributes (read-only)

◆ iterator

amrex iterator for our number of attributes

Constructor & Destructor Documentation

◆ FieldProbeParticleContainer()

FieldProbeParticleContainer::FieldProbeParticleContainer ( amrex::AmrCore amr_core)

◆ ~FieldProbeParticleContainer()

virtual FieldProbeParticleContainer::~FieldProbeParticleContainer ( )
inlinevirtual

Member Function Documentation

◆ AddNParticles()

void FieldProbeParticleContainer::AddNParticles ( int  lev,
amrex::Vector< amrex::ParticleReal > const &  x,
amrex::Vector< amrex::ParticleReal > const &  y,
amrex::Vector< amrex::ParticleReal > const &  z 
)

similar to WarpXParticleContainer::AddNParticles but does not include u(x,y,z)


The documentation for this class was generated from the following files: