WarpX
|
This class implements a particle merging scheme wherein particles are clustered in phase space and particles in the same cluster is merged into two remaining particles. The scheme conserves linear momentum and kinetic energy within each cluster. More...
#include <VelocityCoincidenceThinning.H>
Classes | |
struct | HeapSort |
This merging routine requires functionality to sort a GPU vector based on another GPU vector's values. The heap-sort functions below were obtained from https://www.geeksforgeeks.org/iterative-heap-sort/ and modified for the current purpose. It achieves the same as. More... | |
struct | VelocityBinCalculator |
Struct used to assign velocity space bin numbers to a given set of particles. More... | |
Public Types | |
enum class | VelocityGridType { Spherical = 0 , Cartesian = 1 } |
Public Member Functions | |
VelocityCoincidenceThinning ()=default | |
Default constructor of the VelocityCoincidenceThinning class. More... | |
VelocityCoincidenceThinning (const std::string &species_name) | |
Constructor of the VelocityCoincidenceThinning class. More... | |
void | operator() (WarpXParIter &pti, int lev, WarpXParticleContainer *pc) const final |
A method that performs merging for the considered species. More... | |
![]() | |
virtual | ~ResamplingAlgorithm ()=default |
Virtual destructor of the abstract ResamplingAlgorithm class. More... | |
ResamplingAlgorithm ()=default | |
ResamplingAlgorithm (ResamplingAlgorithm const &)=default | |
ResamplingAlgorithm & | operator= (ResamplingAlgorithm const &)=default |
ResamplingAlgorithm (ResamplingAlgorithm &&)=default | |
ResamplingAlgorithm & | operator= (ResamplingAlgorithm &&)=default |
Private Attributes | |
VelocityGridType | m_velocity_grid_type |
int | m_min_ppc = 1 |
int | m_ntheta |
int | m_nphi |
amrex::ParticleReal | m_delta_ur |
amrex::Vector< amrex::ParticleReal > | m_delta_u |
This class implements a particle merging scheme wherein particles are clustered in phase space and particles in the same cluster is merged into two remaining particles. The scheme conserves linear momentum and kinetic energy within each cluster.
|
strong |
|
default |
Default constructor of the VelocityCoincidenceThinning class.
VelocityCoincidenceThinning::VelocityCoincidenceThinning | ( | const std::string & | species_name | ) |
Constructor of the VelocityCoincidenceThinning class.
[in] | species_name | the name of the resampled species |
|
finalvirtual |
A method that performs merging for the considered species.
[in] | pti | WarpX particle iterator of the particles to resample. |
[in] | lev | the index of the refinement level. |
[in] | pc | a pointer to the particle container. |
Implements ResamplingAlgorithm.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |