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 q1, T_PR const q2, T_PR const m1, T_PR const m2, T_PR const T1, T_PR const T2, T_R const dt, 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 |
q1, |
|
|
T_PR const |
q2, |
|
|
T_PR const |
m1, |
|
|
T_PR const |
m2, |
|
|
T_PR const |
T1, |
|
|
T_PR const |
T2, |
|
|
T_R const |
dt, |
|
|
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] | q1,q2 | charge of species 1/2 |
[in] | m1,m2 | mass of species 1/2 |
[in] | T1 | temperature (Joule) of species 1 and will be used if greater than zero, otherwise will be computed. |
[in] | T2 | temperature (Joule) of species 2, |
- See also
- T1
- Parameters
-
[in] | dt | is the time step length between two collision calls. |
[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. |