xref: /libCEED/examples/petsc/README.md (revision 288c044332e33f37503f09b6484fec9d0a55fba1)
1*288c0443SJeremy L Thompson## libCEED + PETSc Examples
2819eb1b3Sjeremylt
3*288c0443SJeremy L Thompson### CEED bakeoff problems - bps
4819eb1b3Sjeremylt
5819eb1b3SjeremyltThis code solves the CEED bakeoff problems on a structured grid generated and
68c91a0c9SJeremy L Thompsonreferenced using only low-level communication primitives.
7819eb1b3Sjeremylt
8819eb1b3SjeremyltTo build, run `make bps`.
9819eb1b3Sjeremylt
10819eb1b3SjeremyltTo run, `./bps -ceed [ceed-resource] -problem bp[1-6] -degree [degree]`.
11819eb1b3Sjeremylt
12819eb1b3SjeremyltIn addition to the common arguments, the following arguments may be set:
13819eb1b3Sjeremylt
14819eb1b3Sjeremylt- `-local`             - Target number of locally owned DoFs per process
15819eb1b3Sjeremylt- `-degree`            - Polynomial degree of tensor product basis
16819eb1b3Sjeremylt
17*288c0443SJeremy L Thompson### CEED bakeoff problems with DMPlex - bpsdmplex
18819eb1b3Sjeremylt
19819eb1b3SjeremyltThis code solves the CEED bakeoff problems on a unstructured grid using DMPlex.
20819eb1b3SjeremyltThis example requires a PETSc version later than 3.11.3.
21819eb1b3Sjeremylt
22819eb1b3SjeremyltTo build, run `make bpsdmplex`.
23819eb1b3Sjeremylt
24819eb1b3SjeremyltTo run, `./bpsdmplex -ceed [ceed-resource] -problem bp[1-6] -petscspace_degree [degree]`.
25819eb1b3Sjeremylt
26819eb1b3SjeremyltIn addition to the common arguments, the following arguments may be set:
27819eb1b3Sjeremylt
28819eb1b3Sjeremylt- `-mesh`              - Read mesh from file
29819eb1b3Sjeremylt- `-cells`             - Number of cells per dimension
30819eb1b3Sjeremylt- `-petscspace_degree` - Polynomial degree of tensor product basis (Mandatory)
31819eb1b3Sjeremylt- `-enforce_bc`        - Enforce essential BCs
32819eb1b3Sjeremylt
33*288c0443SJeremy L Thompson### Command line arguments
34819eb1b3Sjeremylt
35819eb1b3SjeremyltThe following arguments can be specified for both examples:
36819eb1b3Sjeremylt
37819eb1b3Sjeremylt- `-ceed`              - CEED resource specifier
38819eb1b3Sjeremylt- `-problem`           - CEED benchmark problem to solve
39819eb1b3Sjeremylt- `-qextra`            - Number of extra quadrature points
40819eb1b3Sjeremylt- `-test`              - Testing mode (do not print unless error is large)
41819eb1b3Sjeremylt- `-benchmark`         - Benchmarking mode (prints benchmark statistics)
42