|
WarpX
|
#include "UpdateMomentumPerezElastic.H"#include "Particles/WarpXParticleContainer.H"#include "Utils/WarpXConst.H"#include <AMReX_Random.H>Go to the source code of this file.
Functions | |
| 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, CumulativeScatteringModel const scattering_model, T_PR const L, T_R const dV, amrex::RandomEngine const &engine, bool const isSameSpecies, T_index coll_idx) |
| 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, | ||
| CumulativeScatteringModel const | scattering_model, | ||
| 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().
| 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 |
| [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] | scattering_model | is the model used to obtain the scattering angle |
| [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. |