xref: /libCEED/examples/solids/include/setup-dm.h (revision b7c563b6b45e71aa3f6ac850cef50b83565081a6)
1*b7c563b6SJeremy L Thompson #ifndef libceed_solids_examples_setup_dm_h
2*b7c563b6SJeremy L Thompson #define libceed_solids_examples_setup_dm_h
35754ecacSJeremy L Thompson 
45754ecacSJeremy L Thompson #include <ceed.h>
55754ecacSJeremy L Thompson #include <petsc.h>
65754ecacSJeremy L Thompson #include <petscdmplex.h>
75754ecacSJeremy L Thompson #include <petscfe.h>
85754ecacSJeremy L Thompson #include "../include/structs.h"
95754ecacSJeremy L Thompson 
105754ecacSJeremy L Thompson // -----------------------------------------------------------------------------
115754ecacSJeremy L Thompson // Setup DM
125754ecacSJeremy L Thompson // -----------------------------------------------------------------------------
135754ecacSJeremy L Thompson PetscErrorCode CreateBCLabel(DM dm, const char name[]);
145754ecacSJeremy L Thompson 
155754ecacSJeremy L Thompson // Read mesh and distribute DM in parallel
165754ecacSJeremy L Thompson PetscErrorCode CreateDistributedDM(MPI_Comm comm, AppCtx app_ctx, DM *dm);
175754ecacSJeremy L Thompson 
185754ecacSJeremy L Thompson // Setup DM with FE space of appropriate degree
195754ecacSJeremy L Thompson PetscErrorCode SetupDMByDegree(DM dm, AppCtx app_ctx, PetscInt order,
205754ecacSJeremy L Thompson                                PetscBool boundary, PetscInt num_comp_u);
215754ecacSJeremy L Thompson 
22*b7c563b6SJeremy L Thompson #endif // libceed_solids_examples_setup_dm_h
23