#include <DSMCFunc.H>
|
AMREX_GPU_HOST_DEVICE AMREX_INLINE void | operator() (index_type const I1s, index_type const I1e, index_type const I2s, index_type const I2e, index_type const *AMREX_RESTRICT I1, index_type const *AMREX_RESTRICT I2, const SoaData_type &soa_1, const SoaData_type &soa_2, GetParticlePosition< PIdx >, GetParticlePosition< PIdx >, amrex::ParticleReal const, amrex::ParticleReal const, amrex::ParticleReal const m1, amrex::ParticleReal const m2, amrex::Real const dt, amrex::Real const dV, index_type coll_idx, index_type const cell_start_pair, index_type *AMREX_RESTRICT p_mask, index_type *AMREX_RESTRICT p_pair_indices_1, index_type *AMREX_RESTRICT p_pair_indices_2, amrex::ParticleReal *AMREX_RESTRICT p_pair_reaction_weight, amrex::RandomEngine const &engine) const |
| Executor of the DSMCFunc class. Performs DSMC collisions at the cell level. Note that this function does not yet create the product particles, but instead fills an array p_mask that stores which pairs result in a collision event. More...
|
|
◆ operator()()
AMREX_GPU_HOST_DEVICE AMREX_INLINE void DSMCFunc::Executor::operator() |
( |
index_type const |
I1s, |
|
|
index_type const |
I1e, |
|
|
index_type const |
I2s, |
|
|
index_type const |
I2e, |
|
|
index_type const *AMREX_RESTRICT |
I1, |
|
|
index_type const *AMREX_RESTRICT |
I2, |
|
|
const SoaData_type & |
soa_1, |
|
|
const SoaData_type & |
soa_2, |
|
|
GetParticlePosition< PIdx > |
, |
|
|
GetParticlePosition< PIdx > |
, |
|
|
amrex::ParticleReal const |
, |
|
|
amrex::ParticleReal const |
, |
|
|
amrex::ParticleReal const |
m1, |
|
|
amrex::ParticleReal const |
m2, |
|
|
amrex::Real const |
dt, |
|
|
amrex::Real const |
dV, |
|
|
index_type |
coll_idx, |
|
|
index_type const |
cell_start_pair, |
|
|
index_type *AMREX_RESTRICT |
p_mask, |
|
|
index_type *AMREX_RESTRICT |
p_pair_indices_1, |
|
|
index_type *AMREX_RESTRICT |
p_pair_indices_2, |
|
|
amrex::ParticleReal *AMREX_RESTRICT |
p_pair_reaction_weight, |
|
|
amrex::RandomEngine const & |
engine |
|
) |
| const |
|
inline |
Executor of the DSMCFunc class. Performs DSMC collisions at the cell level. Note that this function does not yet create the product particles, but instead fills an array p_mask that stores which pairs result in a collision event.
- Parameters
-
[in] | I1s,I2s | is the start index for I1,I2 (inclusive). |
[in] | I1e,I2e | is the stop index for I1,I2 (exclusive). |
[in] | I1,I2 | index arrays. They determine all elements that will be used. |
[in] | soa_1,soa_2 | contain the struct of array data of the two species |
[in] | m1,m2 | are masses. |
[in] | dt | is the time step length between two collision calls. |
[in] | dV | is the volume of the corresponding cell. |
[in] | coll_idx | is the collision index offset. |
[in] | cell_start_pair | is the start index of the pairs in that cell. |
[out] | p_mask | is a mask that will be set to true if a fusion event occurs for a given pair. It is only needed here to store information that will be used later on when actually creating the product particles. |
[out] | p_pair_indices_1,p_pair_indices_2 | arrays that store the indices of the particles of a given pair. They are only needed here to store information that will be used later on when actually creating the product particles. |
[out] | p_pair_reaction_weight | stores the weight of the product particles. It is only needed here to store information that will be used later on when actually creating the product particles. |
[in] | engine | the random engine. |
◆ m_process_count
int DSMCFunc::Executor::m_process_count |
◆ m_scattering_processes_data
The documentation for this struct was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/warpx/checkouts/latest/Source/Particles/Collision/BinaryCollision/DSMC/DSMCFunc.H