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

void get_diag_heat_pv (double **heat_pv, double **heat_pv_psi)
 
void get_diag_heat_pv_psi2 (double **heat_pv_psi2)
 
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 get_diag_1d_f_pv1 (double **diag_1d_f_pv1_in)
 
void get_diag_1d_df_pv1 (double **diag_1d_df_pv1_in)
 
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 copy_heat_diagnostics1_from_device_sm1 (double *heat_pv_out, double *heat_pv_psi_out)
 
void copy_heat_diagnostics2_from_device_sm1 (double *heat_pv_psi2_out)
 
void get_sheath_mode2 (double **sheath_en_max_in)
 
void copy_diag_1d_f_pv1_from_device (double *d1d_f_pv1_out)
 
void copy_diag_1d_df_pv1_from_device (double *d1d_df_pv1_out)
 
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)
 
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 DomainDecomposition< DeviceType > &pol_decomp, const ParticleStream &particle_stream)
 

Function Documentation

void copy_diag_1d_df_pv1_from_device ( double *  d1d_df_pv1_out)

Here is the caller graph for this function:

void copy_diag_1d_f_pv1_from_device ( double *  d1d_f_pv1_out)

Here is the caller graph for this function:

void copy_heat_diagnostics1_from_device_sm1 ( double *  heat_pv_out,
double *  heat_pv_psi_out 
)

Here is the caller graph for this function:

void copy_heat_diagnostics2_from_device_sm1 ( double *  heat_pv_psi2_out)

Here is the caller graph for this function:

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 
)

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_diag_1d_df_pv1 ( double **  diag_1d_df_pv1_in)
void get_diag_1d_f_pv1 ( double **  diag_1d_f_pv1_in)
void get_diag_heat_pv ( double **  heat_pv,
double **  heat_pv_psi 
)
void get_diag_heat_pv_psi2 ( double **  heat_pv_psi2)
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 DomainDecomposition< DeviceType > &  pol_decomp,
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 
)