Hipace
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
CoulombCollision Class Reference

This class handles Coulomb collisions between 2 particle species (can be plasma-plasma or beam-plasma, the species can be the same) More...

#include <CoulombCollision.H>

Public Member Functions

 CoulombCollision (const std::vector< std::string > &plasma_species_names, const std::vector< std::string > &beam_species_names, std::string const collision_name)
 

Static Public Member Functions

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 species are sorted per cell, paired, and collided pairwise. More...
 
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 Particles of both species are sorted per cell, paired, and collided pairwise. More...
 

Public Attributes

int m_species1_index {-1}
 
int m_species2_index {-1}
 
int m_nbeams {0}
 
bool m_isSameSpecies {false}
 
amrex::Real m_CoulombLog {-1.}
 

Detailed Description

This class handles Coulomb collisions between 2 particle species (can be plasma-plasma or beam-plasma, the species can be the same)

Constructor & Destructor Documentation

◆ CoulombCollision()

CoulombCollision::CoulombCollision ( const std::vector< std::string > &  plasma_species_names,
const std::vector< std::string > &  beam_species_names,
std::string const  collision_name 
)

Constructor

Member Function Documentation

◆ doBeamPlasmaCoulombCollision()

void CoulombCollision::doBeamPlasmaCoulombCollision ( int  lev,
const amrex::Box bx,
const amrex::Geometry geom,
BeamParticleContainer species1,
PlasmaParticleContainer species2,
amrex::Real  CoulombLog,
amrex::Real  background_density_SI 
)
static

Perform Coulomb collisions of a beam with a plasma species over a push by one beam time step Particles of both species are sorted per cell, paired, and collided pairwise.

Parameters
[in]levMR level
[in]bxtransverse box (plasma particles will be sorted per-cell on this box)
[in]geomcorresponding geometry object
[in,out]species1beam species
[in,out]species2plasma species
[in]CoulombLogValue of the Coulomb logarithm used for the collisions. If <0, the Coulomb logarithm is deduced from the plasma temperature, measured in each cell.
[in]background_density_SIbackground plasma density (only needed for normalized units)

◆ doPlasmaPlasmaCoulombCollision()

void CoulombCollision::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 
)
static

Perform Coulomb collisions of plasma species over longitudinal push by 1 cell. Particles of both species are sorted per cell, paired, and collided pairwise.

Parameters
[in]levMR level
[in]bxtransverse box (plasma particles will be sorted per-cell on this box)
[in]geomcorresponding geometry object
[in,out]species1first plasma species
[in,out]species2second plasma species
[in]is_same_specieswhether both species are the same (intra-species collisions)
[in]CoulombLogValue of the Coulomb logarithm used for the collisions. If <0, the Coulomb logarithm is deduced from the plasma temperature, measured in each cell.
[in]background_density_SIbackground plasma density (only needed for normalized units)

Member Data Documentation

◆ m_CoulombLog

amrex::Real CoulombCollision::m_CoulombLog {-1.}

◆ m_isSameSpecies

bool CoulombCollision::m_isSameSpecies {false}

◆ m_nbeams

int CoulombCollision::m_nbeams {0}

◆ m_species1_index

int CoulombCollision::m_species1_index {-1}

◆ m_species2_index

int CoulombCollision::m_species2_index {-1}

The documentation for this class was generated from the following files: