Hipace
CoulombCollision.H
Go to the documentation of this file.
1 #ifndef HIPACE_COULOMB_COLLISION_H_
2 #define HIPACE_COULOMB_COLLISION_H_
3 
6 
7 #include <AMReX_DenseBins.H>
8 #include <AMReX_REAL.H>
9 #include <AMReX_ParmParse.H>
10 
16 {
17 public:
18  int m_species1_index {-1};
19  int m_species2_index {-1};
20  int m_nbeams {0};
21  bool m_isSameSpecies {false};
22  amrex::Real m_CoulombLog {-1.};
23 
26  const std::vector<std::string>& plasma_species_names,
27  const std::vector<std::string>& beam_species_names,
28  std::string const collision_name);
29 
44  static void doPlasmaPlasmaCoulombCollision (
45  int lev, const amrex::Box& bx, const amrex::Geometry& geom, PlasmaParticleContainer& species1,
46  PlasmaParticleContainer& species2, bool is_same_species, amrex::Real CoulombLog,
47  amrex::Real background_density_SI);
48 
62  static void doBeamPlasmaCoulombCollision (
63  int lev, const amrex::Box& bx, const amrex::Geometry& geom,
64  BeamParticleContainer& species1, PlasmaParticleContainer& species2, amrex::Real CoulombLog,
65  amrex::Real background_density_SI);
66 
67 };
68 
69 #endif // HIPACE_COULOMB_COLLISION_H_
Container for particles of 1 beam species.
Definition: BeamParticleContainer.H:68
This class handles Coulomb collisions between 2 particle species (can be plasma-plasma or beam-plasma...
Definition: CoulombCollision.H:16
CoulombCollision(const std::vector< std::string > &plasma_species_names, const std::vector< std::string > &beam_species_names, std::string const collision_name)
Definition: CoulombCollision.cpp:8
int m_nbeams
Definition: CoulombCollision.H:20
static void doBeamPlasmaCoulombCollision(int lev, const amrex::Box &bx, const amrex::Geometry &geom, BeamParticleContainer &species1, PlasmaParticleContainer &species2, amrex::Real CoulombLog, amrex::Real background_density_SI)
Perform Coulomb collisions of a beam with a plasma species over a push by one beam time step Particle...
Definition: CoulombCollision.cpp:239
amrex::Real m_CoulombLog
Definition: CoulombCollision.H:22
bool m_isSameSpecies
Definition: CoulombCollision.H:21
int m_species1_index
Definition: CoulombCollision.H:18
static void doPlasmaPlasmaCoulombCollision(int lev, const amrex::Box &bx, const amrex::Geometry &geom, PlasmaParticleContainer &species1, PlasmaParticleContainer &species2, bool is_same_species, amrex::Real CoulombLog, amrex::Real background_density_SI)
Perform Coulomb collisions of plasma species over longitudinal push by 1 cell. Particles of both spec...
Definition: CoulombCollision.cpp:60
int m_species2_index
Definition: CoulombCollision.H:19
Container for particles of 1 plasma species.
Definition: PlasmaParticleContainer.H:51