WarpX
BinaryCollisionUtils.H
Go to the documentation of this file.
1 /* Copyright 2021 Neil Zaim
2  *
3  * This file is part of WarpX.
4  *
5  * License: BSD-3-Clause-LBNL
6  */
7 
8 #ifndef BINARY_COLLISION_UTILS_H_
9 #define BINARY_COLLISION_UTILS_H_
10 
14 
15 #include <AMReX_DenseBins.H>
16 #include <AMReX_Vector.H>
17 
23  using SoaData_type = WarpXParticleContainer::ParticleTileType::ParticleTileDataType;
25  using ParticleBins = amrex::DenseBins<ParticleType>;
27 
28 public:
29  AMREX_INLINE
30  amrex::Vector<int> operator() (
31  const SoaData_type /*soa_1*/, const SoaData_type /*soa_2*/,
32  const SoaData_type* /*soa_products*/,
33  const GetParticlePosition /*get_position_1*/,
34  const GetParticlePosition /*get_position_2*/,
35  const GetParticlePosition* /*get_position_products*/,
36  const index_type* /*p_mask*/, const index_type* /*products_np*/,
37  const SmartCopy* /*copy_species1*/, const SmartCopy* /*copy_species2*/,
38  const index_type* /*p_pair_indices_1*/, const index_type* /*p_pair_indices_2*/,
39  const amrex::ParticleReal* /*p_pair_reaction_weight*/
40  ) const {
41  return amrex::Vector<int>();
42  }
43 };
44 
45 #endif // BINARY_COLLISION_UTILS_H_
This class does nothing and is used as second template parameter for binary collisions that do not cr...
Definition: BinaryCollisionUtils.H:22
WarpXParticleContainer::ParticleTileType::ParticleTileDataType SoaData_type
Definition: BinaryCollisionUtils.H:23
ParticleBins::index_type index_type
Definition: BinaryCollisionUtils.H:26
WarpXParticleContainer::ParticleType ParticleType
Definition: BinaryCollisionUtils.H:24
ParticleBins::index_type index_type
Definition: ParticleUtils.cpp:32
AMREX_INLINE amrex::Vector< int > operator()(const SoaData_type, const SoaData_type, const SoaData_type *, const GetParticlePosition, const GetParticlePosition, const GetParticlePosition *, const index_type *, const index_type *, const SmartCopy *, const SmartCopy *, const index_type *, const index_type *, const amrex::ParticleReal *) const
Definition: BinaryCollisionUtils.H:30
WarpXParticleContainer::ParticleType ParticleType
Definition: ParticleUtils.cpp:29
amrex::DenseBins< ParticleType > ParticleBins
Definition: BinaryCollisionUtils.H:25
This is a functor for performing a "smart copy" that works in both host and device code...
Definition: SmartCopy.H:33
Functor that can be used to extract the positions of the macroparticles inside a ParallelFor kernel...
Definition: GetAndSetPosition.H:48