XGCa
 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

double * get_sheath_pot_loc ()
 
void get_sheath_en_max (double **sheath_en_max_in, int *grid_nwall_in, int *sheath_nphi_in, int *n_threads)
 
void get_ptb_3db_arrays (Field< VarType::Vector, PhiInterpType::None > **ptb_3db_bfield_re_vac, Field< VarType::Vector, PhiInterpType::None > **ptb_3db_bfield_im_vac)
 
void copy_sheath_lost_from_device (double *lost_out)
 
void copy_sheath_ilost_from_device (double *ilost_out)
 
void copy_neutrals_from_device (double *weight_sum_lost_out, double *weight_wall_lost_out)
 
void get_sheath_mode2 (double **sheath_en_max_in)
 
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 SheathParticles< DeviceType > &sheath_particles, 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 SheathParticles< DeviceType > &sheath_particles, 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 SheathParticles< DeviceType > &sheath_particles, 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, const Sheath< DeviceType > &sheath, SheathParticles< DeviceType > &sheath_particles, 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, const Sheath< DeviceType > &sheath, SheathParticles< DeviceType > &sheath_particles, 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 setup_sheath_mode_2 (SheathParticles< DeviceType > &sheath_particles, int n_tmp)
 
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 SheathParticles< DeviceType > &sheath_particles, 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, const Sheath< DeviceType > &sheath, SheathParticles< DeviceType > &sheath_particles, 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_neutrals_from_device ( double *  weight_sum_lost_out,
double *  weight_wall_lost_out 
)

Here is the caller graph for this function:

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 SheathParticles< DeviceType > &  sheath_particles,
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:

void copy_sheath_ilost_from_device ( double *  ilost_out)

Here is the caller graph for this function:

void copy_sheath_lost_from_device ( double *  lost_out)

Here is the caller graph for this function:

void get_ptb_3db_arrays ( Field< VarType::Vector, PhiInterpType::None > **  ptb_3db_bfield_re_vac,
Field< VarType::Vector, PhiInterpType::None > **  ptb_3db_bfield_im_vac 
)

Here is the caller graph for this function:

void get_sheath_en_max ( double **  sheath_en_max_in,
int *  grid_nwall_in,
int *  sheath_nphi_in,
int *  n_threads 
)

Here is the caller graph for this function:

void get_sheath_mode2 ( double **  sheath_en_max_in)

Here is the caller graph for this function:

double* get_sheath_pot_loc ( )
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,
const Sheath< DeviceType > &  sheath,
SheathParticles< DeviceType > &  sheath_particles,
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,
const Sheath< DeviceType > &  sheath,
SheathParticles< DeviceType > &  sheath_particles,
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,
const Sheath< DeviceType > &  sheath,
SheathParticles< DeviceType > &  sheath_particles,
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:

Here is the caller graph for this function:

void setup_sheath_mode_2 ( SheathParticles< DeviceType > &  sheath_particles,
int  n_tmp 
)

Here is the call graph for this function:

Here is the caller 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 SheathParticles< DeviceType > &  sheath_particles,
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 SheathParticles< DeviceType > &  sheath_particles,
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 SheathParticles< DeviceType > &  sheath_particles,
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 
)