XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Functions
unfused_push_algorithm.cpp File Reference
#include "globals.hpp"
#include "magnetic_field.hpp"
#include "grid.hpp"
#include "particles.hpp"
#include "species.hpp"
#include "boundaries.hpp"
#include "perturbed_B_field.hpp"
#include "push_physics.hpp"
#include "sort.hpp"
#include "shift.hpp"
#include "unfused_push_algorithm.hpp"
#include "checkpoint.hpp"
Include dependency graph for unfused_push_algorithm.cpp:

Functions

void set_phase0_kernel (Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &phase0, const Species< DeviceType > &species, int n_ptl)
 
template<class Device , KinType KT>
void derivs_kernel (const Species< Device > &species, const Grid< Device > &grid, const MagneticField< Device > &magnetic_field, const GridFieldPack< Device, PIT_GLOBAL > &gfpack, const PushControls &push_controls, const PerturbedBField< Device > &perturbed_B_field, Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &dy, View< int *, CLayout, DeviceType > &current_tr, double time)
 
void update_phases_kernel (const Species< DeviceType > &species, int n_ptl, const Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &phase0, double local_dt, const Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &dy)
 
void update_sum_kernel (Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &dy_sum, Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &dy)
 
void update_sum2x_kernel (Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &dy_sum, Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &dy)
 
void boundaries_kernel (const Species< DeviceType > &species, const PushControls &push_controls, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const Sheath< DeviceType > &sheath, const SheathParticles< DeviceType > &sheath_particles, const Neutrals< DeviceType > &neutrals, const HeatDiagnostics< DeviceType > &heat_diag, Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &phase0, View< int *, CLayout, DeviceType > &current_tr)
 
void local_shift (const PushControls &push_controls, Species< DeviceType > &species, SortViews< DeviceType > &sort_views, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const DomainDecomposition< DeviceType > &pol_decomp, UnfusedPushTmpViews< DeviceType > &unfused_push_tmp_views, bool send_phase0)
 
void unfused_electron_push_kernel (Species< DeviceType > &species, const PushControls &push_controls, const DomainDecomposition< DeviceType > &pol_decomp, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const GridFieldPack< DeviceType, PIT_GLOBAL > &gfpack, const PerturbedBField< DeviceType > &perturbed_B_field, SortViews< DeviceType > &sort_views, const Sheath< DeviceType > &sheath, const SheathParticles< DeviceType > &sheath_particles, const Neutrals< DeviceType > &neutrals, const HeatDiagnostics< DeviceType > &heat_diag, UnfusedPushTmpViews< DeviceType > &tmp, int ncycles_per_launch, double dt, bool last_subcycle_set)
 

Function Documentation

void boundaries_kernel ( const Species< DeviceType > &  species,
const PushControls push_controls,
const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
const Sheath< DeviceType > &  sheath,
const SheathParticles< DeviceType > &  sheath_particles,
const Neutrals< DeviceType > &  neutrals,
const HeatDiagnostics< DeviceType > &  heat_diag,
Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &  phase0,
View< int *, CLayout, DeviceType > &  current_tr 
)

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device , KinType KT>
void derivs_kernel ( const Species< Device > &  species,
const Grid< Device > &  grid,
const MagneticField< Device > &  magnetic_field,
const GridFieldPack< Device, PIT_GLOBAL > &  gfpack,
const PushControls push_controls,
const PerturbedBField< Device > &  perturbed_B_field,
Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &  dy,
View< int *, CLayout, DeviceType > &  current_tr,
double  time 
)

Here is the call graph for this function:

void local_shift ( const PushControls push_controls,
Species< DeviceType > &  species,
SortViews< DeviceType > &  sort_views,
const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
const DomainDecomposition< DeviceType > &  pol_decomp,
UnfusedPushTmpViews< DeviceType > &  unfused_push_tmp_views,
bool  send_phase0 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void set_phase0_kernel ( Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &  phase0,
const Species< DeviceType > &  species,
int  n_ptl 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void unfused_electron_push_kernel ( Species< DeviceType > &  species,
const PushControls push_controls,
const DomainDecomposition< DeviceType > &  pol_decomp,
const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
const GridFieldPack< DeviceType, PIT_GLOBAL > &  gfpack,
const PerturbedBField< DeviceType > &  perturbed_B_field,
SortViews< DeviceType > &  sort_views,
const Sheath< DeviceType > &  sheath,
const SheathParticles< DeviceType > &  sheath_particles,
const Neutrals< DeviceType > &  neutrals,
const HeatDiagnostics< DeviceType > &  heat_diag,
UnfusedPushTmpViews< DeviceType > &  tmp,
int  ncycles_per_launch,
double  dt,
bool  last_subcycle_set 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void update_phases_kernel ( const Species< DeviceType > &  species,
int  n_ptl,
const Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &  phase0,
double  local_dt,
const Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &  dy 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void update_sum2x_kernel ( Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &  dy_sum,
Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &  dy 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void update_sum_kernel ( Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &  dy_sum,
Cabana::AoSoA< PhaseDataTypes, DeviceType, VEC_LEN > &  dy 
)

Here is the call graph for this function:

Here is the caller graph for this function: