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 DMPLEX used to obtain the spatial dimension and discretization tabulation

  • Nq - 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 nu alpha collision coefficients

  • a_nu_beta - flattened per-species nu beta collision coefficients

  • a_invMass - flattened per-species inverse mass

  • a_lambdas - flattened grid-pair lambda array of length LANDAU_MAX_GRIDS * LANDAU_MAX_GRIDS

  • a_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 when dim == 3)

  • a_w - quadrature weights at every quadrature point (length nip)

Output Parameter#

  • SData_d - the LandauStaticData workspace 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