Go to the source code of this file.
|
template<typename index_type > |
AMREX_GPU_HOST_DEVICE AMREX_INLINE void | CollisionPairFilter (const amrex::ParticleReal u1x, const amrex::ParticleReal u1y, const amrex::ParticleReal u1z, const amrex::ParticleReal u2x, const amrex::ParticleReal u2y, const amrex::ParticleReal u2z, const amrex::ParticleReal m1, const amrex::ParticleReal m2, const amrex::ParticleReal w1, const amrex::ParticleReal w2, const amrex::Real dt, const amrex::ParticleReal dV, const int pair_index, index_type *AMREX_RESTRICT p_mask, amrex::ParticleReal *AMREX_RESTRICT p_pair_reaction_weight, const int multiplier, const int process_count, const ScatteringProcess::Executor *scattering_processes, const amrex::RandomEngine &engine) |
| This function determines whether a collision occurs for a given pair of particles. More...
|
|
◆ CollisionPairFilter()
template<typename index_type >
AMREX_GPU_HOST_DEVICE AMREX_INLINE void CollisionPairFilter |
( |
const amrex::ParticleReal |
u1x, |
|
|
const amrex::ParticleReal |
u1y, |
|
|
const amrex::ParticleReal |
u1z, |
|
|
const amrex::ParticleReal |
u2x, |
|
|
const amrex::ParticleReal |
u2y, |
|
|
const amrex::ParticleReal |
u2z, |
|
|
const amrex::ParticleReal |
m1, |
|
|
const amrex::ParticleReal |
m2, |
|
|
const amrex::ParticleReal |
w1, |
|
|
const amrex::ParticleReal |
w2, |
|
|
const amrex::Real |
dt, |
|
|
const amrex::ParticleReal |
dV, |
|
|
const int |
pair_index, |
|
|
index_type *AMREX_RESTRICT |
p_mask, |
|
|
amrex::ParticleReal *AMREX_RESTRICT |
p_pair_reaction_weight, |
|
|
const int |
multiplier, |
|
|
const int |
process_count, |
|
|
const ScatteringProcess::Executor * |
scattering_processes, |
|
|
const amrex::RandomEngine & |
engine |
|
) |
| |
This function determines whether a collision occurs for a given pair of particles.
- Parameters
-
[in] | u1x,u1y,u1z | momenta of the first colliding particle. |
[in] | u2x,u2y,u2z | momenta of the second colliding particle. |
[in] | m1,m2 | masses. |
[in] | w1,w2 | effective weight of the colliding particles. |
[in] | dt | is the time step length between two collision calls. |
[in] | dV | is the volume of the corresponding cell. |
[in] | pair_index | is the index of the colliding pair. |
[out] | p_mask | is a mask that will be set to a non-zero integer if a collision occurs. The integer encodes the scattering process. |
[out] | p_pair_reaction_weight | stores the weight of the product particles. |
[in] | multiplier | factor by which the collision probability is increased to account for all other possible binary collision partners. |
[in] | process_count | number of scattering processes to consider. |
[in] | scattering | processes an array of scattering processes included for consideration. |
[in] | engine | the random engine. |