LandauStaticData#
Workspace of pre-computed quadrature, geometry, and physics data that is shared by every Jacobian assembly of the DMPLEX Landau collision operator
Synopsis#
#include "petscdmplex.h"
typedef struct {
void *invJ; // nip*dim*dim
void *D; // nq*nb*dim
void *B; // nq*nb
void *alpha; // ns
void *beta; // ns
void *invMass; // ns
void *w; // nip
void *x; // nip
void *y; // nip
void *z; // nip
void *Eq_m; // ns - dynamic
void *f; // nip*Nf - dynamic (IP)
void *dfdx; // nip*Nf - dynamic (IP)
void *dfdy; // nip*Nf - dynamic (IP)
void *dfdz; // nip*Nf - dynamic (IP)
int dim_, ns_, nip_, nq_, nb_;
void *NCells; // remove and use elem_offset - TODO
void *species_offset; // for each grid, but same for all batched vertices
void *mat_offset; // for each grid, but same for all batched vertices
void *elem_offset; // for each grid, but same for all batched vertices
void *ip_offset; // for each grid, but same for all batched vertices
void *ipf_offset; // for each grid, but same for all batched vertices
void *ipfdf_data; // for each grid, but same for all batched vertices
void *maps; // for each grid, but same for all batched vertices
// COO
void *coo_elem_offsets;
void *coo_elem_point_offsets;
void *coo_elem_fullNb;
void *coo_vals;
void *lambdas;
LandauIdx coo_n_cellsTot;
LandauIdx coo_size;
LandauIdx coo_max_fullnb;
} LandauStaticData;
Note#
The fields are typed as void * so that the same struct can hold either host arrays or device (Kokkos/CUDA/HIP) arrays depending on LandauDeviceType.
The contents are managed by DMPlexLandauCreateVelocitySpace() and friends and are not intended to be inspected by user code.
See Also#
DMPlexLandauCreateVelocitySpace(), LandauCtx, LandauDeviceType, LandauIdx
Level#
developer
Location#
Index of all LANDAU routines
Table of Contents for all manual pages
Index of all manual pages