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 DMPLEX array (length num_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 NULL

  • a_xarray - device input-vector data used when a_elem_closure is NULL

  • SData_d - precomputed static device data created with LandauKokkosStaticDataSet()

  • shift - time-integrator shift applied to the mass term of the Jacobian

  • events - array of PetscLogEvent identifiers used to time the operator phases

  • a_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