Transform functor for impact ionization.
More...
#include <MCCScattering.H>
|
| | 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...
|
| |
Transform functor for impact ionization.
◆ 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_cost | energy cost of ionization |
| [in] | mass1 | mass of the colliding species |
◆ 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] | dst1 | target species 1 (electrons) |
| [in,out] | dst2 | target species 2 (ions) |
| [in] | src | source species (electrons) |
| [in] | i_src | particle index of the source species |
| [in] | i_dst1 | particle index of target species 1 |
| [in] | i_dst2 | particle index of target species 2 |
| [in] | engine | random number generator engine |
◆ 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:
- /home/docs/checkouts/readthedocs.org/user_builds/warpx/checkouts/21.10/Source/Particles/Collision/MCCScattering.H