8 #ifndef WARPX_PAIRWISE_COULOMB_COLLISION_FUNC_H_
9 #define WARPX_PAIRWISE_COULOMB_COLLISION_FUNC_H_
51 const bool isSameSpecies):
54 using namespace amrex::literals;
57 amrex::ParticleReal CoulombLog = -1.0_prt;
59 pp_collision_name,
"CoulombLog", CoulombLog);
90 amrex::ParticleReal
const q1, amrex::ParticleReal
const q2,
91 amrex::ParticleReal
const m1, amrex::ParticleReal
const m2,
92 amrex::Real
const dt, amrex::Real
const dV,
index_type coll_idx,
95 amrex::ParticleReal* ,
98 using namespace amrex::literals;
101 I1s, I1e, I2s, I2e, I1, I2,
103 q1, q2, m1, m2, -1.0_prt, -1.0_prt,
#define AMREX_GPU_HOST_DEVICE
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)
Definition: ElasticCollisionPerez.H:45
Definition: MultiParticleContainer.H:66
This functor performs pairwise Coulomb collision on a single cell by calling the function ElasticColl...
Definition: PairWiseCoulombCollisionFunc.H:27
PairWiseCoulombCollisionFunc()=default
Default constructor of the PairWiseCoulombCollisionFunc class.
Executor m_exe
Definition: PairWiseCoulombCollisionFunc.H:117
amrex::ParticleReal m_CoulombLog
Definition: PairWiseCoulombCollisionFunc.H:114
ParticleBins::index_type index_type
Definition: PairWiseCoulombCollisionFunc.H:33
WarpXParticleContainer::ParticleType ParticleType
Definition: PairWiseCoulombCollisionFunc.H:29
Executor const & executor() const
Definition: PairWiseCoulombCollisionFunc.H:111
PairWiseCoulombCollisionFunc(const std::string &collision_name, [[maybe_unused]] MultiParticleContainer const *const mypc, const bool isSameSpecies)
Constructor of the PairWiseCoulombCollisionFunc class.
Definition: PairWiseCoulombCollisionFunc.H:49
bool m_isSameSpecies
Definition: PairWiseCoulombCollisionFunc.H:115
ParticleTile< ParticleType, NArrayReal, NArrayInt, Allocator > ParticleTileType
T_ParticleType ParticleType
float dt
Definition: stencil.py:442
int queryWithParser(const amrex::ParmParse &a_pp, char const *const str, T &val)
Definition: ParserUtils.H:137
Definition: PairWiseCoulombCollisionFunc.H:66
bool m_isSameSpecies
Definition: PairWiseCoulombCollisionFunc.H:108
amrex::ParticleReal m_CoulombLog
Definition: PairWiseCoulombCollisionFunc.H:107
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 q1, amrex::ParticleReal const q2, amrex::ParticleReal const m1, amrex::ParticleReal const m2, amrex::Real const dt, amrex::Real const dV, index_type coll_idx, index_type const, index_type *, index_type *, index_type *, amrex::ParticleReal *, amrex::RandomEngine const &engine) const
Executor of the PairWiseCoulombCollisionFunc class. Performs Coulomb collisions at the cell level by ...
Definition: PairWiseCoulombCollisionFunc.H:83
ParticleTileData< StorageParticleType, NArrayReal, NArrayInt > ParticleTileDataType