#include <monte_carlo_collisions.hpp>
|
bool | do_snapshot (int istep) const |
|
void | update_vb (const MagneticField< DeviceType > &magnetic_field, Species< DeviceType > &species) |
|
KOKKOS_INLINE_FUNCTION void | collision_c (const MagneticField< DeviceType > &magnetic_field, const Species< DeviceType > &species, const Species< DeviceType > &species_b, const pool_type &rand_pool, const double dt, const bool do_pitch_angle_scattering, const double ekmin, const int idx) const |
|
| MonteCarloCollider () |
|
| MonteCarloCollider (NLReader::NamelistReader &nlr, const DomainDecomposition< DeviceType > &pol_decomp, const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, int n_nonadiabatic_species) |
|
void | update_vb_all_species (const MagneticField< DeviceType > &magnetic_field, Plasma &plasma) |
|
|
KOKKOS_INLINE_FUNCTION double | get_accel_factor (double psi) const |
|
KOKKOS_INLINE_FUNCTION void | scatter_one (RandGen &rand_gen, double vprt, double massa_au, double chargea_eu, double denb, double tempb_ev, double massb_au, double chargeb_eu, double accel, double dt, double ekmin, bool do_pitch_angle_scattering, double &ekin, double &pitch) const |
|
KOKKOS_INLINE_FUNCTION void | find_freq (double en_a, double vprt, double mass, double charge, double dn_b, double en_b_ev, double mass_b, double charge_b, double accel, double &freq_scat, double &freq_slow, double &freq_fac0) const |
|
KOKKOS_INLINE_FUNCTION void | background_sp_profile (const MagneticField< DeviceType > &magnetic_field, double theta, double r, double z, double psi, const Species< DeviceType > &species, double &den, double &temp, double &up) const |
|
template<class Device>
KOKKOS_INLINE_FUNCTION void MonteCarloCollider< Device >::find_freq |
( |
double |
en_a, |
|
|
double |
vprt, |
|
|
double |
mass, |
|
|
double |
charge, |
|
|
double |
dn_b, |
|
|
double |
en_b_ev, |
|
|
double |
mass_b, |
|
|
double |
charge_b, |
|
|
double |
accel, |
|
|
double & |
freq_scat, |
|
|
double & |
freq_slow, |
|
|
double & |
freq_fac0 |
|
) |
| const |
|
inlineprivate |
template<class Device>
KOKKOS_INLINE_FUNCTION double MonteCarloCollider< Device >::get_accel_factor |
( |
double |
psi | ) |
const |
|
inlineprivate |
template<class Device>
KOKKOS_INLINE_FUNCTION void MonteCarloCollider< Device >::scatter_one |
( |
RandGen & |
rand_gen, |
|
|
double |
vprt, |
|
|
double |
massa_au, |
|
|
double |
chargea_eu, |
|
|
double |
denb, |
|
|
double |
tempb_ev, |
|
|
double |
massb_au, |
|
|
double |
chargeb_eu, |
|
|
double |
accel, |
|
|
double |
dt, |
|
|
double |
ekmin, |
|
|
bool |
do_pitch_angle_scattering, |
|
|
double & |
ekin, |
|
|
double & |
pitch |
|
) |
| const |
|
inlineprivate |
Artificial acceleration of collisions.
Whether to use energy collisions.
Inner boundary for collisions in norm. pol. flux.
Outer boundary for collisions in norm. pol. flux.
The documentation for this class was generated from the following file: