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#

include/petsclandau.h


Index of all LANDAU routines
Table of Contents for all manual pages
Index of all manual pages