XGCa
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
update_ptl_weights.hpp
Go to the documentation of this file.
1 #ifndef UPDATE_PTL_WEIGHTS_HPP
2 #define UPDATE_PTL_WEIGHTS_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 "electric_field.hpp"
10 #include "species.hpp"
11 #include "domain_decomposition.hpp"
12 
13 
14 enum WtUpdateOption : bool { Update_W1_And_W2 = true, Update_W2_Only= false };
15 
16 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);
17 
18 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);
19 
20 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);
21 
22 template<class Device>
23 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);
24 
25 #endif
int * FortranPtr
Definition: globals.hpp:80
WtUpdateOption
Definition: update_ptl_weights.hpp:14
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)
Definition: update_ptl_weights.cpp:64
Definition: velocity_grid.hpp:5
Definition: sml.hpp:8
Definition: magnetic_field.hpp:9
Definition: electric_field.hpp:35
Definition: grid.hpp:10
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)
Definition: update_ptl_weights.cpp:95
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)
Definition: update_ptl_weights.cpp:45
Definition: update_ptl_weights.hpp:14
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)
Definition: update_ptl_weights.cpp:79
Definition: update_ptl_weights.hpp:14
Definition: magnetic_field.F90:1
Definition: domain_decomposition.hpp:7
Definition: species.hpp:13
Definition: species.hpp:47