Vlasiator ebf0dd394 on dev (v5.4.0 + 1054 commits)
Loading...
Searching...
No Matches
gpu_moments.h File Reference
#include <vector>
#include <limits>
#include <dccrg.hpp>
#include <dccrg_cartesian_geometry.hpp>
#include "../definitions.h"
#include "../common.h"
#include "../spatial_cells/spatial_cell_wrapper.hpp"
Include dependency graph for gpu_moments.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define nMom1   4
#define nMom2   6

Functions

void gpu_calculateMoments_R (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const std::vector< CellID > &cells, const bool computeSecond, const bool initialCompute)
void gpu_calculateMoments_V (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const std::vector< CellID > &cells, const bool computeSecond, const bool initialCompute)

Macro Definition Documentation

◆ nMom1

#define nMom1   4

Definition at line 37 of file gpu_moments.h.

◆ nMom2

#define nMom2   6

Definition at line 38 of file gpu_moments.h.

Function Documentation

◆ gpu_calculateMoments_R()

void gpu_calculateMoments_R ( dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & mpiGrid,
const std::vector< CellID > & cells_in,
const bool computeSecond,
const bool initialCompute )

Note: there is no single-cell GPU-only version of moments calculations, (calculateCellMoments) as that task is achieved through the ARCH-interface with no performance loss. Calculate zeroth, first, and (possibly) second bulk velocity moments for the given spatial cell. The calculated moments include contributions from all existing particle populations. The calculated moments are stored to SpatialCell::parameters in _R variables.

Parameters
mpiGridParallel grid library.
cellsVector containing the spatial cells to be calculated.
computeSecondIf true, second velocity moments are calculated.
initialComputeIf true, force re-calculation of outflow L1 sysboundary cell moments. (otherwise skipped as their VDF contents are not kept up to date)

Definition at line 249 of file gpu_moments.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gpu_calculateMoments_V()

void gpu_calculateMoments_V ( dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & mpiGrid,
const std::vector< CellID > & cells_in,
const bool computeSecond,
const bool initialCompute )

Calculate zeroth, first, and (possibly) second bulk velocity moments for the given spatial cell. The calculated moments include contributions from all existing particle populations. The calculated moments are stored to SpatialCell::parameters in _V variables.

Parameters
mpiGridParallel grid library.
cellsVector containing the spatial cells to be calculated.
computeSecondIf true, second velocity moments are calculated.
initialComputeIf true, force re-calculation of outflow L1 sysboundary cell moments. (otherwise skipped as their VDF contents are not kept up to date)

Definition at line 469 of file gpu_moments.cpp.

Here is the call graph for this function:
Here is the caller graph for this function: