WarpX
Loading...
Searching...
No Matches
FieldProbeParticleContainer Class Reference

#include <FieldProbeParticleContainer.H>

Inheritance diagram for FieldProbeParticleContainer:
amrex::ParticleContainer_impl< SoAParticle< T_NArrayReal, T_NArrayInt >, T_NArrayReal, T_NArrayInt, Allocator, CellAssignor > amrex::ParticleContainerBase

Public Types

using iterator = amrex::ParIterSoA<FieldProbePIdx::nattribs, 0>
 amrex iterator for our number of attributes
using const_iterator = amrex::ParConstIterSoA<FieldProbePIdx::nattribs, 0>
 amrex iterator for our number of attributes (read-only)
Public Types inherited from amrex::ParticleContainer_impl< SoAParticle< T_NArrayReal, T_NArrayInt >, T_NArrayReal, T_NArrayInt, Allocator, CellAssignor >
typedef T_ParticleType ParticleType
typedef typename ParticleType::ConstType ConstParticleType
typedef T_CellAssignor CellAssignor
typedef Allocator< T > AllocatorType
typedef Particle< NStructReal+NArrayReal, NStructInt+NArrayIntSuperParticleType
typedef typename Particle< NStructReal, NStructInt >::RealType RealType
typedef ParticleContainer_impl< ParticleType, NArrayReal, NArrayInt, Allocator, CellAssignorParticleContainerType
typedef std::conditional_t< is_rtsoa_pc, ParticleTileRT< typename ParticleType::RealType, typename ParticleType::IntType >, ParticleTile< ParticleType, NArrayReal, NArrayInt, Allocator > > ParticleTileType
typedef ParticleInitType< NStructReal, NStructInt, NArrayReal, NArrayIntParticleInitData
typedef std::map< std::pair< int, int >, ParticleTileTypeParticleLevel
typedef typename ParticleTileType::ParticleTileDataType PTDType
typedef typename ParticleTileType::ConstParticleTileDataType ConstPTDType
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 ParIter_impl< ParticleType, NArrayReal, NArrayInt, Allocator, CellAssignorParIterType
typedef ParConstIter_impl< ParticleType, NArrayReal, NArrayInt, Allocator, CellAssignorParConstIterType
typedef amrex::ParticleContainer_impl< ParticleType, NArrayReal, NArrayInt, NewAllocator > ContainerLike
typedef PODVector< int, Allocator< int > > FlagsVector

Public Member Functions

 FieldProbeParticleContainer (amrex::AmrCore *amr_core)
 ~FieldProbeParticleContainer () override=default
 FieldProbeParticleContainer (FieldProbeParticleContainer const &)=delete
FieldProbeParticleContaineroperator= (FieldProbeParticleContainer const &)=delete
 FieldProbeParticleContainer (FieldProbeParticleContainer &&)=default
FieldProbeParticleContaineroperator= (FieldProbeParticleContainer &&)=default
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)
Public Member Functions inherited from amrex::ParticleContainer_impl< SoAParticle< T_NArrayReal, T_NArrayInt >, T_NArrayReal, T_NArrayInt, Allocator, CellAssignor >
 ParticleContainer_impl ()
 ParticleContainer_impl (ParGDBBase *gdb)
 ParticleContainer_impl (const Geometry &geom, const DistributionMapping &dmap, const BoxArray &ba)
 ParticleContainer_impl (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< int > &rr)
 ParticleContainer_impl (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< IntVect > &rr)
 ~ParticleContainer_impl () override=default
 ParticleContainer_impl (const ParticleContainer_impl &)=delete
ParticleContainer_imploperator= (const ParticleContainer_impl &)=delete
 ParticleContainer_impl (ParticleContainer_impl &&) noexcept=default
ParticleContainer_imploperator= (ParticleContainer_impl &&) noexcept=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 &pdata, 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 ReorderParticles (int lev, const MFIter &mfi, const index_type *permutations)
void SortParticlesForDeposition (IntVect idx_type)
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< LongNumberOfParticlesInGrid (int level, bool only_valid=true, bool only_local=false) const
void CapacityOfParticlesInGrid (LayoutData< I > &mem, int lev) 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 CreateGhostParticles (int level, int ngrow, AoS &ghosts) const
void AddParticlesAtLevel (AoS &particles, int level, int nGrow=0)
void CreateVirtualParticles (int level, ParticleTileType &virts) const
void CreateGhostParticles (int level, int ngrow, ParticleTileType &ghosts) const
void AddParticlesAtLevel (ParticleTileType &particles, int level, int nGrow=0)
void clearParticles ()
void copyParticles (const PCType &other, bool local=false)
void addParticles (const PCType &other, bool local=false)
void copyParticles (const PCType &other, F &&f, bool local=false)
void addParticles (const PCType &other, F const &f, bool local=false)
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 Checkpoint (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 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 const &f, bool is_checkpoint=false) 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 const &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 const &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 const &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 const &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 const &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 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
ParticleLocData Reset (ParticleType &prt, bool update, bool verbose=true, ParticleLocData pld=ParticleLocData()) const
bool PeriodicShift (P &p) const
void SetLevelDirectoriesCreated (bool tf)
bool GetLevelDirectoriesCreated () const
void SetUsePrePost (bool tf) const
bool GetUsePrePost () const
Long 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 Redistribute_impl (int lev_min=0, int lev_max=-1, int nGrow=0, int local=0, bool remove_negative=true)
void ReserveForRedistribute (ParticleCopyPlan const &plan)
Long superParticleSize () const
void AddRealComp (std::string const &name, int communicate=1)
void AddRealComp (int communicate=1)
void AddIntComp (std::string const &name, int communicate=1)
void AddIntComp (int communicate=1)
int NumRuntimeRealComps () const
int NumRuntimeIntComps () const
int NumRealComps () const
int NumIntComps () const
void ResizeRuntimeRealComp (int new_size, bool communicate)
void ResizeRuntimeIntComp (int new_size, bool communicate)
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 >, FlagsVector > > &particle_io_flags, bool is_checkpoint) const
void SetSoACompileTimeNames (std::vector< std::string > const &rdata_name, std::vector< std::string > const &idata_name)
std::vector< std::string > GetRealSoANames () const
std::vector< std::string > GetIntSoANames () const
bool HasRealComp (std::string const &name)
bool HasIntComp (std::string const &name)
int GetRealCompIndex (std::string const &name)
int GetIntCompIndex (std::string const &name)
Public Member Functions inherited from amrex::ParticleContainerBase
 ParticleContainerBase ()=default
 ParticleContainerBase (ParGDBBase *gdb)
 ParticleContainerBase (const Geometry &geom, const DistributionMapping &dmap, const BoxArray &ba)
 ParticleContainerBase (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< int > &rr)
 ParticleContainerBase (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< IntVect > &rr)
virtual ~ParticleContainerBase ()=default
 ParticleContainerBase (const ParticleContainerBase &)=delete
ParticleContainerBaseoperator= (const ParticleContainerBase &)=delete
 ParticleContainerBase (ParticleContainerBase &&) noexcept=default
ParticleContainerBaseoperator= (ParticleContainerBase &&) noexcept=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)
bool isDefined () const
void RedefineDummyMF (int lev)
MFIter MakeMFIter (int lev, const MFItInfo &info) const
MFIter MakeMFIter (int lev) const
MFIter MakeMFIter (int lev, bool tile) const
void SetParGDB (const Geometry &geom, const DistributionMapping &dmap, const BoxArray &ba)
void SetParGDB (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< IntVect > &rr)
void SetParGDB (const Vector< Geometry > &geom, const Vector< DistributionMapping > &dmap, const Vector< BoxArray > &ba, const Vector< int > &rr)
void SetParticleBoxArray (int lev, BoxArray new_ba)
void SetParticleDistributionMap (int lev, DistributionMapping new_dmap)
void SetParticleGeometry (int lev, Geometry new_geom)
const BoxArrayParticleBoxArray (int lev) const
const DistributionMappingParticleDistributionMap (int lev) const
const GeometryGeom (int lev) const
const GeometryParticleGeom (int lev) const
int finestLevel () const
int maxLevel () const
int numLevels () const
const ParGDBBaseGetParGDB () const
ParGDBBaseGetParGDB ()
int Verbose () const
void SetVerbose (int verbose)
int stableRedistribute () const
void setStableRedistribute (int stable)
const ParticleBufferMapBufferMap () const
void ensureParticleHandshakeWindow () const
LongparticleHandshakeBuffer () const
MPI_Win particleHandshakeWindow () const
Vector< intNeighborProcs (int ngrow) const
bool OnSameGrids (int level, const MF &mf) const
Arenaarena () const
void SetArena (Arena *a)

Static Public Attributes

static constexpr int NStructReal = 0
static constexpr int NStructInt = 0
static constexpr int NReal = FieldProbePIdx::nattribs
static constexpr int NInt = 0
Static Public Attributes inherited from amrex::ParticleContainer_impl< SoAParticle< T_NArrayReal, T_NArrayInt >, T_NArrayReal, T_NArrayInt, Allocator, CellAssignor >
static constexpr int NStructReal
static constexpr int NStructInt
static constexpr int NArrayReal
static constexpr int NArrayInt
static constexpr bool is_rtsoa_pc
static constexpr bool has_polymorphic_allocator
Static Public Attributes inherited from amrex::ParticleContainerBase
static bool do_tiling
static IntVect tile_size
static bool memEfficientSort
static bool use_comms_arena

Additional Inherited Members

Static Public Member Functions inherited from amrex::ParticleContainerBase
static const std::string & CheckpointVersion ()
static const std::string & PlotfileVersion ()
static const std::string & DataPrefix ()
static int MaxReaders ()
static Long MaxParticlesPerRead ()
static const std::string & AggregationType ()
static int AggregationBuffer ()
Public Attributes inherited from amrex::ParticleContainer_impl< SoAParticle< T_NArrayReal, T_NArrayInt >, T_NArrayReal, T_NArrayInt, Allocator, CellAssignor >
RealDescriptor ParticleRealDescriptor
Vector< inth_redistribute_real_comp
Vector< inth_redistribute_int_comp
bool levelDirectoriesCreated
bool usePrePost
bool doUnlink
Long maxnextidPrePost
int nOutFilesPrePost
Long nparticlesPrePost
Vector< LongnParticlesAtLevelPrePost
Vector< Vector< int > > whichPrePost
Vector< Vector< int > > countPrePost
Vector< Vector< Long > > wherePrePost
std::string HdrFileNamePrePost
Vector< std::string > filePrefixPrePost
Public Attributes inherited from amrex::ParticleContainerBase
AmrParticleLocator< DenseBins< Box > > m_particle_locator
Protected Member Functions inherited from amrex::ParticleContainer_impl< SoAParticle< T_NArrayReal, T_NArrayInt >, T_NArrayReal, T_NArrayInt, Allocator, CellAssignor >
bool Where (const P &prt, ParticleLocData &pld, int lev_min=0, int lev_max=-1, int nGrow=0, int local_grid=-1) const
bool EnforcePeriodicWhere (P &prt, ParticleLocData &pld, int lev_min=0, int lev_max=-1, int local_grid=-1) const
void ReadParticles (int cnt, int grd, int lev, std::ifstream &ifs, int finest_level_in_file, bool convert_ids)
void SetParticleSize ()
Protected Member Functions inherited from amrex::ParticleContainerBase
void BuildRedistributeMask (int lev, int nghost=1) const
void defineBufferMap () const
Protected Attributes inherited from amrex::ParticleContainer_impl< SoAParticle< T_NArrayReal, T_NArrayInt >, T_NArrayReal, T_NArrayInt, Allocator, CellAssignor >
DenseBins< typename ParticleTileType::ParticleTileDataType > m_bins
Protected Attributes inherited from amrex::ParticleContainerBase
int m_verbose
int m_stable_redistribute
std::unique_ptr< ParGDBm_gdb_object
ParGDBBasem_gdb
Vector< std::unique_ptr< MultiFab > > m_dummy_mf
Arenam_arena
std::unique_ptr< iMultiFabredistribute_mask_ptr
int redistribute_mask_nghost
amrex::Vector< intneighbor_procs
ParticleBufferMap m_buffer_map
std::unique_ptr< ParticleHandshakeWindowm_particle_handshake_window

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() [1/3]

FieldProbeParticleContainer::FieldProbeParticleContainer ( amrex::AmrCore * amr_core)
explicit

◆ ~FieldProbeParticleContainer()

FieldProbeParticleContainer::~FieldProbeParticleContainer ( )
overridedefault

◆ FieldProbeParticleContainer() [2/3]

FieldProbeParticleContainer::FieldProbeParticleContainer ( FieldProbeParticleContainer const & )
delete

◆ FieldProbeParticleContainer() [3/3]

FieldProbeParticleContainer::FieldProbeParticleContainer ( FieldProbeParticleContainer && )
default

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)

◆ operator=() [1/2]

FieldProbeParticleContainer & FieldProbeParticleContainer::operator= ( FieldProbeParticleContainer && )
default

◆ operator=() [2/2]

FieldProbeParticleContainer & FieldProbeParticleContainer::operator= ( FieldProbeParticleContainer const & )
delete

Member Data Documentation

◆ NInt

int FieldProbeParticleContainer::NInt = 0
staticconstexpr

◆ NReal

int FieldProbeParticleContainer::NReal = FieldProbePIdx::nattribs
staticconstexpr

◆ NStructInt

int FieldProbeParticleContainer::NStructInt = 0
staticconstexpr

◆ NStructReal

int FieldProbeParticleContainer::NStructReal = 0
staticconstexpr

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