#include <vgrid_distribution.hpp>
|
using | exec_space = typename Device::execution_space |
|
|
| VGridDistribution () |
|
| VGridDistribution (const VelocityGrid &vgrid, const DomainDecomposition< DeviceType > &pol_decomp, const std::vector< Maxwellian > &maxwellians) |
|
| VGridDistribution (int nsp, const VelocityGrid &vgrid, const DomainDecomposition< DeviceType > &pol_decomp) |
|
KOKKOS_INLINE_FUNCTION double & | operator() (int isp, int ivr, int inode, int ivz) const |
|
KOKKOS_INLINE_FUNCTION double & | operator[] (int i) const |
|
double * | data () const |
|
template<typename F > |
void | for_all_elements (const std::string label, F lambda_func) const |
|
template<typename F > |
void | for_each_element (const std::string label, F lambda_func) const |
|
KOKKOS_INLINE_FUNCTION void | scatter (int i_node, const VGridWeights &wt, double value) const |
|
KOKKOS_INLINE_FUNCTION double | gather (int i_node, const VGridWeights &wt) const |
|
KOKKOS_INLINE_FUNCTION int | n_species () const |
|
KOKKOS_INLINE_FUNCTION int | n_vr () const |
|
KOKKOS_INLINE_FUNCTION int | n_nodes () const |
|
KOKKOS_INLINE_FUNCTION int | n_vz () const |
|
KOKKOS_INLINE_FUNCTION int | size () const |
|
double | get_smu_n (int imu) const |
|
KOKKOS_INLINE_FUNCTION double | mu_vol_fac (int ivr) const |
|
UniformRange | vr_range () const |
|
UniformRange | vz_range () const |
|
|
static KOKKOS_INLINE_FUNCTION void | scatter (const View< double ***, CLayout, Device > &view, int i_node, const VGridWeights &wt, double value) |
|
static KOKKOS_INLINE_FUNCTION void | scatter (const View< double ****, CLayout, Device > &view, int i_node, const VGridWeights &wt, double value) |
|
template<class T > |
static KOKKOS_INLINE_FUNCTION
double | gather (const T &view, int i_node, const VGridWeights &wt) |
|
template<class T > |
static KOKKOS_INLINE_FUNCTION
double | normed_gather (const T &view, int i_node, const VGridWeights &wt, const T &norm_view) |
|
template<class Device>
template<typename F >
void VGridDistribution< Device >::for_all_elements |
( |
const std::string |
label, |
|
|
F |
lambda_func |
|
) |
| const |
|
inline |
Loops over all elements with a 1D index. Enables clean syntax for operations that don't have a velocity or node dependence
- Parameters
-
[in] | label | is the label of the parallel_for used for debugging |
[in] | lambda_func | is the lambda function. Must be copy [=] not by reference |
template<class Device>
template<typename F >
void VGridDistribution< Device >::for_each_element |
( |
const std::string |
label, |
|
|
F |
lambda_func |
|
) |
| const |
|
inline |
Loops over all elements with a 4D index. For use when the velocity, node, or species indices are needed for the operation
- Parameters
-
[in] | label | is the label of the parallel_for used for debugging |
[in] | lambda_func | is the lambda function. Must be copy [=] not by reference |
template<class Device>
template<class T >
template<class Device>
KOKKOS_INLINE_FUNCTION double VGridDistribution< Device >::mu_vol_fac |
( |
int |
ivr | ) |
const |
|
inline |
template<class Device>
template<class T >
static KOKKOS_INLINE_FUNCTION double VGridDistribution< Device >::normed_gather |
( |
const T & |
view, |
|
|
int |
i_node, |
|
|
const VGridWeights & |
wt, |
|
|
const T & |
norm_view |
|
) |
| |
|
inlinestatic |
template<class Device>
KOKKOS_INLINE_FUNCTION double& VGridDistribution< Device >::operator() |
( |
int |
isp, |
|
|
int |
ivr, |
|
|
int |
inode, |
|
|
int |
ivz |
|
) |
| const |
|
inline |
template<class Device>
KOKKOS_INLINE_FUNCTION double& VGridDistribution< Device >::operator[] |
( |
int |
i | ) |
const |
|
inline |
grid spacing in parallel velocity
The documentation for this class was generated from the following file: