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 "unfused_push_algorithm.hpp"
#include "push.hpp"
Include dependency graph for push.cpp:

Functions

template<KinType KT, PhiInterpType PIT>
void templated_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 GridFieldPack< DeviceType, PIT > &grid_field_pack, 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 GridFieldPack< DeviceType, PIT > &grid_field_pack_near, const ParticleStream &particle_stream)
 
template void templated_push< DriftKin, PIT_GLOBAL > (const int ipc, const bool diag_on, const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, Species< DeviceType > &species, const GridFieldPack< DeviceType, PIT_GLOBAL > &grid_field_pack, 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 GridFieldPack< DeviceType, PIT_GLOBAL > &grid_field_pack_near, const ParticleStream &particle_stream)
 
template void templated_push< GyroKin, PIT_GLOBAL > (const int ipc, const bool diag_on, const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, Species< DeviceType > &species, const GridFieldPack< DeviceType, PIT_GLOBAL > &grid_field_pack, 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 GridFieldPack< DeviceType, PIT_GLOBAL > &grid_field_pack_near, const ParticleStream &particle_stream)
 
template<PhiInterpType PIT>
void 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, GridFieldPack< DeviceType, PIT > &grid_field_pack, 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, GridFieldPack< DeviceType, PIT > &grid_field_pack_near, const ParticleStream &particle_stream)
 
template void push< PIT_GLOBAL > (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, GridFieldPack< DeviceType, PIT_GLOBAL > &grid_field_pack, 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, GridFieldPack< DeviceType, PIT_GLOBAL > &grid_field_pack_near, const ParticleStream &particle_stream)
 
void copy_push_requisites_to_device (const Simulation< DeviceType > &sml, const PerturbedBField< DeviceType > &perturbed_B_field, const Sheath< DeviceType > &sheath, const Neutrals< DeviceType > &neutrals, const PushDiagnostic< DeviceType > &diag, const HeatDiagnostics< DeviceType > &heat_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)
 
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, const 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 PerturbedBField< DeviceType > &  perturbed_B_field,
const Sheath< DeviceType > &  sheath,
const Neutrals< DeviceType > &  neutrals,
const PushDiagnostic< DeviceType > &  diag,
const HeatDiagnostics< DeviceType > &  heat_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:

template<PhiInterpType PIT>
void 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,
GridFieldPack< DeviceType, PIT > &  grid_field_pack,
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,
GridFieldPack< DeviceType, PIT > &  grid_field_pack_near,
const ParticleStream particle_stream 
)

Here is the call graph for this function:

Here is the caller graph for this function:

template void push< PIT_GLOBAL > ( 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,
GridFieldPack< DeviceType, PIT_GLOBAL > &  grid_field_pack,
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,
GridFieldPack< DeviceType, PIT_GLOBAL > &  grid_field_pack_near,
const ParticleStream particle_stream 
)
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,
const 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:

template<KinType KT, PhiInterpType PIT>
void templated_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 GridFieldPack< DeviceType, PIT > &  grid_field_pack,
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 GridFieldPack< DeviceType, PIT > &  grid_field_pack_near,
const ParticleStream particle_stream 
)

Here is the call graph for this function:

template void templated_push< DriftKin, PIT_GLOBAL > ( const int  ipc,
const bool  diag_on,
const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
Species< DeviceType > &  species,
const GridFieldPack< DeviceType, PIT_GLOBAL > &  grid_field_pack,
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 GridFieldPack< DeviceType, PIT_GLOBAL > &  grid_field_pack_near,
const ParticleStream particle_stream 
)
template void templated_push< GyroKin, PIT_GLOBAL > ( const int  ipc,
const bool  diag_on,
const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
Species< DeviceType > &  species,
const GridFieldPack< DeviceType, PIT_GLOBAL > &  grid_field_pack,
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 GridFieldPack< DeviceType, PIT_GLOBAL > &  grid_field_pack_near,
const ParticleStream particle_stream 
)