WarpX
Functions
ElasticCollisionPerez.H File Reference
#include "ComputeTemperature.H"
#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 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)
 

Function Documentation

◆ 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_indextype of index arguments
T_PRtype of particle related floating point arguments
T_Rtype of other floating point arguments
SoaData_typetype of the "struct of array" for the two involved species
Parameters
[in]I1s,I2sis the start index for I1,I2 (inclusive).
[in]I1e,I2eis the stop index for I1,I2 (exclusive).
[in]I1,I2the index arrays. They determine all elements that will be used.
[in,out]soa_1,soa_2the struct of array for species 1/2
[in]q1,q2charge of species 1/2
[in]m1,m2mass of species 1/2
[in]T1temperature (Joule) of species 1 and will be used if greater than zero, otherwise will be computed.
[in]T2temperature (Joule) of species 2,
See also
T1
Parameters
[in]dtis the time step length between two collision calls.
[in]Lis the Coulomb log and will be used if greater than zero, otherwise will be computed.
[in]dVis the volume of the corresponding cell.
[in]enginethe random number generator state & factory
[in]isSameSpecieswhether this is an intra-species collision process
[in]coll_idxis the collision index offset.