XGC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Functions
push.cpp File Reference
#include "timer_macro.hpp"
#include "globals.hpp"
#include "particles.hpp"
#include "sort.hpp"
#include "push_algorithm.hpp"
#include "push_controls.hpp"
#include "push_diagnostic_c.hpp"
#include "unfused_push_algorithm.hpp"
#include "push.hpp"
Include dependency graph for push.cpp:

Functions

template<KinType KT, PhiInterpType PIT, MarkerType MT, MagneticFieldMode MFM, BFieldSymmetry BFS>
void templated_push_kernel (const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, Species< DeviceType > &species, const GridFieldPackPtr &grid_field_pack_ptr, const PerturbedBField< DeviceType > &perturbed_B_field, const Sheath< DeviceType > &sheath, const Neutrals< DeviceType > &neutrals, const HeatDiagnostics< DeviceType > &heat_diag, const PushControls &push_controls, double dt, int ncycles_per_launch, bool last_subcycle_set, const Species< DeviceType >::LaunchBounds &launch_bounds)
 
void push_kernel (const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, Species< DeviceType > &species, const GridFieldPackPtr &grid_field_pack_ptr, const PerturbedBField< DeviceType > &perturbed_B_field, const Sheath< DeviceType > &sheath, const Neutrals< DeviceType > &neutrals, const HeatDiagnostics< DeviceType > &heat_diag, const PushControls &push_controls, double dt, int ncycles_per_launch, bool last_subcycle_set, const Species< DeviceType >::LaunchBounds &launch_bounds)
 
void push (const int ipc, const bool diag_on, const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, Species< DeviceType > &species, const GridFieldPackPtr &grid_field_pack_ptr, const PerturbedBField< DeviceType > &perturbed_B_field, const Sheath< DeviceType > &sheath, const Neutrals< DeviceType > &neutrals, SortViews< DeviceType > &sort_views, const PushDiagnostic< DeviceType > &diag, const HeatDiagnostics< DeviceType > &heat_diag, const DomainDecomposition< DeviceType > &pol_decomp, const GridFieldPackPtr &grid_field_pack_near_ptr, const ParticleStream &particle_stream)
 
void setup_and_push (int ipc, int istep, int isp, bool diag_on, const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, Species< DeviceType > &species, GridFieldPackPtr &grid_field_pack_ptr, const PerturbedBField< DeviceType > &perturbed_B_field, Sheath< DeviceType > &sheath, const Neutrals< DeviceType > &neutrals, SortViews< DeviceType > &sort_views, const PushDiagnostic< DeviceType > &diag, const HeatDiagnostics< DeviceType > &heat_diag, const DomainDecomposition< DeviceType > &pol_decomp, GridFieldPackPtr &grid_field_pack_near_ptr, const ParticleStream &particle_stream)
 
void copy_push_requisites_to_device (const Simulation< DeviceType > &sml, const Sheath< DeviceType > &sheath, const Neutrals< DeviceType > &neutrals, const PushDiagnostic< DeviceType > &diag)
 
void copy_push_updates_from_device (const Simulation< DeviceType > &sml, const Sheath< DeviceType > &sheath, const Neutrals< DeviceType > &neutrals, const PushDiagnostic< DeviceType > &diag, const HeatDiagnostics< DeviceType > &heat_diag, const Diag1D &diag_1d)
 
template<KinType KT, PhiInterpType PIT, MarkerType MT, MagneticFieldMode MFM>
bool gfpack_matches (const GridFieldPackPtr &gfpack_ptr)
 
bool gfpack_is_reusable (const GridFieldPackPtr &gfpack_ptr, KinType kintype, MarkerType marker_type)
 
void push_all_species (int ipc, int istep, bool diag_on, const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, Plasma &plasma, ElectricField< DeviceType > &electric_field, PerturbedBField< DeviceType > &perturbed_B_field, Sheath< DeviceType > &sheath, const Neutrals< DeviceType > &neutrals, const PushDiagnostic< DeviceType > &diag, const HeatDiagnostics< DeviceType > &heat_diag, const Diag1D &diag_1d, const DomainDecomposition< DeviceType > &pol_decomp, Smoothing &smoothing, const ParticleStream &particle_stream)
 

Function Documentation

void copy_push_requisites_to_device ( const Simulation< DeviceType > &  sml,
const Sheath< DeviceType > &  sheath,
const Neutrals< DeviceType > &  neutrals,
const PushDiagnostic< DeviceType > &  diag 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void copy_push_updates_from_device ( const Simulation< DeviceType > &  sml,
const Sheath< DeviceType > &  sheath,
const Neutrals< DeviceType > &  neutrals,
const PushDiagnostic< DeviceType > &  diag,
const HeatDiagnostics< DeviceType > &  heat_diag,
const Diag1D diag_1d 
)

Here is the call graph for this function:

Here is the caller graph for this function:

bool gfpack_is_reusable ( const GridFieldPackPtr gfpack_ptr,
KinType  kintype,
MarkerType  marker_type 
)

Here is the caller graph for this function:

template<KinType KT, PhiInterpType PIT, MarkerType MT, MagneticFieldMode MFM>
bool gfpack_matches ( const GridFieldPackPtr gfpack_ptr)
void push ( const int  ipc,
const bool  diag_on,
const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
Species< DeviceType > &  species,
const GridFieldPackPtr grid_field_pack_ptr,
const PerturbedBField< DeviceType > &  perturbed_B_field,
const Sheath< DeviceType > &  sheath,
const Neutrals< DeviceType > &  neutrals,
SortViews< DeviceType > &  sort_views,
const PushDiagnostic< DeviceType > &  diag,
const HeatDiagnostics< DeviceType > &  heat_diag,
const DomainDecomposition< DeviceType > &  pol_decomp,
const GridFieldPackPtr grid_field_pack_near_ptr,
const ParticleStream particle_stream 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void push_all_species ( int  ipc,
int  istep,
bool  diag_on,
const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
Plasma plasma,
ElectricField< DeviceType > &  electric_field,
PerturbedBField< DeviceType > &  perturbed_B_field,
Sheath< DeviceType > &  sheath,
const Neutrals< DeviceType > &  neutrals,
const PushDiagnostic< DeviceType > &  diag,
const HeatDiagnostics< DeviceType > &  heat_diag,
const Diag1D diag_1d,
const DomainDecomposition< DeviceType > &  pol_decomp,
Smoothing smoothing,
const ParticleStream particle_stream 
)

Here is the call graph for this function:

void push_kernel ( const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
Species< DeviceType > &  species,
const GridFieldPackPtr grid_field_pack_ptr,
const PerturbedBField< DeviceType > &  perturbed_B_field,
const Sheath< DeviceType > &  sheath,
const Neutrals< DeviceType > &  neutrals,
const HeatDiagnostics< DeviceType > &  heat_diag,
const PushControls push_controls,
double  dt,
int  ncycles_per_launch,
bool  last_subcycle_set,
const Species< DeviceType >::LaunchBounds &  launch_bounds 
)

Here is the caller graph for this function:

void setup_and_push ( int  ipc,
int  istep,
int  isp,
bool  diag_on,
const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
Species< DeviceType > &  species,
GridFieldPackPtr grid_field_pack_ptr,
const PerturbedBField< DeviceType > &  perturbed_B_field,
Sheath< DeviceType > &  sheath,
const Neutrals< DeviceType > &  neutrals,
SortViews< DeviceType > &  sort_views,
const PushDiagnostic< DeviceType > &  diag,
const HeatDiagnostics< DeviceType > &  heat_diag,
const DomainDecomposition< DeviceType > &  pol_decomp,
GridFieldPackPtr grid_field_pack_near_ptr,
const ParticleStream particle_stream 
)

Here is the call graph for this function:

Here is the caller graph for this function:

template<KinType KT, PhiInterpType PIT, MarkerType MT, MagneticFieldMode MFM, BFieldSymmetry BFS>
void templated_push_kernel ( const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
Species< DeviceType > &  species,
const GridFieldPackPtr grid_field_pack_ptr,
const PerturbedBField< DeviceType > &  perturbed_B_field,
const Sheath< DeviceType > &  sheath,
const Neutrals< DeviceType > &  neutrals,
const HeatDiagnostics< DeviceType > &  heat_diag,
const PushControls push_controls,
double  dt,
int  ncycles_per_launch,
bool  last_subcycle_set,
const Species< DeviceType >::LaunchBounds &  launch_bounds 
)

Here is the call graph for this function: