Go to the source code of this file.
|
| template<typename T_index, typename T_PR, typename T_R, typename SoaData_type> |
| AMREX_GPU_HOST_DEVICE AMREX_INLINE void | ElasticCollisionPerez (T_index const I1s, T_index const I1e, T_index const I2s, T_index const I2e, T_index const *AMREX_RESTRICT I1, T_index const *AMREX_RESTRICT I2, SoaData_type soa_1, SoaData_type soa_2, T_PR const n1, T_PR const n2, T_PR const T1, T_PR const T2, T_PR const q1, T_PR const q2, T_PR const m1, T_PR const m2, T_R const dt, T_R const global_lamdb, T_PR const L, T_R const dV, amrex::RandomEngine const &engine, bool const isSameSpecies, T_index coll_idx) |
| |
◆ ElasticCollisionPerez()
template<typename T_index, typename T_PR, typename T_R, typename SoaData_type>
| AMREX_GPU_HOST_DEVICE AMREX_INLINE void ElasticCollisionPerez |
( |
T_index const | I1s, |
|
|
T_index const | I1e, |
|
|
T_index const | I2s, |
|
|
T_index const | I2e, |
|
|
T_index const *AMREX_RESTRICT | I1, |
|
|
T_index const *AMREX_RESTRICT | I2, |
|
|
SoaData_type | soa_1, |
|
|
SoaData_type | soa_2, |
|
|
T_PR const | n1, |
|
|
T_PR const | n2, |
|
|
T_PR const | T1, |
|
|
T_PR const | T2, |
|
|
T_PR const | q1, |
|
|
T_PR const | q2, |
|
|
T_PR const | m1, |
|
|
T_PR const | m2, |
|
|
T_R const | dt, |
|
|
T_R const | global_lamdb, |
|
|
T_PR const | L, |
|
|
T_R const | dV, |
|
|
amrex::RandomEngine const & | engine, |
|
|
bool const | isSameSpecies, |
|
|
T_index | coll_idx ) |
Prepare information for and call UpdateMomentumPerezElastic().
- Template Parameters
-
| T_index | type of index arguments |
| T_PR | type of particle related floating point arguments |
| T_R | type of other floating point arguments |
| SoaData_type | type of the "struct of array" for the two involved species |
- 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 | the index arrays. They determine all elements that will be used. |
| [in,out] | soa_1,soa_2 | the struct of array for species 1/2 |
| [in] | n1,n2 | density of species 1/2 |
| [in] | T1,T2 | temperature [Joules] of species 1/2 only used if L <= 0 |
| [in] | q1,q2 | charge of species 1/2 |
| [in] | m1,m2 | mass of species 1/2 |
| [in] | dt | is the time step length between two collision calls. |
| [in] | global_lamdb | is the global Debye length and will be used if greater than zero |
| [in] | L | is the Coulomb log and will be used if greater than zero, otherwise will be computed. |
| [in] | dV | is the volume of the corresponding cell. |
| [in] | engine | the random number generator state & factory |
| [in] | isSameSpecies | whether this is an intra-species collision process |
| [in] | coll_idx | is the collision index offset. |