xref: /libCEED/examples/petsc/README.md (revision 819eb1b30fcf84443a62bdf37d6ca6a55a6c1c34)
1*819eb1b3Sjeremylt## PETSc + libCEED Examples
2*819eb1b3Sjeremylt
3*819eb1b3Sjeremylt## CEED bakeoff problems - bps
4*819eb1b3Sjeremylt
5*819eb1b3SjeremyltThis code solves the CEED bakeoff problems on a structured grid generated and
6*819eb1b3Sjeremyltrefrenced using only low-level communication primitives.
7*819eb1b3Sjeremylt
8*819eb1b3SjeremyltTo build, run `make bps`.
9*819eb1b3Sjeremylt
10*819eb1b3SjeremyltTo run, `./bps -ceed [ceed-resource] -problem bp[1-6] -degree [degree]`.
11*819eb1b3Sjeremylt
12*819eb1b3SjeremyltIn addition to the common arguments, the following arguments may be set:
13*819eb1b3Sjeremylt
14*819eb1b3Sjeremylt- `-local`             - Target number of locally owned DoFs per process
15*819eb1b3Sjeremylt- `-degree`            - Polynomial degree of tensor product basis
16*819eb1b3Sjeremylt
17*819eb1b3Sjeremylt## CEED bakeoff problems with DMPlex - bpsdmplex
18*819eb1b3Sjeremylt
19*819eb1b3SjeremyltThis code solves the CEED bakeoff problems on a unstructured grid using DMPlex.
20*819eb1b3SjeremyltThis example requires a PETSc version later than 3.11.3.
21*819eb1b3Sjeremylt
22*819eb1b3SjeremyltTo build, run `make bpsdmplex`.
23*819eb1b3Sjeremylt
24*819eb1b3SjeremyltTo run, `./bpsdmplex -ceed [ceed-resource] -problem bp[1-6] -petscspace_degree [degree]`.
25*819eb1b3Sjeremylt
26*819eb1b3SjeremyltIn addition to the common arguments, the following arguments may be set:
27*819eb1b3Sjeremylt
28*819eb1b3Sjeremylt- `-mesh`              - Read mesh from file
29*819eb1b3Sjeremylt- `-cells`             - Number of cells per dimension
30*819eb1b3Sjeremylt- `-petscspace_degree` - Polynomial degree of tensor product basis (Mandatory)
31*819eb1b3Sjeremylt- `-enforce_bc`        - Enforce essential BCs
32*819eb1b3Sjeremylt
33*819eb1b3Sjeremylt## Command line arguments
34*819eb1b3Sjeremylt
35*819eb1b3SjeremyltThe following arguments can be specified for both examples:
36*819eb1b3Sjeremylt
37*819eb1b3Sjeremylt- `-ceed`              - CEED resource specifier
38*819eb1b3Sjeremylt- `-problem`           - CEED benchmark problem to solve
39*819eb1b3Sjeremylt- `-qextra`            - Number of extra quadrature points
40*819eb1b3Sjeremylt- `-test`              - Testing mode (do not print unless error is large)
41*819eb1b3Sjeremylt- `-benchmark`         - Benchmarking mode (prints benchmark statistics)
42