Lines Matching refs:dm
55 PetscErrorCode CreateMesh(MPI_Comm comm, AppCtx *user, DM *dm) in CreateMesh() argument
67 PetscCall(DMCreate(comm, dm)); in CreateMesh()
68 PetscCall(DMSetType(*dm, DMPLEX)); in CreateMesh()
69 PetscCall(DMPlexDistributeSetDefault(*dm, PETSC_FALSE)); in CreateMesh()
70 PetscCall(DMSetFromOptions(*dm)); in CreateMesh()
71 PetscCall(DMLocalizeCoordinates(*dm)); in CreateMesh()
73 PetscCall(DMViewFromOptions(*dm, NULL, "-init_dm_view")); in CreateMesh()
74 PetscCall(DMGetDimension(*dm, &dim)); in CreateMesh()
80 PetscCall(DMPlexCheck(*dm)); in CreateMesh()
81 PetscCall(DMPlexSetRefinementUniform(*dm, PETSC_TRUE)); in CreateMesh()
82 PetscCall(DMPlexSetTransformType(*dm, DMPLEXREFINETOBOX)); in CreateMesh()
83 PetscCall(DMRefine(*dm, PETSC_COMM_WORLD, &dmConv)); in CreateMesh()
84 PetscCall(PetscObjectSetOptionsPrefix((PetscObject)*dm, NULL)); in CreateMesh()
86 PetscCall(DMDestroy(dm)); in CreateMesh()
87 *dm = dmConv; in CreateMesh()
89 PetscCall(DMViewFromOptions(*dm, NULL, "-initref_dm_view")); in CreateMesh()
90 PetscCall(DMPlexCheck(*dm)); in CreateMesh()
97 PetscCall(DMSetPeriodicity(*dm, NULL, NULL, NULL)); in CreateMesh()
99 PetscCall(DMConvert(*dm, dim == 2 ? DMP4EST : DMP8EST, &dmConv)); in CreateMesh()
103 PetscCall(DMDestroy(dm)); in CreateMesh()
104 *dm = dmConv; in CreateMesh()
106 PetscCall(PetscObjectSetOptionsPrefix((PetscObject)*dm, "conv_seq_1_")); in CreateMesh()
107 PetscCall(DMSetUp(*dm)); in CreateMesh()
108 PetscCall(DMViewFromOptions(*dm, NULL, "-dm_view")); in CreateMesh()
109 PetscCall(DMConvert(*dm, DMPLEX, &dmConv)); in CreateMesh()
114 PetscCall(DMDestroy(dm)); in CreateMesh()
115 *dm = dmConv; in CreateMesh()
117 PetscCall(PetscObjectSetOptionsPrefix((PetscObject)*dm, "conv_seq_2_")); in CreateMesh()
118 PetscCall(DMViewFromOptions(*dm, NULL, "-dm_view")); in CreateMesh()
119 PetscCall(PetscObjectSetOptionsPrefix((PetscObject)*dm, NULL)); in CreateMesh()
125 PetscCall(DMViewFromOptions(*dm, NULL, "-dm_pre_dist_view")); in CreateMesh()
126 PetscCall(PetscObjectSetOptionsPrefix((PetscObject)*dm, "dist_")); in CreateMesh()
127 PetscCall(DMSetFromOptions(*dm)); in CreateMesh()
128 PetscCall(PetscObjectSetOptionsPrefix((PetscObject)*dm, NULL)); in CreateMesh()
130 PetscCall(DMViewFromOptions(*dm, NULL, "-distributed_dm_view")); in CreateMesh()
133 PetscCall(PetscObjectSetOptionsPrefix((PetscObject)*dm, "ref_")); in CreateMesh()
134 PetscCall(DMSetFromOptions(*dm)); in CreateMesh()
135 PetscCall(PetscObjectSetOptionsPrefix((PetscObject)*dm, NULL)); in CreateMesh()
142 PetscCall(DMPlexCheck(*dm)); in CreateMesh()
143 PetscCall(DMViewFromOptions(*dm, NULL, "-dm_tobox_view")); in CreateMesh()
144 PetscCall(DMPlexSetRefinementUniform(*dm, PETSC_TRUE)); in CreateMesh()
145 PetscCall(DMPlexSetTransformType(*dm, DMPLEXREFINETOBOX)); in CreateMesh()
146 PetscCall(DMRefine(*dm, PETSC_COMM_WORLD, &dmConv)); in CreateMesh()
147 PetscCall(PetscObjectSetOptionsPrefix((PetscObject)*dm, NULL)); in CreateMesh()
149 PetscCall(DMDestroy(dm)); in CreateMesh()
150 *dm = dmConv; in CreateMesh()
152 PetscCall(DMViewFromOptions(*dm, NULL, "-dm_tobox_view")); in CreateMesh()
153 PetscCall(DMPlexCheck(*dm)); in CreateMesh()
155 PetscCall(DMConvert(*dm, dim == 2 ? DMP4EST : DMP8EST, &dmConv)); in CreateMesh()
159 PetscCall(DMDestroy(dm)); in CreateMesh()
160 *dm = dmConv; in CreateMesh()
162 PetscCall(PetscObjectSetOptionsPrefix((PetscObject)*dm, "conv_par_1_")); in CreateMesh()
163 PetscCall(DMSetUp(*dm)); in CreateMesh()
164 PetscCall(DMViewFromOptions(*dm, NULL, "-dm_view")); in CreateMesh()
165 PetscCall(DMConvert(*dm, DMPLEX, &dmConv)); in CreateMesh()
170 PetscCall(DMDestroy(dm)); in CreateMesh()
171 *dm = dmConv; in CreateMesh()
173 PetscCall(PetscObjectSetOptionsPrefix((PetscObject)*dm, "conv_par_2_")); in CreateMesh()
174 PetscCall(DMViewFromOptions(*dm, NULL, "-dm_view")); in CreateMesh()
175 PetscCall(PetscObjectSetOptionsPrefix((PetscObject)*dm, NULL)); in CreateMesh()
184 PetscCall(DMViewFromOptions(*dm, NULL, "-dm_pre_redist_view")); in CreateMesh()
185 PetscCall(DMPlexDistribute(*dm, 0, NULL, &distributedMesh)); in CreateMesh()
190 …PI(MPIU_Allreduce(MPI_IN_PLACE, &nranks, 1, MPIU_INT, MPI_MIN, PetscObjectComm((PetscObject)*dm))); in CreateMesh()
191 …PetscCall(PetscViewerASCIIPrintf(PETSC_VIEWER_STDOUT_(PetscObjectComm((PetscObject)*dm)), "Minimum… in CreateMesh()
192 PetscCall(DMDestroy(dm)); in CreateMesh()
193 *dm = distributedMesh; in CreateMesh()
195 PetscCall(DMViewFromOptions(*dm, NULL, "-dm_post_redist_view")); in CreateMesh()
203 PetscCall(DMViewFromOptions(*dm, NULL, "-dm_pre_overlap_view")); in CreateMesh()
204 PetscCall(DMPlexDistributeOverlap(*dm, user->overlap, NULL, &overlapMesh)); in CreateMesh()
209 PetscCall(DMDestroy(dm)); in CreateMesh()
210 *dm = overlapMesh; in CreateMesh()
212 PetscCall(DMViewFromOptions(*dm, NULL, "-dm_post_overlap_view")); in CreateMesh()
218 PetscCall(DMPlexSetRefinementUniform(*dm, PETSC_TRUE)); in CreateMesh()
219 PetscCall(DMRefine(*dm, comm, &refinedMesh)); in CreateMesh()
221 PetscCall(DMDestroy(dm)); in CreateMesh()
222 *dm = refinedMesh; in CreateMesh()
226 PetscCall(PetscObjectSetName((PetscObject)*dm, "Generated Mesh")); in CreateMesh()
227 PetscCall(DMViewFromOptions(*dm, NULL, "-dm_view")); in CreateMesh()
228 if (user->final_diagnostics) PetscCall(DMPlexCheck(*dm)); in CreateMesh()
235 DM dm; in main() local
241 PetscCall(CreateMesh(PETSC_COMM_WORLD, &user, &dm)); in main()
242 PetscCall(DMDestroy(&dm)); in main()