Lines Matching refs:dm
9 static PetscErrorCode CreateMesh(MPI_Comm comm, DM *dm) in CreateMesh() argument
12 PetscCall(DMCreate(comm, dm)); in CreateMesh()
13 PetscCall(DMSetType(*dm, DMPLEX)); in CreateMesh()
14 PetscCall(DMSetFromOptions(*dm)); in CreateMesh()
15 PetscCall(DMViewFromOptions(*dm, NULL, "-dm_view")); in CreateMesh()
19 static PetscErrorCode SetupBoundaries(DM dm) in SetupBoundaries() argument
26 PetscCall(DMGetCoordinateDim(dm, &dim)); in SetupBoundaries()
27 PetscCall(DMGetLabel(dm, "Face Sets", &label)); in SetupBoundaries()
28 …PetscCheck(label, PetscObjectComm((PetscObject)dm), PETSC_ERR_ARG_INCOMP, "Must have face sets lab… in SetupBoundaries()
35 …PetscCall(DMAddBoundary(dm, DM_BC_ESSENTIAL, "left", label, 1, &id, 0, 1, &cmp, NULL, NULL, NULL, … in SetupBoundaries()
38 …PetscCall(DMAddBoundary(dm, DM_BC_ESSENTIAL, "right", label, 1, &id, 0, 1, &cmp, NULL, NULL, NULL,… in SetupBoundaries()
40 …PetscCall(DMAddBoundary(dm, DM_BC_ESSENTIAL, "bottom", label, 1, &id, 0, 2, cmps_y, NULL, NULL, NU… in SetupBoundaries()
46 …PetscCall(DMAddBoundary(dm, DM_BC_ESSENTIAL, "left", label, 1, &id, 0, 2, cmps_xy, NULL, NULL, NUL… in SetupBoundaries()
48 …PetscCall(DMAddBoundary(dm, DM_BC_ESSENTIAL, "right", label, 1, &id, 0, 2, cmps_xy, NULL, NULL, NU… in SetupBoundaries()
50 …PetscCall(DMAddBoundary(dm, DM_BC_ESSENTIAL, "bottom", label, 1, &id, 0, 3, cmps_z, NULL, NULL, NU… in SetupBoundaries()
52 …PetscCall(DMAddBoundary(dm, DM_BC_ESSENTIAL, "front", label, 1, &id, 0, 2, cmps_xy, NULL, NULL, NU… in SetupBoundaries()
54 …PetscCall(DMAddBoundary(dm, DM_BC_ESSENTIAL, "back", label, 1, &id, 0, 2, cmps_xy, NULL, NULL, NUL… in SetupBoundaries()
59 PetscErrorCode SetupFE(DM dm, const char name[]) in SetupFE() argument
68 PetscCall(DMGetDimension(dm, &dim)); in SetupFE()
69 PetscCall(DMPlexGetHeightStratum(dm, 0, &cStart, NULL)); in SetupFE()
70 PetscCall(DMPlexGetCellType(dm, cStart, &ct)); in SetupFE()
75 PetscCall(DMSetField(dm, 0, NULL, (PetscObject)fe)); in SetupFE()
76 PetscCall(DMCreateDS(dm)); in SetupFE()
77 PetscCall(SetupBoundaries(dm)); in SetupFE()
82 PetscErrorCode MakeNullSpaceRigidBody(DM dm) in MakeNullSpaceRigidBody() argument
89 PetscCall(DMCreateMatrix(dm, &A)); in MakeNullSpaceRigidBody()
90 PetscCall(DMPlexCreateRigidBody(dm, 0, &null_space)); in MakeNullSpaceRigidBody()
100 DM dm; in main() local
104 PetscCall(CreateMesh(PETSC_COMM_WORLD, &dm)); in main()
105 PetscCall(SetupFE(dm, "displacement")); in main()
106 PetscCall(MakeNullSpaceRigidBody(dm)); in main()
107 PetscCall(DMDestroy(&dm)); in main()