|
XGCa
|
#include "timer_macro.hpp"#include "space_settings.hpp"#include "grid.hpp"#include "magnetic_field.hpp"#include "electric_field.hpp"#include "species.hpp"#include "gyro_radius.hpp"#include "grid_field_pack.hpp"#include "pullback_weight.hpp"
Functions | |
| template<class Device > | |
| KOKKOS_INLINE_FUNCTION double | get_dw (const MagneticField< Device > &magnetic_field, const Species< Device > &species, double upar, const Simd< double > &psi, const Simd< double > &Ah, const SimdParticles &part, int direction, int i_simd) |
| template<KinType KT, class Device > | |
| KOKKOS_INLINE_FUNCTION void | pullback_weight_c (const Grid< Device > &grid, const MagneticField< Device > &magnetic_field, const GridField< DeviceType, VarType::Scalar, PIT_GLOBAL, TorType::OnePlane, KT > &Ah_gf, const Species< Device > &species, int direction, const int idx) |
| template<KinType KT> | |
| void | pullback_weight (const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const DomainDecomposition< DeviceType > &pol_decomp, ElectricField< DeviceType > &electric_field, Species< DeviceType > &species, int direction) |
| void | all_species_pullback_weight (const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, const DomainDecomposition< DeviceType > &pol_decomp, ElectricField< DeviceType > &electric_field, Plasma &plasma, int direction) |
| void all_species_pullback_weight | ( | const Grid< DeviceType > & | grid, |
| const MagneticField< DeviceType > & | magnetic_field, | ||
| const DomainDecomposition< DeviceType > & | pol_decomp, | ||
| ElectricField< DeviceType > & | electric_field, | ||
| Plasma & | plasma, | ||
| int | direction | ||
| ) |
Perform the pullback transformation on all non-adiabatic species.
| [in] | grid | is used to get weights for the field gather |
| [in] | magnetic_field | is needed for psi and B calculation |
| [in] | electric_field | is used for magnetic potential Ah |
| [in] | plasma | contains all species and particle data |
| [in] | direction | is the direction of the pullback (-1 or 1) |


| KOKKOS_INLINE_FUNCTION double get_dw | ( | const MagneticField< Device > & | magnetic_field, |
| const Species< Device > & | species, | ||
| double | upar, | ||
| const Simd< double > & | psi, | ||
| const Simd< double > & | Ah, | ||
| const SimdParticles & | part, | ||
| int | direction, | ||
| int | i_simd | ||
| ) |

| void pullback_weight | ( | const Grid< DeviceType > & | grid, |
| const MagneticField< DeviceType > & | magnetic_field, | ||
| const DomainDecomposition< DeviceType > & | pol_decomp, | ||
| ElectricField< DeviceType > & | electric_field, | ||
| Species< DeviceType > & | species, | ||
| int | direction | ||
| ) |
Performs the pullback transformation of the particle weights \( w_1 \leftarrow w_1 + \sigma q_s/T_s v_\parallel*A_\parallel^{h} \) This is currently a linearized form of the pullback transform
| [in] | grid | is used to get weights for the field gather |
| [in] | magnetic_field | is needed for psi and B calculation |
| [in] | electric_field | is used for magnetic potential Ah |
| [in,out] | species | used for species-specific parameters and particles |
| [in] | direction | is the direction of the pullback (-1 or 1) |

| KOKKOS_INLINE_FUNCTION void pullback_weight_c | ( | const Grid< Device > & | grid, |
| const MagneticField< Device > & | magnetic_field, | ||
| const GridField< DeviceType, VarType::Scalar, PIT_GLOBAL, TorType::OnePlane, KT > & | Ah_gf, | ||
| const Species< Device > & | species, | ||
| int | direction, | ||
| const int | idx | ||
| ) |
Kernel to perform the pullback transformation of the particle weights \( w_1 \leftarrow w_1 + \sigma q_s/T_s v_\parallel*A_\parallel^{h} \) This is currently a linearized form of the pullback transform
| [in] | grid | is used to get weights for the field gather |
| [in] | magnetic_field | is needed for psi and B calculation |
| [in] | electric_field | is used for magnetic potential Ah |
| [in,out] | species | used for species-specific parameters and particles |
| [in] | direction | is the direction of the pullback (-1 or 1) |
| [in] | idx | is the particle or vector index |
