Skip to main content
`Ctrl`+`K`

# PetscDSGetTabulation

Return the basis tabulation at quadrature points for the volume discretization

## Synopsis

    #include "petscds.h"
    PetscErrorCode PetscDSGetTabulation(PetscDS prob, PetscTabulation *T[]) PeNS

Not Collective

## Input Parameter

- prob - The `PetscDS` object

## Output Parameter

- T - The basis function and derivatives tabulation at quadrature points for each field, see `PetscTabulation` for its details

## Note

The tabulation is only valid so long as the `PetscDS` has not be destroyed. There is no `PetscDSRestoreTabulation()` in C.

## Fortran Note

Use the declaration

      PetscTabulation, pointer :: tab(:)

and access the values using, for example,

      tab(i)%ptr%K
      tab(i)%ptr%T(j)%ptr

where \( i = 1, 2, ..., Nf \) and \( j = 1, 2, ..., tab(i)%ptr%K+1 \).

Use `PetscDSRestoreTabulation()` to restore the array

## Developer Note

The Fortran language syntax does not directly support arrays of pointers, the ‘%ptr’ notation allows mimicking their use in Fortran.

## See Also

`PetscDS`, `PetscTabulation`, `PetscDSCreate()`

## Level

intermediate

## Location

src/dm/dt/interface/dtds.c

## Examples

src/dm/impls/plex/tutorials/ex4f90.F90

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