WarpX
Public Member Functions | Private Attributes | List of all members
ImpactIonizationTransformFunc Class Reference

Transform functor for impact ionization. More...

#include <MCCScattering.H>

Public Member Functions

 ImpactIonizationTransformFunc (amrex::Real energy_cost, amrex::Real mass1, amrex::Real ion_vel_std)
 Constructor of the ImpactIonizationTransformFunc functor. More...
 
template<typename DstData , typename SrcData >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void operator() (DstData &dst1, DstData &dst2, SrcData &src, int const i_src, int const i_dst1, int const i_dst2, amrex::RandomEngine const &engine) const noexcept
 Functor call. It determines the properties of the generated pair and decreases the kinetic energy of the colliding particle. Inputs are standard from the FilterCopyTransfrom::filterCopyTransformParticles function. More...
 

Private Attributes

amrex::Real m_energy_cost
 
amrex::Real m_mass1
 
amrex::Real m_ion_vel_std
 

Detailed Description

Transform functor for impact ionization.

Constructor & Destructor Documentation

◆ ImpactIonizationTransformFunc()

ImpactIonizationTransformFunc::ImpactIonizationTransformFunc ( amrex::Real  energy_cost,
amrex::Real  mass1,
amrex::Real  ion_vel_std 
)
inline

Constructor of the ImpactIonizationTransformFunc functor.

The transform is responsible for appropriately decreasing the kinetic energy of the colliding particle and assigning appropriate velocities to the two newly created particles. To this end the energy cost of ionization is passed to the constructor as well as the mass of the colliding species and the standard deviation of the ion velocity (normalized temperature).

Parameters
[in]energy_costenergy cost of ionization
[in]mass1mass of the colliding species

Member Function Documentation

◆ operator()()

template<typename DstData , typename SrcData >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void ImpactIonizationTransformFunc::operator() ( DstData &  dst1,
DstData &  dst2,
SrcData &  src,
int const  i_src,
int const  i_dst1,
int const  i_dst2,
amrex::RandomEngine const &  engine 
) const
inlinenoexcept

Functor call. It determines the properties of the generated pair and decreases the kinetic energy of the colliding particle. Inputs are standard from the FilterCopyTransfrom::filterCopyTransformParticles function.

Parameters
[in,out]dst1target species 1 (electrons)
[in,out]dst2target species 2 (ions)
[in]srcsource species (electrons)
[in]i_srcparticle index of the source species
[in]i_dst1particle index of target species 1
[in]i_dst2particle index of target species 2
[in]enginerandom number generator engine

Member Data Documentation

◆ m_energy_cost

amrex::Real ImpactIonizationTransformFunc::m_energy_cost
private

◆ m_ion_vel_std

amrex::Real ImpactIonizationTransformFunc::m_ion_vel_std
private

◆ m_mass1

amrex::Real ImpactIonizationTransformFunc::m_mass1
private

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