#include <Kokkos_Random.hpp>
#include "globals.hpp"
#include "basic_physics.hpp"
#include "sml.hpp"
#include "magnetic_field.hpp"
#include "grid.hpp"
#include "plasma.hpp"
Classes | |
struct | ParticleLoadingParams |
Typedefs | |
typedef Kokkos::Random_XorShift64_Pool < DeviceType > | pool_type |
Functions | |
void | uniform_spatial_distribution (const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const Simulation< DeviceType > &sml, double &marker_den, TmpSpecies< DeviceType > &tmp_species, int n_ptl) |
KOKKOS_INLINE_FUNCTION void | get_v_and_dist (typename pool_type::generator_type &rand_gen, double va, double vc, double w, double &v, double &g) |
KOKKOS_INLINE_FUNCTION void | load_flat_v_single (typename pool_type::generator_type &rand_gen, const Simulation< DeviceType > &sml, double t_ev, double up, double b, double mass, double charge, double &rho, double &mu, double &w0_adjust) |
KOKKOS_INLINE_FUNCTION double | w0_adjustment (typename pool_type::generator_type &rand_gen, double t, double maxe, double mass, double t_ev, double t_ev_vertual, double load_maxe) |
KOKKOS_INLINE_FUNCTION void | load_v_single (typename pool_type::generator_type &rand_gen, const Simulation< DeviceType > &sml, double t_ev, double up, double b, double mass, double charge, double &rho, double &mu, double &w0_adjust) |
void | maxwellian_velocity_distribution (const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const Simulation< DeviceType > &sml, const Species< DeviceType > &species, double marker_den, TmpSpecies< DeviceType > &tmp_species, int n_ptl) |
void | initialize_particles (const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const Simulation< DeviceType > &sml, Plasma &plasma) |
Variables | |
const double | LOAD_MAXE = 12.0 |
typedef Kokkos::Random_XorShift64_Pool<DeviceType> pool_type |
KOKKOS_INLINE_FUNCTION void get_v_and_dist | ( | typename pool_type::generator_type & | rand_gen, |
double | va, | ||
double | vc, | ||
double | w, | ||
double & | v, | ||
double & | g | ||
) |
void initialize_particles | ( | const Grid< DeviceType > & | grid, |
const MagneticField< DeviceType > & | magnetic_field, | ||
const Simulation< DeviceType > & | sml, | ||
Plasma & | plasma | ||
) |
Load particles
KOKKOS_INLINE_FUNCTION void load_flat_v_single | ( | typename pool_type::generator_type & | rand_gen, |
const Simulation< DeviceType > & | sml, | ||
double | t_ev, | ||
double | up, | ||
double | b, | ||
double | mass, | ||
double | charge, | ||
double & | rho, | ||
double & | mu, | ||
double & | w0_adjust | ||
) |
KOKKOS_INLINE_FUNCTION void load_v_single | ( | typename pool_type::generator_type & | rand_gen, |
const Simulation< DeviceType > & | sml, | ||
double | t_ev, | ||
double | up, | ||
double | b, | ||
double | mass, | ||
double | charge, | ||
double & | rho, | ||
double & | mu, | ||
double & | w0_adjust | ||
) |
void maxwellian_velocity_distribution | ( | const Grid< DeviceType > & | grid, |
const MagneticField< DeviceType > & | magnetic_field, | ||
const Simulation< DeviceType > & | sml, | ||
const Species< DeviceType > & | species, | ||
double | marker_den, | ||
TmpSpecies< DeviceType > & | tmp_species, | ||
int | n_ptl | ||
) |
Load particles
void uniform_spatial_distribution | ( | const Grid< DeviceType > & | grid, |
const MagneticField< DeviceType > & | magnetic_field, | ||
const Simulation< DeviceType > & | sml, | ||
double & | marker_den, | ||
TmpSpecies< DeviceType > & | tmp_species, | ||
int | n_ptl | ||
) |
Load particles
KOKKOS_INLINE_FUNCTION double w0_adjustment | ( | typename pool_type::generator_type & | rand_gen, |
double | t, | ||
double | maxe, | ||
double | mass, | ||
double | t_ev, | ||
double | t_ev_vertual, | ||
double | load_maxe | ||
) |
const double LOAD_MAXE = 12.0 |