LandauKokkosJacobian#
Kokkos backend for assembling the Landau collision-operator Jacobian for the DMPlex Landau time integrator
Synopsis#
#include "petscdmplex.h"
PetscErrorCode LandauKokkosJacobian(DM plex[], const PetscInt Nq, const PetscInt Nb, const PetscInt batch_sz, const PetscInt num_grids, const PetscInt a_numCells[], PetscReal a_Eq_m[], PetscScalar a_elem_closure[], const PetscScalar a_xarray[], const LandauStaticData *SData_d, const PetscReal shift, const PetscLogEvent events[], const PetscInt a_mat_offset[], const PetscInt a_species_offset[], Mat subJ[], Mat JacP)
Collective; No Fortran Support
Input Parameters#
plex - per-grid
DMPLEXarray (lengthnum_grids)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_Eq_m - per-species external-force coefficients (length equal to the total number of species)
a_elem_closure - host element-closure data used as input when the input vector is not on the device, otherwise
NULLa_xarray - device input-vector data used when
a_elem_closureisNULLSData_d - precomputed static device data created with
LandauKokkosStaticDataSet()shift - time-integrator shift applied to the mass term of the Jacobian
events - array of
PetscLogEventidentifiers used to time the operator phasesa_mat_offset - per-grid offset into the flattened matrix-block arrays (length
num_grids + 1)a_species_offset - per-grid offset into the flattened species arrays (length
num_grids + 1)
Output Parameters#
subJ - per-grid sub-Jacobian matrices, one entry per (grid, batch) pair (used when assembling the matrix from a global ordering)
JacP - the assembled full Jacobian matrix
Note#
Called internally by the Landau operator setup; users go through DMPlexLandauIJacobian().
See Also#
DMPlexLandauCreateVelocitySpace(), DMPlexLandauIJacobian(), LandauKokkosStaticDataSet(), LandauStaticData, LandauCtx
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