LandauKokkosStaticDataSet#
Copy precomputed Landau quadrature and species data to device-resident Kokkos views for use by LandauKokkosJacobian()
Synopsis#
#include "petscdmplex.h"
PetscErrorCode LandauKokkosStaticDataSet(DM plex, const PetscInt Nq, const PetscInt Nb, const PetscInt batch_sz, const PetscInt num_grids, PetscInt a_numCells[], PetscInt a_species_offset[], PetscInt a_mat_offset[], PetscReal a_nu_alpha[], PetscReal a_nu_beta[], PetscReal a_invMass[], PetscReal a_lambdas[], PetscReal a_invJ[], PetscReal a_x[], PetscReal a_y[], PetscReal a_z[], PetscReal a_w[], LandauStaticData *SData_d)
Collective; No Fortran Support
Input Parameters#
plex - the
DMPLEXused to obtain the spatial dimension and discretization tabulationNq - number of quadrature points per element
Nb - number of basis functions per element
batch_sz - number of batched vertices
num_grids - number of grids
a_numCells - per-grid cell counts (length
num_grids)a_species_offset - per-grid offset into the flattened species arrays (length
num_grids + 1)a_mat_offset - per-grid offset into the flattened matrix-block arrays (length
num_grids + 1)a_nu_alpha - flattened per-species
nualpha collision coefficientsa_nu_beta - flattened per-species
nubeta collision coefficientsa_invMass - flattened per-species inverse mass
a_lambdas - flattened grid-pair lambda array of length
LANDAU_MAX_GRIDS * LANDAU_MAX_GRIDSa_invJ - inverse Jacobians at every quadrature point (length
nip * dim * dim)a_x - quadrature-point x coordinates (length
nip)a_y - quadrature-point y coordinates (length
nip)a_z - quadrature-point z coordinates (length
nip, used only whendim == 3)a_w - quadrature weights at every quadrature point (length
nip)
Output Parameter#
SData_d - the
LandauStaticDataworkspace whose device-resident Kokkos views are allocated and populated
Note#
Called by DMPlexLandauCreateVelocitySpace() when the Kokkos backend is selected; not intended for direct user calls.
See Also#
LandauKokkosStaticDataClear(), LandauKokkosJacobian(), LandauStaticData, LandauCtx, DMPlexLandauCreateVelocitySpace()
Level#
developer
Location#
src/ts/utils/dmplexlandau/kokkos/landau.kokkos.cxx
Index of all LANDAU routines
Table of Contents for all manual pages
Index of all manual pages