XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Functions
update_ptl_weights.cpp File Reference
#include <Kokkos_Atomic.hpp>
#include "timer_macro.hpp"
#include "get_current_triangles.hpp"
#include "getf0.hpp"
#include "send_particles.hpp"
#include "update_ptl_weights.hpp"
Include dependency graph for update_ptl_weights.cpp:

Functions

double * get_dpot_ff_loc (FortranPtr psn_fptr)
 
double * get_dpot_n0_loc (FortranPtr psn_fptr)
 
double * get_dpot_loc (FortranPtr psn_fptr)
 
void copy_wt_update_requisites (FortranPtr psn_fptr, const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, ElectricField< DeviceType > &electric_field, Species< DeviceType > &species, const VelocityGrid &vgrid, const DomainDecomposition< DeviceType > &pol_decomp, int isp)
 
void all_species_update_ptl_weights (FortranPtr psn_fptr, FortranPtr spall_fptr, const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, ElectricField< DeviceType > &electric_field, std::vector< Species< DeviceType >> &all_species, TmpSpecies< DeviceType > &tmp_species, const VelocityGrid &vgrid, const DomainDecomposition< DeviceType > &pol_decomp, const WtUpdateOption wt_update_opt)
 
void update_ptl_weights (FortranPtr psn_fptr, const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, ElectricField< DeviceType > &electric_field, Species< DeviceType > &species, const TmpSpecies< DeviceType > &tmp_species, const VelocityGrid &vgrid, const DomainDecomposition< DeviceType > &pol_decomp, int isp, const WtUpdateOption wt_update_opt)
 
void weight_update (const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const ElectricField< DeviceType > &electric_field, const Species< DeviceType > &species, const TmpSpecies< DeviceType > &tmp_species, const VelocityGrid &vgrid, const DomainDecomposition< DeviceType > &pol_decomp, const WtUpdateOption wt_update_opt)
 
template<class Device >
KOKKOS_INLINE_FUNCTION void update_ptl_weights_c (const TmpSpecies< Device > &tmp_species, const Simulation< Device > &sml, const Grid< Device > &grid, const MagneticField< Device > &magnetic_field, const ElectricField< Device > &electric_field, const Species< Device > &species, const VelocityGrid &vgrid, const DomainDecomposition< Device > &pol_decomp, const WtUpdateOption wt_update_opt, int i_item)
 

Function Documentation

void all_species_update_ptl_weights ( FortranPtr  psn_fptr,
FortranPtr  spall_fptr,
const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
ElectricField< DeviceType > &  electric_field,
std::vector< Species< DeviceType >> &  all_species,
TmpSpecies< DeviceType > &  tmp_species,
const VelocityGrid vgrid,
const DomainDecomposition< DeviceType > &  pol_decomp,
const WtUpdateOption  wt_update_opt 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void copy_wt_update_requisites ( FortranPtr  psn_fptr,
const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
ElectricField< DeviceType > &  electric_field,
Species< DeviceType > &  species,
const VelocityGrid vgrid,
const DomainDecomposition< DeviceType > &  pol_decomp,
int  isp 
)

Here is the call graph for this function:

Here is the caller graph for this function:

double* get_dpot_ff_loc ( FortranPtr  psn_fptr)

Here is the caller graph for this function:

double* get_dpot_loc ( FortranPtr  psn_fptr)

Here is the caller graph for this function:

double* get_dpot_n0_loc ( FortranPtr  psn_fptr)

Here is the caller graph for this function:

void update_ptl_weights ( FortranPtr  psn_fptr,
const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
ElectricField< DeviceType > &  electric_field,
Species< DeviceType > &  species,
const TmpSpecies< DeviceType > &  tmp_species,
const VelocityGrid vgrid,
const DomainDecomposition< DeviceType > &  pol_decomp,
int  isp,
const WtUpdateOption  wt_update_opt 
)

Here is the call graph for this function:

Here is the caller graph for this function:

template<class Device >
KOKKOS_INLINE_FUNCTION void update_ptl_weights_c ( const TmpSpecies< Device > &  tmp_species,
const Simulation< Device > &  sml,
const Grid< Device > &  grid,
const MagneticField< Device > &  magnetic_field,
const ElectricField< Device > &  electric_field,
const Species< Device > &  species,
const VelocityGrid vgrid,
const DomainDecomposition< Device > &  pol_decomp,
const WtUpdateOption  wt_update_opt,
int  i_item 
)

Loop over particles and update the electron weights from tmp_const based on f adjustment

Parameters
[in]partParticle AoSoA
[in]i_itemParticle/vector index

Here is the call graph for this function:

Here is the caller graph for this function:

void weight_update ( const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
const MagneticField< DeviceType > &  magnetic_field,
const ElectricField< DeviceType > &  electric_field,
const Species< DeviceType > &  species,
const TmpSpecies< DeviceType > &  tmp_species,
const VelocityGrid vgrid,
const DomainDecomposition< DeviceType > &  pol_decomp,
const WtUpdateOption  wt_update_opt 
)

Here is the call graph for this function:

Here is the caller graph for this function: