1288c0443SJeremy L Thompson## libCEED + PETSc Examples 2819eb1b3Sjeremylt 3*32d2ee49SValeria Barra### CEED bakeoff problems - bpsraw 4819eb1b3Sjeremylt 5819eb1b3SjeremyltThis code solves the CEED bakeoff problems on a structured grid generated and 68c91a0c9SJeremy L Thompsonreferenced using only low-level communication primitives. 7819eb1b3Sjeremylt 8cb32e2e7SValeria BarraTo build, run `make bpsraw` 9819eb1b3Sjeremylt 10cb32e2e7SValeria BarraTo run, `./bpsraw -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 16cb32e2e7SValeria Barra### CEED bakeoff problems with DMPlex - bps 17819eb1b3Sjeremylt 18819eb1b3SjeremyltThis code solves the CEED bakeoff problems on a unstructured grid using DMPlex. 19819eb1b3SjeremyltThis example requires a PETSc version later than 3.11.3. 20819eb1b3Sjeremylt 21cb32e2e7SValeria BarraTo build, run `make bps` 22819eb1b3Sjeremylt 23cb32e2e7SValeria BarraTo run, `./bps -ceed [ceed-resource] -problem bp[1-6] -degree [degree]` 24819eb1b3Sjeremylt 25819eb1b3SjeremyltIn addition to the common arguments, the following arguments may be set: 26819eb1b3Sjeremylt 27819eb1b3Sjeremylt- `-mesh` - Read mesh from file 28819eb1b3Sjeremylt- `-cells` - Number of cells per dimension 296c5df90dSjeremylt 306c5df90dSjeremylt### CEED bakeoff problems with DMPlex and PCMG - multigrid 316c5df90dSjeremylt 326c5df90dSjeremyltThis code solves the CEED bakeoff problems on a unstructured grid using DMPlex 336c5df90dSjeremyltwith p-multigrid implemented in PCMG. This example requires a PETSc version later than 3.11.3. 346c5df90dSjeremylt 35cb32e2e7SValeria BarraTo build, run `make multigrid` 366c5df90dSjeremylt 37cb32e2e7SValeria BarraTo run, `./multigrid -ceed [ceed-resource] -problem bp[1-6] -degree [degree]` 386c5df90dSjeremylt 396c5df90dSjeremyltIn addition to the common arguments, the following arguments may be set: 406c5df90dSjeremylt 416c5df90dSjeremylt- `-mesh` - Read mesh from file 426c5df90dSjeremylt- `-cells` - Number of cells per dimension 43819eb1b3Sjeremylt 44288c0443SJeremy L Thompson### Command line arguments 45819eb1b3Sjeremylt 46cb32e2e7SValeria BarraThe following arguments can be specified for all of the above examples: 47819eb1b3Sjeremylt 48819eb1b3Sjeremylt- `-ceed` - CEED resource specifier 49819eb1b3Sjeremylt- `-problem` - CEED benchmark problem to solve 506c5df90dSjeremylt- `-degree` - Polynomial degree of tensor product basis 51819eb1b3Sjeremylt- `-qextra` - Number of extra quadrature points 52819eb1b3Sjeremylt- `-test` - Testing mode (do not print unless error is large) 53819eb1b3Sjeremylt- `-benchmark` - Benchmarking mode (prints benchmark statistics) 54cb32e2e7SValeria Barra 55*32d2ee49SValeria Barra### libCEED example to compute surface area using DMPlex - area 56cb32e2e7SValeria Barra 57*32d2ee49SValeria BarraThis example uses the mass matrix to compute the surface area of a cube or a discrete cubed-sphere, defined via DMPlex. 58cb32e2e7SValeria Barra 59cb32e2e7SValeria BarraTo build, run `make area` 60cb32e2e7SValeria Barra 61*32d2ee49SValeria BarraTo run, `./area -problem cube -ceed [ceed-resource] -petscspace_degree [degree]` 62cb32e2e7SValeria Barra 63*32d2ee49SValeria Barraor 64cb32e2e7SValeria Barra 65*32d2ee49SValeria Barra`./area -problem sphere -ceed [ceed-resource] -petscspace_degree [degree]` 66*32d2ee49SValeria Barra 67*32d2ee49SValeria Barra#### Command line arguments 68*32d2ee49SValeria Barra 69*32d2ee49SValeria BarraThe following arguments can be specified for the area example: 70cb32e2e7SValeria Barra 71cb32e2e7SValeria Barra- `-ceed` - CEED resource specifier 72*32d2ee49SValeria Barra- `-problem` - Problem to solve, either 'cube' or 'sphere' 73cb32e2e7SValeria Barra- `-petscspace_degree` - Polynomial degree of tensor product basis 74cb32e2e7SValeria Barra- `-qextra` - Number of extra quadrature points 75cb32e2e7SValeria Barra- `-test` - Testing mode (do not print unless error is large) 76cb32e2e7SValeria Barra- `-mesh` - Read mesh from file 77cb32e2e7SValeria Barra 78