XGCa
|
#include <iostream>
#include <Kokkos_Core.hpp>
#include <Kokkos_Atomic.hpp>
#include "timer_macro.hpp"
#include "my_subview.hpp"
#include "electric_field.hpp"
#include "update_ptl_weights.hpp"
#include "field_weights.hpp"
#include "gyro_radius.hpp"
#include "grid_field_pack.hpp"
#include "charge_sum_and_gyroaverage.hpp"
#include "scatter.hpp"
Classes | |
class | ScatterTemplates< KT, PIT > |
class | ScatterTemplates< DriftKin, PIT > |
class | ScatterTemplates< GyroKin, PIT > |
Functions | |
void | var_transpose_copy (Kokkos::View< double ***, Kokkos::LayoutRight, HostType > &dest_view, const Kokkos::View< double ***, Kokkos::LayoutRight, DeviceType > &src_view) |
void | calculate_charge (const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, ElectricField< DeviceType > &electric_field, Charge< DeviceType > &charge, Plasma &plasma, const VelocityGrid &vgrid, const DomainDecomposition< DeviceType > &pol_decomp) |
template<class Device > | |
KOKKOS_INLINE_FUNCTION void | deltaf_particle_weight_adj (const Species< Device > &species, const MagneticField< Device > &magnetic_field, const Simulation< Device > &sml, int i_simd, const Simd< double > &psi, const SimdVector2D &x, double upar, Simd< double > &Ah, const SimdParticles &part, double &particle_weight) |
template<class Device , KinType KT, PhiInterpType PIT> | |
KOKKOS_INLINE_FUNCTION void | particle_scatter_c (const Species< Device > &species, const Charge< Device > &charge, const Grid< Device > &grid, const MagneticField< Device > &magnetic_field, const GridFieldPack< Device, PIT > &gfpack, const Simulation< Device > &sml, int i_item) |
template<KinType KT, PhiInterpType PIT> | |
void | scatter (const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const GridFieldPack< DeviceType, PIT > &gfpack, const Species< DeviceType > &species, const Charge< DeviceType > &charge) |
template void | scatter< DriftKin, PhiInterpType::None > (const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const GridFieldPack< DeviceType, PhiInterpType::None > &gfpack, const Species< DeviceType > &species, const Charge< DeviceType > &charge) |
template void | scatter< GyroKin, PhiInterpType::None > (const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const GridFieldPack< DeviceType, PhiInterpType::None > &gfpack, const Species< DeviceType > &species, const Charge< DeviceType > &charge) |
void calculate_charge | ( | const Simulation< DeviceType > & | sml, |
const Grid< DeviceType > & | grid, | ||
const MagneticField< DeviceType > & | magnetic_field, | ||
ElectricField< DeviceType > & | electric_field, | ||
Charge< DeviceType > & | charge, | ||
Plasma & | plasma, | ||
const VelocityGrid & | vgrid, | ||
const DomainDecomposition< DeviceType > & | pol_decomp | ||
) |
KOKKOS_INLINE_FUNCTION void deltaf_particle_weight_adj | ( | const Species< Device > & | species, |
const MagneticField< Device > & | magnetic_field, | ||
const Simulation< Device > & | sml, | ||
int | i_simd, | ||
const Simd< double > & | psi, | ||
const SimdVector2D & | x, | ||
double | upar, | ||
Simd< double > & | Ah, | ||
const SimdParticles & | part, | ||
double & | particle_weight | ||
) |
KOKKOS_INLINE_FUNCTION void particle_scatter_c | ( | const Species< Device > & | species, |
const Charge< Device > & | charge, | ||
const Grid< Device > & | grid, | ||
const MagneticField< Device > & | magnetic_field, | ||
const GridFieldPack< Device, PIT > & | gfpack, | ||
const Simulation< Device > & | sml, | ||
int | i_item | ||
) |
Scatter electron charge density information onto the grid
[in] | part | Particle AoSoA |
[in] | i_item | Particle/vector index |
void scatter | ( | const Simulation< DeviceType > & | sml, |
const Grid< DeviceType > & | grid, | ||
const MagneticField< DeviceType > & | magnetic_field, | ||
const GridFieldPack< DeviceType, PIT > & | gfpack, | ||
const Species< DeviceType > & | species, | ||
const Charge< DeviceType > & | charge | ||
) |
template void scatter< DriftKin, PhiInterpType::None > | ( | const Simulation< DeviceType > & | sml, |
const Grid< DeviceType > & | grid, | ||
const MagneticField< DeviceType > & | magnetic_field, | ||
const GridFieldPack< DeviceType, PhiInterpType::None > & | gfpack, | ||
const Species< DeviceType > & | species, | ||
const Charge< DeviceType > & | charge | ||
) |
template void scatter< GyroKin, PhiInterpType::None > | ( | const Simulation< DeviceType > & | sml, |
const Grid< DeviceType > & | grid, | ||
const MagneticField< DeviceType > & | magnetic_field, | ||
const GridFieldPack< DeviceType, PhiInterpType::None > & | gfpack, | ||
const Species< DeviceType > & | species, | ||
const Charge< DeviceType > & | charge | ||
) |
void var_transpose_copy | ( | Kokkos::View< double ***, Kokkos::LayoutRight, HostType > & | dest_view, |
const Kokkos::View< double ***, Kokkos::LayoutRight, DeviceType > & | src_view | ||
) |