xref: /libCEED/examples/solids/include/setup-dm.h (revision bf4cb66493dbcc06b8d25c9c91cf89fe1cab7c9b)
1 #ifndef setupdm_h
2 #define setupdm_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 // setupdm_h
23