WarpX
Loading...
Searching...
No Matches
LinearComptonCollisionFunc Class Reference

This functor does perform linear Compton scattering on a single cell. Particles of the two colliding species (a photon species and a electron/positron species) are paired with each other and for each pair we compute if a Compton-scattering event occurs. If so, we fill a mask (input parameter p_mask) with true so that product particles corresponding to a given pair can be effectively created in the particle creation functor. This functor also reads and stores the event multiplier. More...

#include <LinearComptonCollisionFunc.H>

Classes

struct  Executor
 

Public Member Functions

 LinearComptonCollisionFunc ()=default
 Default constructor of the LinearComptonCollisionFunc class.
 
 LinearComptonCollisionFunc (const std::string collision_name, MultiParticleContainer const *const, const bool isSameSpecies)
 Constructor of the LinearComptonCollisionFunc class.
 
Executor const & executor () const
 
bool use_global_debye_length ()
 

Private Types

using ParticleType = WarpXParticleContainer::ParticleType
 
using ParticleTileType = WarpXParticleContainer::ParticleTileType
 
using ParticleTileDataType = ParticleTileType::ParticleTileDataType
 
using ParticleBins = amrex::DenseBins<ParticleTileDataType>
 
using index_type = ParticleBins::index_type
 
using SoaData_type = WarpXParticleContainer::ParticleTileType::ParticleTileDataType
 

Private Attributes

amrex::ParticleReal m_event_multiplier
 
amrex::ParticleReal m_probability_threshold
 
amrex::ParticleReal m_probability_target_value
 
bool m_isSameSpecies
 
Executor m_exe
 

Detailed Description

This functor does perform linear Compton scattering on a single cell. Particles of the two colliding species (a photon species and a electron/positron species) are paired with each other and for each pair we compute if a Compton-scattering event occurs. If so, we fill a mask (input parameter p_mask) with true so that product particles corresponding to a given pair can be effectively created in the particle creation functor. This functor also reads and stores the event multiplier.

Member Typedef Documentation

◆ index_type

◆ ParticleBins

◆ ParticleTileDataType

◆ ParticleTileType

◆ ParticleType

◆ SoaData_type

using LinearComptonCollisionFunc::SoaData_type = WarpXParticleContainer::ParticleTileType::ParticleTileDataType
private

Constructor & Destructor Documentation

◆ LinearComptonCollisionFunc() [1/2]

LinearComptonCollisionFunc::LinearComptonCollisionFunc ( )
default

Default constructor of the LinearComptonCollisionFunc class.

◆ LinearComptonCollisionFunc() [2/2]

LinearComptonCollisionFunc::LinearComptonCollisionFunc ( const std::string collision_name,
MultiParticleContainer const * const ,
const bool isSameSpecies )
inline

Constructor of the LinearComptonCollisionFunc class.

Parameters
[in]collision_namethe name of the collision
[in]isSameSpecieswhether the two colliding species are the same

Member Function Documentation

◆ executor()

Executor const & LinearComptonCollisionFunc::executor ( ) const
inlinenodiscard

◆ use_global_debye_length()

bool LinearComptonCollisionFunc::use_global_debye_length ( )
inline

Member Data Documentation

◆ m_event_multiplier

amrex::ParticleReal LinearComptonCollisionFunc::m_event_multiplier
private

◆ m_exe

Executor LinearComptonCollisionFunc::m_exe
private

◆ m_isSameSpecies

bool LinearComptonCollisionFunc::m_isSameSpecies
private

◆ m_probability_target_value

amrex::ParticleReal LinearComptonCollisionFunc::m_probability_target_value
private

◆ m_probability_threshold

amrex::ParticleReal LinearComptonCollisionFunc::m_probability_threshold
private

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