WarpX
Namespaces | Functions
ParticleUtils.H File Reference
#include "Particles/WarpXParticleContainer.H"
#include <AMReX_DenseBins.H>
#include <AMReX_Particles.H>
#include <AMReX_BaseFwd.H>

Go to the source code of this file.

Namespaces

 ParticleUtils
 

Functions

amrex::DenseBins< WarpXParticleContainer::ParticleType > ParticleUtils::findParticlesInEachCell (int const lev, amrex::MFIter const &mfi, WarpXParticleContainer::ParticleTileType const &ptile)
 Find the particles and count the particles that are in each cell. More specifically this function returns an amrex::DenseBins object containing an offset array and a permutation array which can be used to loop over all the cells in a tile and apply an algorithm to particles of a given species present in each cell. Note that this does not rearrange particle arrays. More...
 
AMREX_GPU_HOST_DEVICE AMREX_INLINE void ParticleUtils::getRandomVector (amrex::Real &x, amrex::Real &y, amrex::Real &z, amrex::RandomEngine const &engine)
 Generate random unit vector in 3 dimensions https://mathworld.wolfram.com/SpherePointPicking.html. More...
 
AMREX_GPU_HOST_DEVICE AMREX_INLINE void ParticleUtils::RandomizeVelocity (amrex::ParticleReal &ux, amrex::ParticleReal &uy, amrex::ParticleReal &uz, const amrex::ParticleReal vp, amrex::RandomEngine const &engine)
 Function to perform scattering of a particle that results in a random velocity vector with given magnitude. This is used in collision events. More...