WarpX
|
This class defines an operator to create product particles from DSMC collisions and sets the particle properties (position, momentum, weight). More...
#include <SplitAndScatterFunc.H>
Public Member Functions | |
SplitAndScatterFunc ()=default | |
Default constructor of the SplitAndScatterFunc class. More... | |
SplitAndScatterFunc (const std::string &collision_name, MultiParticleContainer const *mypc) | |
Constructor of the SplitAndScatterFunc class. More... | |
AMREX_INLINE amrex::Vector< int > | operator() (const index_type &n_total_pairs, const SoaData_type &, const SoaData_type &, const amrex::Vector< WarpXParticleContainer * > &pc_products, ParticleTileType **AMREX_RESTRICT tile_products, const amrex::ParticleReal m1, const amrex::ParticleReal m2, const amrex::Vector< amrex::ParticleReal > &, const index_type *AMREX_RESTRICT mask, const amrex::Vector< index_type > &products_np, const SmartCopy *AMREX_RESTRICT copy_species1, const SmartCopy *AMREX_RESTRICT copy_species2, const index_type *AMREX_RESTRICT p_pair_indices_1, const index_type *AMREX_RESTRICT p_pair_indices_2, const amrex::ParticleReal *AMREX_RESTRICT p_pair_reaction_weight) const |
Function that performs the particle scattering and injection due to binary collisions. More... | |
Private Types | |
using | ParticleType = typename WarpXParticleContainer::ParticleType |
using | ParticleTileType = typename WarpXParticleContainer::ParticleTileType |
using | ParticleTileDataType = typename ParticleTileType::ParticleTileDataType |
using | ParticleBins = amrex::DenseBins< ParticleTileDataType > |
using | index_type = typename ParticleBins::index_type |
using | SoaData_type = typename WarpXParticleContainer::ParticleTileType::ParticleTileDataType |
Private Attributes | |
int | m_num_product_species |
amrex::Gpu::DeviceVector< int > | m_num_products_device |
amrex::Gpu::HostVector< int > | m_num_products_host |
CollisionType | m_collision_type |
This class defines an operator to create product particles from DSMC collisions and sets the particle properties (position, momentum, weight).
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
default |
Default constructor of the SplitAndScatterFunc class.
SplitAndScatterFunc::SplitAndScatterFunc | ( | const std::string & | collision_name, |
MultiParticleContainer const * | mypc | ||
) |
Constructor of the SplitAndScatterFunc class.
[in] | collision_name | the name of the collision |
[in] | mypc | pointer to the MultiParticleContainer |
|
inline |
Function that performs the particle scattering and injection due to binary collisions.
|
private |
|
private |
|
private |
|
private |