xref: /libCEED/examples/solids/include/setup-dm.h (revision f89ca58f2fa0c54f2b3b9e55dd7988c3f3b6d5b9)
1 #ifndef libceed_solids_examples_setup_dm_h
2 #define libceed_solids_examples_setup_dm_h
3 
4 #include <ceed.h>
5 #include <petsc.h>
6 #include <petscdmplex.h>
7 #include <petscfe.h>
8 #include "../include/structs.h"
9 
10 // -----------------------------------------------------------------------------
11 // Setup DM
12 // -----------------------------------------------------------------------------
13 PetscErrorCode CreateBCLabel(DM dm, const char name[]);
14 
15 // Read mesh and distribute DM in parallel
16 PetscErrorCode CreateDistributedDM(MPI_Comm comm, AppCtx app_ctx, DM *dm);
17 
18 // Setup DM with FE space of appropriate degree
19 PetscErrorCode SetupDMByDegree(DM dm, AppCtx app_ctx, PetscInt order,
20                                PetscBool boundary, PetscInt num_comp_u);
21 
22 #endif // libceed_solids_examples_setup_dm_h
23