XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
scatter.hpp
Go to the documentation of this file.
1 #ifndef SCATTER_HPP
2 #define SCATTER_HPP
3 
4 #include "globals.hpp"
5 #include "sml.hpp"
6 #include "magnetic_field.hpp"
7 #include "grid.hpp"
8 #include "particles.hpp"
9 #include "species.hpp"
11 #include "charge.hpp"
12 #include "perturbed_B_field.hpp"
13 #include "domain_decomposition.hpp"
14 
15 void electron_charge_deposition(FortranPtr grid_fptr,FortranPtr psn_fptr,FortranPtr spall_fptr,
16  const Simulation<DeviceType> &sml, const Grid<DeviceType> &grid,
18  const PerturbedBField<DeviceType> &perturbed_B_field,
19  const Charge<DeviceType> &charge, TmpSpecies<DeviceType> &tmp_species, const Species<DeviceType> &species);
20 
21 void ion_charge(FortranPtr grid_fptr,FortranPtr psn_fptr,FortranPtr spall_fptr, const Simulation<DeviceType> &sml,
23  const PerturbedBField<DeviceType> &perturbed_B_field, const Charge<DeviceType> &charge,
24  TmpSpecies<DeviceType> &tmp_species, std::vector<Species<DeviceType>> &all_species, const VelocityGrid& vgrid,
25  const DomainDecomposition<DeviceType>& pol_decomp);
26 
27 template<KinType KT>
28 void scatter(const Simulation<DeviceType> &sml, const Grid<DeviceType> &grid,
30  const PerturbedBField<DeviceType> &perturbed_B_field, const Species<DeviceType> &species,
31  const Charge<DeviceType> &charge, const TmpSpecies<DeviceType> &tmp_species);
32 
34 
36 
37 template<class Device, KinType KT>
38 KOKKOS_INLINE_FUNCTION void particle_scatter_c(const Species<Device> &species, const TmpSpecies<Device> &tmp_species,
39  const Charge<Device> &charge, const Grid<Device> &grid,
40  const MagneticField<Device> &magnetic_field, const ElectricField<Device> &electric_field,
41  const Simulation<Device> &sml, const PerturbedBField<Device> &perturbed_B_field, int i_item);
42 
43 #endif
Definition: perturbed_B_field.hpp:12
int * FortranPtr
Definition: globals.hpp:80
Definition: velocity_grid.hpp:5
Definition: sml.hpp:8
void scatter(const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const ElectricField< DeviceType > &electric_field, const PerturbedBField< DeviceType > &perturbed_B_field, const Species< DeviceType > &species, const Charge< DeviceType > &charge, const TmpSpecies< DeviceType > &tmp_species)
Definition: scatter.cpp:149
Definition: magnetic_field.hpp:9
Definition: electric_field.hpp:35
void copy_gyro_scatter_results_from_device(FortranPtr psn_fptr, const Simulation< DeviceType > &sml, const Charge< DeviceType > &charge)
Definition: scatter.cpp:215
Definition: grid.hpp:10
void electron_charge_deposition(FortranPtr grid_fptr, FortranPtr psn_fptr, FortranPtr spall_fptr, const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, ElectricField< DeviceType > &electric_field, const PerturbedBField< DeviceType > &perturbed_B_field, const Charge< DeviceType > &charge, TmpSpecies< DeviceType > &tmp_species, const Species< DeviceType > &species)
Definition: scatter.cpp:45
Definition: magnetic_field.F90:1
Definition: domain_decomposition.hpp:7
void copy_scatter_results_from_device(FortranPtr psn_fptr, const Simulation< DeviceType > &sml, const Charge< DeviceType > &charge)
Definition: scatter.cpp:179
Definition: species.hpp:13
Definition: charge.hpp:9
Definition: species.hpp:47
void ion_charge(FortranPtr grid_fptr, FortranPtr psn_fptr, FortranPtr spall_fptr, const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, ElectricField< DeviceType > &electric_field, const PerturbedBField< DeviceType > &perturbed_B_field, const Charge< DeviceType > &charge, TmpSpecies< DeviceType > &tmp_species, std::vector< Species< DeviceType >> &all_species, const VelocityGrid &vgrid, const DomainDecomposition< DeviceType > &pol_decomp)
Definition: scatter.cpp:89
KOKKOS_INLINE_FUNCTION void particle_scatter_c(const Species< Device > &species, const TmpSpecies< Device > &tmp_species, const Charge< Device > &charge, const Grid< Device > &grid, const MagneticField< Device > &magnetic_field, const ElectricField< Device > &electric_field, const Simulation< Device > &sml, const PerturbedBField< Device > &perturbed_B_field, int i_item)
Definition: scatter.cpp:380