1c4762a1bSJed Brown static char help[] = "Tests various DMPlex routines to construct, refine and distribute a mesh.\n\n"; 2c4762a1bSJed Brown 3c4762a1bSJed Brown #include <petscdmplex.h> 4012bc364SMatthew G. Knepley #include <petscdmplextransform.h> 50a19bb7dSprj- #include <petscsf.h> 6c4762a1bSJed Brown 7c4762a1bSJed Brown enum {STAGE_LOAD, STAGE_DISTRIBUTE, STAGE_REFINE, STAGE_OVERLAP}; 8c4762a1bSJed Brown 9c4762a1bSJed Brown typedef struct { 10c4762a1bSJed Brown PetscLogEvent createMeshEvent; 11c4762a1bSJed Brown PetscLogStage stages[4]; 12c4762a1bSJed Brown /* Domain and mesh definition */ 13c4762a1bSJed Brown PetscInt dim; /* The topological mesh dimension */ 14c4762a1bSJed Brown PetscInt overlap; /* The cell overlap to use during partitioning */ 15c4762a1bSJed Brown PetscBool testp4est[2]; 16c4762a1bSJed Brown PetscBool redistribute; 17c4762a1bSJed Brown PetscBool final_ref; /* Run refinement at the end */ 18c4762a1bSJed Brown PetscBool final_diagnostics; /* Run diagnostics on the final mesh */ 19c4762a1bSJed Brown } AppCtx; 20c4762a1bSJed Brown 21c4762a1bSJed Brown PetscErrorCode ProcessOptions(MPI_Comm comm, AppCtx *options) 22c4762a1bSJed Brown { 23c4762a1bSJed Brown PetscErrorCode ierr; 24c4762a1bSJed Brown 25c4762a1bSJed Brown PetscFunctionBegin; 26c4762a1bSJed Brown options->dim = 2; 27c4762a1bSJed Brown options->overlap = 0; 28c4762a1bSJed Brown options->testp4est[0] = PETSC_FALSE; 29c4762a1bSJed Brown options->testp4est[1] = PETSC_FALSE; 30c4762a1bSJed Brown options->redistribute = PETSC_FALSE; 31c4762a1bSJed Brown options->final_ref = PETSC_FALSE; 32c4762a1bSJed Brown options->final_diagnostics = PETSC_TRUE; 33c4762a1bSJed Brown 34c4762a1bSJed Brown ierr = PetscOptionsBegin(comm, "", "Meshing Problem Options", "DMPLEX");CHKERRQ(ierr); 35c4762a1bSJed Brown ierr = PetscOptionsRangeInt("-dim", "The topological mesh dimension", "ex1.c", options->dim, &options->dim, NULL,1,3);CHKERRQ(ierr); 36c4762a1bSJed Brown ierr = PetscOptionsBoundedInt("-overlap", "The cell overlap for partitioning", "ex1.c", options->overlap, &options->overlap, NULL,0);CHKERRQ(ierr); 37c4762a1bSJed Brown ierr = PetscOptionsBool("-test_p4est_seq", "Test p4est with sequential base DM", "ex1.c", options->testp4est[0], &options->testp4est[0], NULL);CHKERRQ(ierr); 38c4762a1bSJed Brown ierr = PetscOptionsBool("-test_p4est_par", "Test p4est with parallel base DM", "ex1.c", options->testp4est[1], &options->testp4est[1], NULL);CHKERRQ(ierr); 39c4762a1bSJed Brown ierr = PetscOptionsBool("-test_redistribute", "Test redistribution", "ex1.c", options->redistribute, &options->redistribute, NULL);CHKERRQ(ierr); 40c4762a1bSJed Brown ierr = PetscOptionsBool("-final_ref", "Run uniform refinement on the final mesh", "ex1.c", options->final_ref, &options->final_ref, NULL);CHKERRQ(ierr); 41c4762a1bSJed Brown ierr = PetscOptionsBool("-final_diagnostics", "Run diagnostics on the final mesh", "ex1.c", options->final_diagnostics, &options->final_diagnostics, NULL);CHKERRQ(ierr); 421e1ea65dSPierre Jolivet ierr = PetscOptionsEnd();CHKERRQ(ierr); 43c4762a1bSJed Brown 44c4762a1bSJed Brown ierr = PetscLogEventRegister("CreateMesh", DM_CLASSID, &options->createMeshEvent);CHKERRQ(ierr); 45c4762a1bSJed Brown ierr = PetscLogStageRegister("MeshLoad", &options->stages[STAGE_LOAD]);CHKERRQ(ierr); 46c4762a1bSJed Brown ierr = PetscLogStageRegister("MeshDistribute", &options->stages[STAGE_DISTRIBUTE]);CHKERRQ(ierr); 47c4762a1bSJed Brown ierr = PetscLogStageRegister("MeshRefine", &options->stages[STAGE_REFINE]);CHKERRQ(ierr); 48c4762a1bSJed Brown ierr = PetscLogStageRegister("MeshOverlap", &options->stages[STAGE_OVERLAP]);CHKERRQ(ierr); 49c4762a1bSJed Brown PetscFunctionReturn(0); 50c4762a1bSJed Brown } 51c4762a1bSJed Brown 52c4762a1bSJed Brown PetscErrorCode CreateMesh(MPI_Comm comm, AppCtx *user, DM *dm) 53c4762a1bSJed Brown { 54c4762a1bSJed Brown PetscInt dim = user->dim; 55c4762a1bSJed Brown PetscBool testp4est_seq = user->testp4est[0]; 56c4762a1bSJed Brown PetscBool testp4est_par = user->testp4est[1]; 57c4762a1bSJed Brown PetscMPIInt rank, size; 58db2bf62eSStefano Zampini PetscBool periodic; 59c4762a1bSJed Brown PetscErrorCode ierr; 60c4762a1bSJed Brown 61c4762a1bSJed Brown PetscFunctionBegin; 62c4762a1bSJed Brown ierr = PetscLogEventBegin(user->createMeshEvent,0,0,0,0);CHKERRQ(ierr); 63ffc4695bSBarry Smith ierr = MPI_Comm_rank(comm, &rank);CHKERRMPI(ierr); 64ffc4695bSBarry Smith ierr = MPI_Comm_size(comm, &size);CHKERRMPI(ierr); 65c4762a1bSJed Brown ierr = PetscLogStagePush(user->stages[STAGE_LOAD]);CHKERRQ(ierr); 6630602db0SMatthew G. Knepley ierr = DMCreate(comm, dm);CHKERRQ(ierr); 6730602db0SMatthew G. Knepley ierr = DMSetType(*dm, DMPLEX);CHKERRQ(ierr); 6830602db0SMatthew G. Knepley ierr = DMSetFromOptions(*dm);CHKERRQ(ierr); 69db2bf62eSStefano Zampini 70db2bf62eSStefano Zampini /* For topologically periodic meshes, we first localize coordinates, 71db2bf62eSStefano Zampini and then remove any information related with the 72db2bf62eSStefano Zampini automatic computation of localized vertices. 73db2bf62eSStefano Zampini This way, refinement operations and conversions to p4est 74db2bf62eSStefano Zampini will preserve the shape of the domain in physical space */ 75db2bf62eSStefano Zampini ierr = DMLocalizeCoordinates(*dm);CHKERRQ(ierr); 76db2bf62eSStefano Zampini ierr = DMGetPeriodicity(*dm, &periodic, NULL, NULL, NULL);CHKERRQ(ierr); 7730602db0SMatthew G. Knepley if (periodic) {ierr = DMSetPeriodicity(*dm, PETSC_TRUE, NULL, NULL, NULL);CHKERRQ(ierr);} 78db2bf62eSStefano Zampini 79c4762a1bSJed Brown ierr = DMViewFromOptions(*dm,NULL,"-init_dm_view");CHKERRQ(ierr); 80c4762a1bSJed Brown ierr = DMGetDimension(*dm, &dim);CHKERRQ(ierr); 81c4762a1bSJed Brown 82c4762a1bSJed Brown if (testp4est_seq) { 83c4762a1bSJed Brown #if defined(PETSC_HAVE_P4EST) 84c4762a1bSJed Brown DM dmConv = NULL; 85c4762a1bSJed Brown 8654fcfd0cSMatthew G. Knepley ierr = DMPlexCheckSymmetry(*dm);CHKERRQ(ierr); 8754fcfd0cSMatthew G. Knepley ierr = DMPlexCheckSkeleton(*dm, 0);CHKERRQ(ierr); 8854fcfd0cSMatthew G. Knepley ierr = DMPlexCheckFaces(*dm, 0);CHKERRQ(ierr); 8954fcfd0cSMatthew G. Knepley ierr = DMPlexCheckGeometry(*dm);CHKERRQ(ierr); 9054fcfd0cSMatthew G. Knepley ierr = DMPlexCheckPointSF(*dm);CHKERRQ(ierr); 9154fcfd0cSMatthew G. Knepley ierr = DMPlexCheckInterfaceCones(*dm);CHKERRQ(ierr); 92c4762a1bSJed Brown ierr = DMPlexSetRefinementUniform(*dm, PETSC_TRUE);CHKERRQ(ierr); 93012bc364SMatthew G. Knepley ierr = DMPlexSetTransformType(*dm, DMPLEXREFINETOBOX);CHKERRQ(ierr); 9454fcfd0cSMatthew G. Knepley ierr = DMRefine(*dm, PETSC_COMM_WORLD, &dmConv);CHKERRQ(ierr); 95012bc364SMatthew G. Knepley ierr = PetscObjectSetOptionsPrefix((PetscObject) *dm, NULL);CHKERRQ(ierr); 96c4762a1bSJed Brown if (dmConv) { 97c4762a1bSJed Brown ierr = DMDestroy(dm);CHKERRQ(ierr); 98c4762a1bSJed Brown *dm = dmConv; 99c4762a1bSJed Brown } 10054fcfd0cSMatthew G. Knepley ierr = DMViewFromOptions(*dm,NULL,"-initref_dm_view");CHKERRQ(ierr); 10154fcfd0cSMatthew G. Knepley ierr = DMPlexCheckSymmetry(*dm);CHKERRQ(ierr); 10254fcfd0cSMatthew G. Knepley ierr = DMPlexCheckSkeleton(*dm, 0);CHKERRQ(ierr); 10354fcfd0cSMatthew G. Knepley ierr = DMPlexCheckFaces(*dm, 0);CHKERRQ(ierr); 10454fcfd0cSMatthew G. Knepley ierr = DMPlexCheckGeometry(*dm);CHKERRQ(ierr); 10554fcfd0cSMatthew G. Knepley ierr = DMPlexCheckPointSF(*dm);CHKERRQ(ierr); 10654fcfd0cSMatthew G. Knepley ierr = DMPlexCheckInterfaceCones(*dm);CHKERRQ(ierr); 107c4762a1bSJed Brown 108c4762a1bSJed Brown ierr = DMConvert(*dm,dim == 2 ? DMP4EST : DMP8EST,&dmConv);CHKERRQ(ierr); 109c4762a1bSJed Brown if (dmConv) { 110c4762a1bSJed Brown ierr = PetscObjectSetOptionsPrefix((PetscObject) dmConv, "conv_seq_1_");CHKERRQ(ierr); 111c4762a1bSJed Brown ierr = DMSetFromOptions(dmConv);CHKERRQ(ierr); 112c4762a1bSJed Brown ierr = DMDestroy(dm);CHKERRQ(ierr); 113c4762a1bSJed Brown *dm = dmConv; 114c4762a1bSJed Brown } 115c4762a1bSJed Brown ierr = PetscObjectSetOptionsPrefix((PetscObject) *dm, "conv_seq_1_");CHKERRQ(ierr); 116c4762a1bSJed Brown ierr = DMSetUp(*dm);CHKERRQ(ierr); 117c4762a1bSJed Brown ierr = DMViewFromOptions(*dm, NULL, "-dm_view");CHKERRQ(ierr); 118c4762a1bSJed Brown ierr = DMConvert(*dm,DMPLEX,&dmConv);CHKERRQ(ierr); 119c4762a1bSJed Brown if (dmConv) { 120c4762a1bSJed Brown ierr = PetscObjectSetOptionsPrefix((PetscObject) dmConv, "conv_seq_2_");CHKERRQ(ierr); 121c4762a1bSJed Brown ierr = DMSetFromOptions(dmConv);CHKERRQ(ierr); 122c4762a1bSJed Brown ierr = DMDestroy(dm);CHKERRQ(ierr); 123c4762a1bSJed Brown *dm = dmConv; 124c4762a1bSJed Brown } 125c4762a1bSJed Brown ierr = PetscObjectSetOptionsPrefix((PetscObject) *dm, "conv_seq_2_");CHKERRQ(ierr); 126c4762a1bSJed Brown ierr = DMViewFromOptions(*dm, NULL, "-dm_view");CHKERRQ(ierr); 127c4762a1bSJed Brown ierr = PetscObjectSetOptionsPrefix((PetscObject) *dm, NULL);CHKERRQ(ierr); 128c4762a1bSJed Brown #else 129c4762a1bSJed Brown SETERRQ(PETSC_COMM_WORLD,PETSC_ERR_SUP,"Recompile with --download-p4est"); 130c4762a1bSJed Brown #endif 131c4762a1bSJed Brown } 132c4762a1bSJed Brown 133c4762a1bSJed Brown ierr = PetscLogStagePop();CHKERRQ(ierr); 134c4762a1bSJed Brown if (!testp4est_seq) { 135c4762a1bSJed Brown ierr = PetscLogStagePush(user->stages[STAGE_DISTRIBUTE]);CHKERRQ(ierr); 136c4762a1bSJed Brown ierr = DMViewFromOptions(*dm, NULL, "-dm_pre_dist_view");CHKERRQ(ierr); 13730602db0SMatthew G. Knepley ierr = PetscObjectSetOptionsPrefix((PetscObject) *dm, "dist_");CHKERRQ(ierr); 13830602db0SMatthew G. Knepley ierr = DMSetFromOptions(*dm);CHKERRQ(ierr); 13930602db0SMatthew G. Knepley ierr = PetscObjectSetOptionsPrefix((PetscObject) *dm, NULL);CHKERRQ(ierr); 140c4762a1bSJed Brown ierr = PetscLogStagePop();CHKERRQ(ierr); 141c4762a1bSJed Brown ierr = DMViewFromOptions(*dm, NULL, "-distributed_dm_view");CHKERRQ(ierr); 142c4762a1bSJed Brown } 143c4762a1bSJed Brown ierr = PetscLogStagePush(user->stages[STAGE_REFINE]);CHKERRQ(ierr); 14430602db0SMatthew G. Knepley ierr = PetscObjectSetOptionsPrefix((PetscObject) *dm, "ref_");CHKERRQ(ierr); 145c4762a1bSJed Brown ierr = DMSetFromOptions(*dm);CHKERRQ(ierr); 14630602db0SMatthew G. Knepley ierr = PetscObjectSetOptionsPrefix((PetscObject) *dm, NULL);CHKERRQ(ierr); 147c4762a1bSJed Brown ierr = PetscLogStagePop();CHKERRQ(ierr); 148c4762a1bSJed Brown 149c4762a1bSJed Brown if (testp4est_par) { 150c4762a1bSJed Brown #if defined(PETSC_HAVE_P4EST) 151c4762a1bSJed Brown DM dmConv = NULL; 152c4762a1bSJed Brown 15396ca5757SLisandro Dalcin ierr = DMViewFromOptions(*dm, NULL, "-dm_tobox_view");CHKERRQ(ierr); 154c4762a1bSJed Brown ierr = DMPlexSetRefinementUniform(*dm, PETSC_TRUE);CHKERRQ(ierr); 155012bc364SMatthew G. Knepley ierr = DMPlexSetTransformType(*dm, DMPLEXREFINETOBOX);CHKERRQ(ierr); 15654fcfd0cSMatthew G. Knepley ierr = DMRefine(*dm, PETSC_COMM_WORLD, &dmConv);CHKERRQ(ierr); 157012bc364SMatthew G. Knepley ierr = PetscObjectSetOptionsPrefix((PetscObject) *dm, NULL);CHKERRQ(ierr); 158c4762a1bSJed Brown if (dmConv) { 159c4762a1bSJed Brown ierr = DMDestroy(dm);CHKERRQ(ierr); 160c4762a1bSJed Brown *dm = dmConv; 161c4762a1bSJed Brown } 16296ca5757SLisandro Dalcin ierr = DMViewFromOptions(*dm, NULL, "-dm_tobox_view");CHKERRQ(ierr); 16354fcfd0cSMatthew G. Knepley ierr = DMPlexCheckSymmetry(*dm);CHKERRQ(ierr); 16454fcfd0cSMatthew G. Knepley ierr = DMPlexCheckSkeleton(*dm, 0);CHKERRQ(ierr); 16554fcfd0cSMatthew G. Knepley ierr = DMPlexCheckFaces(*dm, 0);CHKERRQ(ierr); 16654fcfd0cSMatthew G. Knepley ierr = DMPlexCheckGeometry(*dm);CHKERRQ(ierr); 16754fcfd0cSMatthew G. Knepley ierr = DMPlexCheckPointSF(*dm);CHKERRQ(ierr); 16854fcfd0cSMatthew G. Knepley ierr = DMPlexCheckInterfaceCones(*dm);CHKERRQ(ierr); 169c4762a1bSJed Brown 170c4762a1bSJed Brown ierr = DMConvert(*dm,dim == 2 ? DMP4EST : DMP8EST,&dmConv);CHKERRQ(ierr); 171c4762a1bSJed Brown if (dmConv) { 172c4762a1bSJed Brown ierr = PetscObjectSetOptionsPrefix((PetscObject) dmConv, "conv_par_1_");CHKERRQ(ierr); 173c4762a1bSJed Brown ierr = DMSetFromOptions(dmConv);CHKERRQ(ierr); 174c4762a1bSJed Brown ierr = DMDestroy(dm);CHKERRQ(ierr); 175c4762a1bSJed Brown *dm = dmConv; 176c4762a1bSJed Brown } 177c4762a1bSJed Brown ierr = PetscObjectSetOptionsPrefix((PetscObject) *dm, "conv_par_1_");CHKERRQ(ierr); 178c4762a1bSJed Brown ierr = DMSetUp(*dm);CHKERRQ(ierr); 179c4762a1bSJed Brown ierr = DMViewFromOptions(*dm, NULL, "-dm_view");CHKERRQ(ierr); 180c4762a1bSJed Brown ierr = DMConvert(*dm, DMPLEX, &dmConv);CHKERRQ(ierr); 181c4762a1bSJed Brown if (dmConv) { 182c4762a1bSJed Brown ierr = PetscObjectSetOptionsPrefix((PetscObject) dmConv, "conv_par_2_");CHKERRQ(ierr); 183c4762a1bSJed Brown ierr = DMSetFromOptions(dmConv);CHKERRQ(ierr); 184c4762a1bSJed Brown ierr = DMDestroy(dm);CHKERRQ(ierr); 185c4762a1bSJed Brown *dm = dmConv; 186c4762a1bSJed Brown } 187c4762a1bSJed Brown ierr = PetscObjectSetOptionsPrefix((PetscObject) *dm, "conv_par_2_");CHKERRQ(ierr); 188c4762a1bSJed Brown ierr = DMViewFromOptions(*dm, NULL, "-dm_view");CHKERRQ(ierr); 189c4762a1bSJed Brown ierr = PetscObjectSetOptionsPrefix((PetscObject) *dm, NULL);CHKERRQ(ierr); 190c4762a1bSJed Brown #else 191c4762a1bSJed Brown SETERRQ(PETSC_COMM_WORLD,PETSC_ERR_SUP,"Recompile with --download-p4est"); 192c4762a1bSJed Brown #endif 193c4762a1bSJed Brown } 194c4762a1bSJed Brown 195c4762a1bSJed Brown /* test redistribution of an already distributed mesh */ 196c4762a1bSJed Brown if (user->redistribute) { 197c4762a1bSJed Brown DM distributedMesh; 1980a19bb7dSprj- PetscSF sf; 1990a19bb7dSprj- PetscInt nranks; 200c4762a1bSJed Brown 201c4762a1bSJed Brown ierr = DMViewFromOptions(*dm, NULL, "-dm_pre_redist_view");CHKERRQ(ierr); 202c4762a1bSJed Brown ierr = DMPlexDistribute(*dm, 0, NULL, &distributedMesh);CHKERRQ(ierr); 203c4762a1bSJed Brown if (distributedMesh) { 2040a19bb7dSprj- ierr = DMGetPointSF(distributedMesh, &sf);CHKERRQ(ierr); 2050a19bb7dSprj- ierr = PetscSFSetUp(sf);CHKERRQ(ierr); 2060a19bb7dSprj- ierr = DMGetNeighbors(distributedMesh, &nranks, NULL);CHKERRQ(ierr); 207ffc4695bSBarry Smith ierr = MPI_Allreduce(MPI_IN_PLACE, &nranks, 1, MPIU_INT, MPI_MIN, PetscObjectComm((PetscObject)*dm));CHKERRMPI(ierr); 2080a19bb7dSprj- ierr = PetscViewerASCIIPrintf(PETSC_VIEWER_STDOUT_(PetscObjectComm((PetscObject)*dm)), "Minimum number of neighbors: %D\n", nranks);CHKERRQ(ierr); 209c4762a1bSJed Brown ierr = DMDestroy(dm);CHKERRQ(ierr); 210c4762a1bSJed Brown *dm = distributedMesh; 211c4762a1bSJed Brown } 212c4762a1bSJed Brown ierr = DMViewFromOptions(*dm, NULL, "-dm_post_redist_view");CHKERRQ(ierr); 213c4762a1bSJed Brown } 214c4762a1bSJed Brown 215c4762a1bSJed Brown if (user->overlap) { 216c4762a1bSJed Brown DM overlapMesh = NULL; 217c4762a1bSJed Brown 218c4762a1bSJed Brown /* Add the overlap to refined mesh */ 219c4762a1bSJed Brown ierr = PetscLogStagePush(user->stages[STAGE_OVERLAP]);CHKERRQ(ierr); 220c4762a1bSJed Brown ierr = DMViewFromOptions(*dm, NULL, "-dm_pre_overlap_view");CHKERRQ(ierr); 221c4762a1bSJed Brown ierr = DMPlexDistributeOverlap(*dm, user->overlap, NULL, &overlapMesh);CHKERRQ(ierr); 222c4762a1bSJed Brown if (overlapMesh) { 223c4762a1bSJed Brown PetscInt overlap; 224c4762a1bSJed Brown ierr = DMPlexGetOverlap(overlapMesh, &overlap);CHKERRQ(ierr); 225c4762a1bSJed Brown ierr = PetscViewerASCIIPrintf(PETSC_VIEWER_STDOUT_WORLD, "Overlap: %D\n", overlap);CHKERRQ(ierr); 226c4762a1bSJed Brown ierr = DMDestroy(dm);CHKERRQ(ierr); 227c4762a1bSJed Brown *dm = overlapMesh; 228c4762a1bSJed Brown } 229c4762a1bSJed Brown ierr = DMViewFromOptions(*dm, NULL, "-dm_post_overlap_view");CHKERRQ(ierr); 230c4762a1bSJed Brown ierr = PetscLogStagePop();CHKERRQ(ierr); 231c4762a1bSJed Brown } 232c4762a1bSJed Brown if (user->final_ref) { 233c4762a1bSJed Brown DM refinedMesh = NULL; 234c4762a1bSJed Brown 235c4762a1bSJed Brown ierr = DMPlexSetRefinementUniform(*dm, PETSC_TRUE);CHKERRQ(ierr); 236c4762a1bSJed Brown ierr = DMRefine(*dm, comm, &refinedMesh);CHKERRQ(ierr); 237c4762a1bSJed Brown if (refinedMesh) { 238c4762a1bSJed Brown ierr = DMDestroy(dm);CHKERRQ(ierr); 239c4762a1bSJed Brown *dm = refinedMesh; 240c4762a1bSJed Brown } 241c4762a1bSJed Brown } 242c4762a1bSJed Brown 24352b05773SJed Brown ierr = PetscObjectSetName((PetscObject) *dm, "Generated Mesh");CHKERRQ(ierr); 244c4762a1bSJed Brown ierr = DMViewFromOptions(*dm, NULL, "-dm_view");CHKERRQ(ierr); 245c4762a1bSJed Brown if (user->final_diagnostics) { 246c4762a1bSJed Brown DMPlexInterpolatedFlag interpolated; 247c4762a1bSJed Brown PetscInt dim, depth; 248c4762a1bSJed Brown 249c4762a1bSJed Brown ierr = DMGetDimension(*dm, &dim);CHKERRQ(ierr); 250c4762a1bSJed Brown ierr = DMPlexGetDepth(*dm, &depth);CHKERRQ(ierr); 251c4762a1bSJed Brown ierr = DMPlexIsInterpolatedCollective(*dm, &interpolated);CHKERRQ(ierr); 252c4762a1bSJed Brown 253c4762a1bSJed Brown ierr = DMPlexCheckSymmetry(*dm);CHKERRQ(ierr); 254c4762a1bSJed Brown if (interpolated == DMPLEX_INTERPOLATED_FULL) { 255c4762a1bSJed Brown ierr = DMPlexCheckFaces(*dm, 0);CHKERRQ(ierr); 256c4762a1bSJed Brown } 257c4762a1bSJed Brown ierr = DMPlexCheckSkeleton(*dm, 0);CHKERRQ(ierr); 258c4762a1bSJed Brown ierr = DMPlexCheckGeometry(*dm);CHKERRQ(ierr); 259c4762a1bSJed Brown } 260c4762a1bSJed Brown ierr = PetscLogEventEnd(user->createMeshEvent,0,0,0,0);CHKERRQ(ierr); 261c4762a1bSJed Brown PetscFunctionReturn(0); 262c4762a1bSJed Brown } 263c4762a1bSJed Brown 264c4762a1bSJed Brown int main(int argc, char **argv) 265c4762a1bSJed Brown { 26630602db0SMatthew G. Knepley DM dm; 26730602db0SMatthew G. Knepley AppCtx user; 268c4762a1bSJed Brown PetscErrorCode ierr; 269c4762a1bSJed Brown 270c4762a1bSJed Brown ierr = PetscInitialize(&argc, &argv, NULL, help);if (ierr) return ierr; 271c4762a1bSJed Brown ierr = ProcessOptions(PETSC_COMM_WORLD, &user);CHKERRQ(ierr); 27230602db0SMatthew G. Knepley ierr = CreateMesh(PETSC_COMM_WORLD, &user, &dm);CHKERRQ(ierr); 27330602db0SMatthew G. Knepley ierr = DMDestroy(&dm);CHKERRQ(ierr); 274c4762a1bSJed Brown ierr = PetscFinalize(); 275c4762a1bSJed Brown return ierr; 276c4762a1bSJed Brown } 277c4762a1bSJed Brown 278c4762a1bSJed Brown /*TEST 279c4762a1bSJed Brown 280c4762a1bSJed Brown # CTetGen 0-1 281c4762a1bSJed Brown test: 282c4762a1bSJed Brown suffix: 0 283c4762a1bSJed Brown requires: ctetgen 28430602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_dim 3 -dim 3 -dm_plex_interpolate 0 -ctetgen_verbose 4 -dm_view ascii::ascii_info_detail -info :~sys 285c4762a1bSJed Brown test: 286c4762a1bSJed Brown suffix: 1 287c4762a1bSJed Brown requires: ctetgen 28830602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_dim 3 -dim 3 -dm_plex_interpolate 0 -ctetgen_verbose 4 -dm_refine_volume_limit_pre 0.0625 -dm_view ascii::ascii_info_detail -info :~sys 289c4762a1bSJed Brown 290c4762a1bSJed Brown # 2D LaTex and ASCII output 2-9 291c4762a1bSJed Brown test: 292c4762a1bSJed Brown suffix: 2 293c4762a1bSJed Brown requires: triangle 29430602db0SMatthew G. Knepley args: -dm_plex_interpolate 0 -dm_view ascii::ascii_latex 295c4762a1bSJed Brown test: 296c4762a1bSJed Brown suffix: 3 297c4762a1bSJed Brown requires: triangle 29830602db0SMatthew G. Knepley args: -ref_dm_refine 1 -dm_view ascii::ascii_info_detail 299c4762a1bSJed Brown test: 300c4762a1bSJed Brown suffix: 4 301c4762a1bSJed Brown requires: triangle 302c4762a1bSJed Brown nsize: 2 30330602db0SMatthew G. Knepley args: -dm_coord_space 0 -ref_dm_refine 1 -dist_dm_distribute -petscpartitioner_type simple -dm_view ascii::ascii_info_detail 304c4762a1bSJed Brown test: 305c4762a1bSJed Brown suffix: 5 306c4762a1bSJed Brown requires: triangle 307c4762a1bSJed Brown nsize: 2 30830602db0SMatthew G. Knepley args: -dm_coord_space 0 -ref_dm_refine 1 -dist_dm_distribute -petscpartitioner_type simple -dm_view ascii::ascii_latex 309c4762a1bSJed Brown test: 310c4762a1bSJed Brown suffix: 6 31130602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_simplex 0 -dm_view ascii::ascii_info_detail 312c4762a1bSJed Brown test: 313c4762a1bSJed Brown suffix: 7 31430602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_simplex 0 -ref_dm_refine 1 -dm_view ascii::ascii_info_detail 315c4762a1bSJed Brown test: 316c4762a1bSJed Brown suffix: 8 317c4762a1bSJed Brown nsize: 2 31830602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 1 -dist_dm_distribute -petscpartitioner_type simple -dm_view ascii::ascii_latex 319c4762a1bSJed Brown 320c4762a1bSJed Brown # 1D ASCII output 32130602db0SMatthew G. Knepley testset: 32230602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_dim 1 -dm_view ascii::ascii_info_detail -dm_plex_check_all 323c4762a1bSJed Brown test: 324c4762a1bSJed Brown suffix: 1d_0 32530602db0SMatthew G. Knepley args: 326c4762a1bSJed Brown test: 327c4762a1bSJed Brown suffix: 1d_1 32830602db0SMatthew G. Knepley args: -ref_dm_refine 2 329c4762a1bSJed Brown test: 330c4762a1bSJed Brown suffix: 1d_2 33130602db0SMatthew G. Knepley args: -dm_plex_box_faces 5 -dm_plex_box_bd periodic 332c4762a1bSJed Brown 333c4762a1bSJed Brown # Parallel refinement tests with overlap 334c4762a1bSJed Brown test: 335c4762a1bSJed Brown suffix: refine_overlap_1d 336c4762a1bSJed Brown nsize: 2 33730602db0SMatthew G. Knepley args: -dm_plex_dim 1 -dim 1 -dm_plex_box_faces 4 -dm_plex_box_faces 4 -ref_dm_refine 1 -overlap {{0 1 2}separate output} -dist_dm_distribute -petscpartitioner_type simple -dm_view ascii::ascii_info 338c4762a1bSJed Brown test: 339c4762a1bSJed Brown suffix: refine_overlap_2d 340c4762a1bSJed Brown requires: triangle 341c4762a1bSJed Brown nsize: {{2 8}separate output} 34230602db0SMatthew G. Knepley args: -dm_coord_space 0 -ref_dm_refine 1 -dist_dm_distribute -petscpartitioner_type simple -overlap {{0 1 2}separate output} -dm_view ascii::ascii_info 343c4762a1bSJed Brown 344*d410b0cfSMatthew G. Knepley # Parallel extrusion tests 345*d410b0cfSMatthew G. Knepley test: 346*d410b0cfSMatthew G. Knepley suffix: spheresurface_extruded 347*d410b0cfSMatthew G. Knepley nsize : 4 348*d410b0cfSMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_shape sphere -dm_extrude 3 -dist_dm_distribute -petscpartitioner_type simple \ 349*d410b0cfSMatthew G. Knepley -dm_plex_check_all -dm_view ::ascii_info_detail -dm_plex_view_coord_system spherical 350*d410b0cfSMatthew G. Knepley 351*d410b0cfSMatthew G. Knepley test: 352*d410b0cfSMatthew G. Knepley suffix: spheresurface_extruded_symmetric 353*d410b0cfSMatthew G. Knepley nsize : 4 354*d410b0cfSMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_shape sphere -dm_extrude 3 -dm_plex_transform_extrude_symmetric -dist_dm_distribute -petscpartitioner_type simple \ 355*d410b0cfSMatthew G. Knepley -dm_plex_check_all -dm_view ::ascii_info_detail -dm_plex_view_coord_system spherical 356*d410b0cfSMatthew G. Knepley 357c4762a1bSJed Brown # Parallel simple partitioner tests 358c4762a1bSJed Brown test: 359c4762a1bSJed Brown suffix: part_simple_0 360c4762a1bSJed Brown requires: triangle 361c4762a1bSJed Brown nsize: 2 36230602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_interpolate 0 -dist_dm_distribute -petscpartitioner_type simple -dist_partition_view -dm_view ascii::ascii_info_detail 363c4762a1bSJed Brown test: 364c4762a1bSJed Brown suffix: part_simple_1 365c4762a1bSJed Brown requires: triangle 366c4762a1bSJed Brown nsize: 8 36730602db0SMatthew G. Knepley args: -dm_coord_space 0 -ref_dm_refine 1 -dist_dm_distribute -petscpartitioner_type simple -dist_partition_view -dm_view ascii::ascii_info_detail 368c4762a1bSJed Brown 369c4762a1bSJed Brown # Parallel partitioner tests 370c4762a1bSJed Brown test: 371c4762a1bSJed Brown suffix: part_parmetis_0 372c4762a1bSJed Brown requires: parmetis 373c4762a1bSJed Brown nsize: 2 37430602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 1 -dist_dm_distribute -petscpartitioner_type parmetis -dm_view -petscpartitioner_view -test_redistribute -dm_plex_csr_via_mat {{0 1}} -dm_pre_redist_view ::load_balance -dm_post_redist_view ::load_balance -petscpartitioner_view_graph 375c4762a1bSJed Brown test: 376c4762a1bSJed Brown suffix: part_ptscotch_0 377c4762a1bSJed Brown requires: ptscotch 378c4762a1bSJed Brown nsize: 2 37930602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -dist_dm_distribute -petscpartitioner_type ptscotch -petscpartitioner_view -petscpartitioner_ptscotch_strategy quality -test_redistribute -dm_plex_csr_via_mat {{0 1}} -dm_pre_redist_view ::load_balance -dm_post_redist_view ::load_balance -petscpartitioner_view_graph 380c4762a1bSJed Brown test: 381c4762a1bSJed Brown suffix: part_ptscotch_1 382c4762a1bSJed Brown requires: ptscotch 383c4762a1bSJed Brown nsize: 8 38430602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 1 -dist_dm_distribute -petscpartitioner_type ptscotch -petscpartitioner_view -petscpartitioner_ptscotch_imbalance 0.1 385c4762a1bSJed Brown 386c4762a1bSJed Brown # CGNS reader tests 10-11 (need to find smaller test meshes) 387c4762a1bSJed Brown test: 388c4762a1bSJed Brown suffix: cgns_0 389c4762a1bSJed Brown requires: cgns 39030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/tut21.cgns -dm_view 391c4762a1bSJed Brown 392c4762a1bSJed Brown # Gmsh mesh reader tests 39330602db0SMatthew G. Knepley testset: 39430602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_view 39530602db0SMatthew G. Knepley 396c4762a1bSJed Brown test: 397c4762a1bSJed Brown suffix: gmsh_0 398c4762a1bSJed Brown requires: !single 39930602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 400c4762a1bSJed Brown test: 401c4762a1bSJed Brown suffix: gmsh_1 402c4762a1bSJed Brown requires: !single 40330602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.msh 404c4762a1bSJed Brown test: 405c4762a1bSJed Brown suffix: gmsh_2 406c4762a1bSJed Brown requires: !single 40730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_bin.msh 408c4762a1bSJed Brown test: 409c4762a1bSJed Brown suffix: gmsh_3 410c4762a1bSJed Brown nsize: 3 411c4762a1bSJed Brown requires: !single 41230602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.msh -dist_dm_distribute -petscpartitioner_type simple 413c4762a1bSJed Brown test: 414c4762a1bSJed Brown suffix: gmsh_4 415c4762a1bSJed Brown nsize: 3 416c4762a1bSJed Brown requires: !single 41730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_bin.msh -dist_dm_distribute -petscpartitioner_type simple 418c4762a1bSJed Brown test: 419c4762a1bSJed Brown suffix: gmsh_5 420c4762a1bSJed Brown requires: !single 42130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_quad.msh 422c4762a1bSJed Brown # TODO: it seems the mesh is not a valid gmsh (inverted cell) 423c4762a1bSJed Brown test: 424c4762a1bSJed Brown suffix: gmsh_6 425c4762a1bSJed Brown requires: !single 42630602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_bin_physnames.msh -final_diagnostics 0 427c4762a1bSJed Brown test: 428c4762a1bSJed Brown suffix: gmsh_7 42930602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/mesh-3d-box-innersphere_bin.msh -dm_view ::ascii_info_detail -dm_plex_check_all 430c4762a1bSJed Brown test: 431c4762a1bSJed Brown suffix: gmsh_8 43230602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/mesh-3d-box-innersphere.msh -dm_view ::ascii_info_detail -dm_plex_check_all 433c4762a1bSJed Brown testset: 43430602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_periodic_bin.msh -dm_view ::ascii_info_detail -dm_plex_check_all 435c4762a1bSJed Brown test: 436c4762a1bSJed Brown suffix: gmsh_9 437c4762a1bSJed Brown test: 438c4762a1bSJed Brown suffix: gmsh_9_periodic_0 439c4762a1bSJed Brown args: -dm_plex_gmsh_periodic 0 440c4762a1bSJed Brown testset: 44130602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_periodic.msh -dm_view ::ascii_info_detail -dm_plex_check_all 442c4762a1bSJed Brown test: 443c4762a1bSJed Brown suffix: gmsh_10 444c4762a1bSJed Brown test: 445c4762a1bSJed Brown suffix: gmsh_10_periodic_0 446c4762a1bSJed Brown args: -dm_plex_gmsh_periodic 0 447c4762a1bSJed Brown testset: 44830602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_periodic.msh -dm_view ::ascii_info_detail -dm_plex_check_all -ref_dm_refine 1 449c4762a1bSJed Brown test: 450c4762a1bSJed Brown suffix: gmsh_11 451c4762a1bSJed Brown test: 452c4762a1bSJed Brown suffix: gmsh_11_periodic_0 453c4762a1bSJed Brown args: -dm_plex_gmsh_periodic 0 454c4762a1bSJed Brown # TODO: it seems the mesh is not a valid gmsh (inverted cell) 455c4762a1bSJed Brown test: 456c4762a1bSJed Brown suffix: gmsh_12 457c4762a1bSJed Brown nsize: 4 458c4762a1bSJed Brown requires: !single mpiio 45930602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_bin_physnames.msh -viewer_binary_mpiio -dist_dm_distribute -petscpartitioner_type simple -dm_view -final_diagnostics 0 460c4762a1bSJed Brown test: 461c4762a1bSJed Brown suffix: gmsh_13_hybs2t 462c4762a1bSJed Brown nsize: 4 463012bc364SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_triquad.msh -dist_dm_distribute -petscpartitioner_type simple -dm_view -ref_dm_refine 1 -ref_dm_plex_transform_type refine_tobox -dm_plex_check_all 464c4762a1bSJed Brown test: 465c4762a1bSJed Brown suffix: gmsh_14_ext 466c4762a1bSJed Brown requires: !single 467*d410b0cfSMatthew G. Knepley args: -dm_coord_space 0 -dm_extrude 2 -dm_plex_transform_extrude_thickness 1.5 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_bin.msh -dm_view -dm_plex_check_all 468c4762a1bSJed Brown test: 469c4762a1bSJed Brown suffix: gmsh_14_ext_s2t 470c4762a1bSJed Brown requires: !single 471*d410b0cfSMatthew G. Knepley args: -dm_coord_space 0 -dm_extrude 2 -dm_plex_transform_extrude_thickness 1.5 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_bin.msh -dm_view -dm_plex_check_all -ref_dm_refine 1 -ref_dm_plex_transform_type refine_tobox 472c4762a1bSJed Brown test: 473c4762a1bSJed Brown suffix: gmsh_15_hyb3d 47430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_tetwedge.msh -dm_view -dm_plex_check_all 475c4762a1bSJed Brown test: 476c4762a1bSJed Brown suffix: gmsh_15_hyb3d_vtk 47730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_tetwedge.msh -dm_view vtk: -dm_plex_gmsh_hybrid -dm_plex_check_all 478c4762a1bSJed Brown test: 479c4762a1bSJed Brown suffix: gmsh_15_hyb3d_s2t 480012bc364SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_tetwedge.msh -dm_view -dm_plex_check_all -ref_dm_refine 1 -ref_dm_plex_transform_type refine_tobox 481c4762a1bSJed Brown test: 482c4762a1bSJed Brown suffix: gmsh_16_spheresurface 483c4762a1bSJed Brown nsize : 4 48430602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/surfacesphere_bin.msh -dm_plex_gmsh_spacedim 3 -dm_plex_check_all -dm_view -dist_dm_distribute -petscpartitioner_type simple 485c4762a1bSJed Brown test: 486c4762a1bSJed Brown suffix: gmsh_16_spheresurface_s2t 487c4762a1bSJed Brown nsize : 4 488012bc364SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/surfacesphere_bin.msh -dm_plex_gmsh_spacedim 3 -ref_dm_refine 1 -ref_dm_plex_transform_type refine_tobox -dm_plex_check_all -dm_view -dist_dm_distribute -petscpartitioner_type simple 489c4762a1bSJed Brown test: 490c4762a1bSJed Brown suffix: gmsh_16_spheresurface_extruded 491c4762a1bSJed Brown nsize : 4 492*d410b0cfSMatthew G. Knepley args: -dm_coord_space 0 -dm_extrude 3 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/surfacesphere_bin.msh -dm_plex_gmsh_spacedim 3 -dm_plex_check_all -dm_view -dist_dm_distribute -petscpartitioner_type simple 493c4762a1bSJed Brown test: 494c4762a1bSJed Brown suffix: gmsh_16_spheresurface_extruded_s2t 495c4762a1bSJed Brown nsize : 4 496*d410b0cfSMatthew G. Knepley args: -dm_coord_space 0 -dm_extrude 3 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/surfacesphere_bin.msh -dm_plex_gmsh_spacedim 3 -ref_dm_refine 1 -ref_dm_plex_transform_type refine_tobox -dm_plex_check_all -dm_view -dist_dm_distribute -petscpartitioner_type simple 497c4762a1bSJed Brown test: 498c4762a1bSJed Brown suffix: gmsh_17_hyb3d_interp_ascii 49930602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_hexwedge.msh -dm_view -dm_plex_check_all 500c4762a1bSJed Brown test: 501c4762a1bSJed Brown suffix: exodus_17_hyb3d_interp_ascii 502c4762a1bSJed Brown requires: exodusii 50330602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_hexwedge.exo -dm_view -dm_plex_check_all 504c4762a1bSJed Brown 505c4762a1bSJed Brown # Legacy Gmsh v22/v40 ascii/binary reader tests 506c4762a1bSJed Brown testset: 507c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_legacy.out 50830602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_view ::ascii_info_detail -dm_plex_check_all 509c4762a1bSJed Brown test: 510c4762a1bSJed Brown suffix: gmsh_3d_ascii_v22 51130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii.msh2 512c4762a1bSJed Brown test: 513c4762a1bSJed Brown suffix: gmsh_3d_ascii_v40 51430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii.msh4 515c4762a1bSJed Brown test: 516c4762a1bSJed Brown suffix: gmsh_3d_binary_v22 51730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary.msh2 518c4762a1bSJed Brown test: 519c4762a1bSJed Brown suffix: gmsh_3d_binary_v40 520c4762a1bSJed Brown requires: long64 52130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary.msh4 522c4762a1bSJed Brown 523c4762a1bSJed Brown # Gmsh v41 ascii/binary reader tests 524c4762a1bSJed Brown testset: # 32bit mesh, sequential 52530602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_view ::ascii_info_detail -dm_plex_check_all 526c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_32.out 527c4762a1bSJed Brown test: 528c4762a1bSJed Brown suffix: gmsh_3d_ascii_v41_32 52930602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii-32.msh 530c4762a1bSJed Brown test: 531c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_32 53230602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-32.msh 533c4762a1bSJed Brown test: 534c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_32_mpiio 535dfd57a17SPierre Jolivet requires: defined(PETSC_HAVE_MPIIO) 53630602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-32.msh -viewer_binary_mpiio 537c4762a1bSJed Brown testset: # 32bit mesh, parallel 53830602db0SMatthew G. Knepley args: -dm_coord_space 0 -dist_dm_distribute -petscpartitioner_type simple -dm_view ::ascii_info_detail -dm_plex_check_all 539c4762a1bSJed Brown nsize: 2 540c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_32_np2.out 541c4762a1bSJed Brown test: 542c4762a1bSJed Brown suffix: gmsh_3d_ascii_v41_32_np2 54330602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii-32.msh 544c4762a1bSJed Brown test: 545c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_32_np2 54630602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-32.msh 547c4762a1bSJed Brown test: 548c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_32_np2_mpiio 549dfd57a17SPierre Jolivet requires: defined(PETSC_HAVE_MPIIO) 55030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-32.msh -viewer_binary_mpiio 551c4762a1bSJed Brown testset: # 64bit mesh, sequential 55230602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_view ::ascii_info_detail -dm_plex_check_all 553c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_64.out 554c4762a1bSJed Brown test: 555c4762a1bSJed Brown suffix: gmsh_3d_ascii_v41_64 55630602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii-64.msh 557c4762a1bSJed Brown test: 558c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_64 55930602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-64.msh 560c4762a1bSJed Brown test: 561c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_64_mpiio 562dfd57a17SPierre Jolivet requires: defined(PETSC_HAVE_MPIIO) 56330602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-64.msh -viewer_binary_mpiio 564c4762a1bSJed Brown testset: # 64bit mesh, parallel 56530602db0SMatthew G. Knepley args: -dm_coord_space 0 -dist_dm_distribute -petscpartitioner_type simple -dm_view ::ascii_info_detail -dm_plex_check_all 566c4762a1bSJed Brown nsize: 2 567c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_64_np2.out 568c4762a1bSJed Brown test: 569c4762a1bSJed Brown suffix: gmsh_3d_ascii_v41_64_np2 57030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii-64.msh 571c4762a1bSJed Brown test: 572c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_64_np2 57330602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-64.msh 574c4762a1bSJed Brown test: 575c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_64_np2_mpiio 576dfd57a17SPierre Jolivet requires: defined(PETSC_HAVE_MPIIO) 57730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-64.msh -viewer_binary_mpiio 578c4762a1bSJed Brown 579c4762a1bSJed Brown # Fluent mesh reader tests 580c4762a1bSJed Brown # TODO: Geometry checks fail 581c4762a1bSJed Brown test: 582c4762a1bSJed Brown suffix: fluent_0 583c4762a1bSJed Brown requires: !complex 58430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.cas -dm_view -final_diagnostics 0 585c4762a1bSJed Brown test: 586c4762a1bSJed Brown suffix: fluent_1 587c4762a1bSJed Brown nsize: 3 588c4762a1bSJed Brown requires: !complex 58930602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.cas -dist_dm_distribute -petscpartitioner_type simple -dm_view -final_diagnostics 0 590c4762a1bSJed Brown test: 591c4762a1bSJed Brown suffix: fluent_2 592c4762a1bSJed Brown requires: !complex 59330602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cube_5tets_ascii.cas -dm_view -final_diagnostics 0 594c4762a1bSJed Brown test: 595c4762a1bSJed Brown suffix: fluent_3 596c4762a1bSJed Brown requires: !complex 597c4762a1bSJed Brown TODO: Fails on non-linux: fseek(), fileno() ? https://gitlab.com/petsc/petsc/merge_requests/2206#note_238166382 59830602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cube_5tets.cas -dm_view -final_diagnostics 0 599c4762a1bSJed Brown 600c4762a1bSJed Brown # Med mesh reader tests, including parallel file reads 601c4762a1bSJed Brown test: 602c4762a1bSJed Brown suffix: med_0 603c4762a1bSJed Brown requires: med 60430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.med -dm_view 605c4762a1bSJed Brown test: 606c4762a1bSJed Brown suffix: med_1 607c4762a1bSJed Brown requires: med 608c4762a1bSJed Brown nsize: 3 60930602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.med -dist_dm_distribute -petscpartitioner_type simple -dm_view 610c4762a1bSJed Brown test: 611c4762a1bSJed Brown suffix: med_2 612c4762a1bSJed Brown requires: med 61330602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cylinder.med -dm_view 614c4762a1bSJed Brown test: 615c4762a1bSJed Brown suffix: med_3 616c4762a1bSJed Brown requires: med 617c4762a1bSJed Brown TODO: MED 618c4762a1bSJed Brown nsize: 3 61930602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cylinder.med -dist_dm_distribute -petscpartitioner_type simple -dm_view 620c4762a1bSJed Brown 621c4762a1bSJed Brown # Test shape quality 622c4762a1bSJed Brown test: 623c4762a1bSJed Brown suffix: test_shape 624c4762a1bSJed Brown requires: ctetgen 62530602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dim 3 -dm_refine_hierarchy 3 -dm_plex_check_all -dm_plex_check_cell_shape 626c4762a1bSJed Brown 627c4762a1bSJed Brown # Test simplex to tensor conversion 628c4762a1bSJed Brown test: 629c4762a1bSJed Brown suffix: s2t2 630c4762a1bSJed Brown requires: triangle 631012bc364SMatthew G. Knepley args: -dm_coord_space 0 -ref_dm_refine 1 -ref_dm_plex_transform_type refine_tobox -dm_refine_volume_limit_pre 0.0625 -dm_view ascii::ascii_info_detail 632c4762a1bSJed Brown 633c4762a1bSJed Brown test: 634c4762a1bSJed Brown suffix: s2t3 635c4762a1bSJed Brown requires: ctetgen 636012bc364SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_dim 3 -dim 3 -ref_dm_refine 1 -ref_dm_plex_transform_type refine_tobox -dm_refine_volume_limit_pre 0.0625 -dm_view ascii::ascii_info_detail 637c4762a1bSJed Brown 63830602db0SMatthew G. Knepley # Test cylinder 63930602db0SMatthew G. Knepley testset: 64030602db0SMatthew G. Knepley args: -dm_plex_shape cylinder -dm_plex_check_all -dm_view 641c4762a1bSJed Brown test: 642c4762a1bSJed Brown suffix: cylinder 64330602db0SMatthew G. Knepley args: -ref_dm_refine 1 644c4762a1bSJed Brown test: 645c4762a1bSJed Brown suffix: cylinder_per 64661a622f3SMatthew G. Knepley args: -dm_plex_cylinder_bd periodic -ref_dm_refine 1 -ref_dm_refine_remap 0 647c4762a1bSJed Brown test: 648c4762a1bSJed Brown suffix: cylinder_wedge 64961a622f3SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_interpolate 0 -dm_plex_cell tensor_triangular_prism -dm_view vtk: 650c4762a1bSJed Brown test: 651c4762a1bSJed Brown suffix: cylinder_wedge_int 652c4762a1bSJed Brown output_file: output/ex1_cylinder_wedge.out 65361a622f3SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_cell tensor_triangular_prism -dm_view vtk: 654c4762a1bSJed Brown 655c4762a1bSJed Brown test: 656c4762a1bSJed Brown suffix: box_2d 65730602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 2 -dm_plex_check_all -dm_view 658c4762a1bSJed Brown 659c4762a1bSJed Brown test: 660c4762a1bSJed Brown suffix: box_2d_per 66130602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 2 -dm_plex_check_all -dm_view 662c4762a1bSJed Brown 663c4762a1bSJed Brown test: 664c4762a1bSJed Brown suffix: box_2d_per_unint 66530602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_simplex 0 -dm_plex_interpolate 0 -dm_plex_box_faces 3,3 -dm_plex_box_faces 3,3 -dm_plex_check_all -dm_view ::ascii_info_detail 666c4762a1bSJed Brown 667c4762a1bSJed Brown test: 668c4762a1bSJed Brown suffix: box_3d 66930602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dim 3 -dm_plex_simplex 0 -ref_dm_refine 3 -dm_plex_check_all -dm_view 670c4762a1bSJed Brown 671c4762a1bSJed Brown test: 672c4762a1bSJed Brown requires: triangle 673c4762a1bSJed Brown suffix: box_wedge 67461a622f3SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_dim 3 -dim 3 -dm_plex_simplex 0 -dm_plex_cell tensor_triangular_prism -dm_view vtk: -dm_plex_check_all 675c4762a1bSJed Brown 676c4762a1bSJed Brown testset: 677c4762a1bSJed Brown requires: triangle 678012bc364SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_dim 3 -dm_plex_simplex 0 -dm_plex_cell tensor_triangular_prism -dm_plex_box_faces 2,3,1 -dm_view -dm_plex_check_all -ref_dm_refine 1 -ref_dm_plex_transform_type refine_tobox 679c4762a1bSJed Brown test: 680c4762a1bSJed Brown suffix: box_wedge_s2t 681c4762a1bSJed Brown test: 682c4762a1bSJed Brown nsize: 3 68330602db0SMatthew G. Knepley args: -dist_dm_distribute -petscpartitioner_type simple 684c4762a1bSJed Brown suffix: box_wedge_s2t_parallel 685c4762a1bSJed Brown 686c4762a1bSJed Brown # Test GLVis output 68730602db0SMatthew G. Knepley testset: 68830602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_interpolate 0 689c4762a1bSJed Brown test: 690c4762a1bSJed Brown suffix: glvis_2d_tet 69130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_periodic.msh -dm_plex_gmsh_periodic 0 -dm_view glvis: 692c4762a1bSJed Brown test: 693c4762a1bSJed Brown suffix: glvis_2d_tet_per 69430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_periodic.msh -dm_view glvis: -viewer_glvis_dm_plex_enable_boundary 0 695c4762a1bSJed Brown test: 696c4762a1bSJed Brown suffix: glvis_3d_tet 69730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/mesh-3d-box-innersphere_bin.msh -dm_plex_gmsh_periodic 0 -dm_view glvis: 69830602db0SMatthew G. Knepley testset: 69930602db0SMatthew G. Knepley args: -dm_coord_space 0 70030602db0SMatthew G. Knepley test: 70130602db0SMatthew G. Knepley suffix: glvis_2d_tet_per_mfem 70230602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_periodic.msh -viewer_glvis_dm_plex_enable_boundary -viewer_glvis_dm_plex_enable_mfem -dm_view glvis: 70330602db0SMatthew G. Knepley test: 70430602db0SMatthew G. Knepley suffix: glvis_2d_quad 70530602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -dm_plex_box_faces 3,3 -dm_view glvis: 70630602db0SMatthew G. Knepley test: 70730602db0SMatthew G. Knepley suffix: glvis_2d_quad_per 70830602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -dm_plex_box_faces 3,3 -dm_plex_box_bd periodic,periodic -dm_view glvis: -viewer_glvis_dm_plex_enable_boundary 70930602db0SMatthew G. Knepley test: 71030602db0SMatthew G. Knepley suffix: glvis_2d_quad_per_mfem 71130602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -dm_plex_box_faces 3,3 -dm_plex_box_bd periodic,periodic -dm_view glvis: -viewer_glvis_dm_plex_enable_boundary -viewer_glvis_dm_plex_enable_mfem 712c4762a1bSJed Brown test: 713c4762a1bSJed Brown suffix: glvis_3d_tet_per 71430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/mesh-3d-box-innersphere_bin.msh -dm_view glvis: -viewer_glvis_dm_plex_enable_boundary 715c4762a1bSJed Brown test: 716c4762a1bSJed Brown suffix: glvis_3d_tet_per_mfem 717c4762a1bSJed Brown TODO: broken 71830602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/mesh-3d-box-innersphere_bin.msh -viewer_glvis_dm_plex_enable_mfem -dm_view glvis: 719c4762a1bSJed Brown test: 720c4762a1bSJed Brown suffix: glvis_3d_hex 72130602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_simplex 0 -dm_plex_box_faces 3,3,3 -dm_view glvis: 722c4762a1bSJed Brown test: 723c4762a1bSJed Brown suffix: glvis_3d_hex_per 72430602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_simplex 0 -dm_plex_box_faces 3,3,3 -dm_plex_box_bd periodic,periodic,periodic -dm_view glvis: -viewer_glvis_dm_plex_enable_boundary 0 725c4762a1bSJed Brown test: 726c4762a1bSJed Brown suffix: glvis_3d_hex_per_mfem 72730602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_simplex 0 -dm_plex_box_faces 3,3,3 -dm_plex_box_bd periodic,periodic,periodic -dm_view glvis: -viewer_glvis_dm_plex_enable_boundary -viewer_glvis_dm_plex_enable_mfem 72830602db0SMatthew G. Knepley test: 72930602db0SMatthew G. Knepley suffix: glvis_2d_hyb 73030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_triquad.msh -dm_view glvis: -viewer_glvis_dm_plex_enable_boundary 73130602db0SMatthew G. Knepley test: 73230602db0SMatthew G. Knepley suffix: glvis_3d_hyb 73330602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_tetwedge.msh -dm_view glvis: -viewer_glvis_dm_plex_enable_boundary 73430602db0SMatthew G. Knepley test: 73530602db0SMatthew G. Knepley suffix: glvis_3d_hyb_s2t 736012bc364SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_3d_cube.msh -dm_view glvis: -viewer_glvis_dm_plex_enable_boundary -ref_dm_refine 1 -ref_dm_plex_transform_type refine_tobox -dm_plex_check_all 737c4762a1bSJed Brown 738c4762a1bSJed Brown # Test P4EST 739c4762a1bSJed Brown testset: 740c4762a1bSJed Brown requires: p4est 74130602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_view -test_p4est_seq -conv_seq_2_dm_plex_check_all -conv_seq_1_dm_forest_minimum_refinement 1 742c4762a1bSJed Brown test: 743c4762a1bSJed Brown suffix: p4est_periodic 74430602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -dm_plex_box_bd periodic,periodic -dm_plex_box_faces 3,5 -conv_seq_1_dm_forest_initial_refinement 0 -conv_seq_1_dm_forest_maximum_refinement 2 -conv_seq_1_dm_p4est_refine_pattern hash 745c4762a1bSJed Brown test: 746c4762a1bSJed Brown suffix: p4est_periodic_3d 74730602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_simplex 0 -dm_plex_box_bd periodic,periodic,none -dm_plex_box_faces 3,5,4 -conv_seq_1_dm_forest_initial_refinement 0 -conv_seq_1_dm_forest_maximum_refinement 2 -conv_seq_1_dm_p4est_refine_pattern hash 748c4762a1bSJed Brown test: 749c4762a1bSJed Brown suffix: p4est_gmsh_periodic 75030602db0SMatthew G. Knepley args: -dm_coord_space 0 -conv_seq_1_dm_forest_initial_refinement 0 -conv_seq_1_dm_forest_maximum_refinement 1 -conv_seq_1_dm_p4est_refine_pattern hash -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_periodic.msh 751c4762a1bSJed Brown test: 752c4762a1bSJed Brown suffix: p4est_gmsh_surface 75330602db0SMatthew G. Knepley args: -conv_seq_1_dm_forest_initial_refinement 0 -conv_seq_1_dm_forest_maximum_refinement 1 -conv_seq_1_dm_p4est_refine_pattern hash -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/surfacesphere_bin.msh -dm_plex_gmsh_spacedim 3 754c4762a1bSJed Brown test: 755c4762a1bSJed Brown suffix: p4est_gmsh_surface_parallel 756c4762a1bSJed Brown nsize: 2 75730602db0SMatthew G. Knepley args: -conv_seq_1_dm_forest_initial_refinement 0 -conv_seq_1_dm_forest_maximum_refinement 1 -conv_seq_1_dm_p4est_refine_pattern hash -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/surfacesphere_bin.msh -dm_plex_gmsh_spacedim 3 -petscpartitioner_type simple -dm_view ::load_balance 758c4762a1bSJed Brown test: 759c4762a1bSJed Brown suffix: p4est_hyb_2d 76030602db0SMatthew G. Knepley args: -conv_seq_1_dm_forest_initial_refinement 0 -conv_seq_1_dm_forest_maximum_refinement 1 -conv_seq_1_dm_p4est_refine_pattern hash -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_triquad.msh 761c4762a1bSJed Brown test: 762c4762a1bSJed Brown suffix: p4est_hyb_3d 76330602db0SMatthew G. Knepley args: -conv_seq_1_dm_forest_initial_refinement 0 -conv_seq_1_dm_forest_maximum_refinement 1 -conv_seq_1_dm_p4est_refine_pattern hash -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_tetwedge.msh 764c4762a1bSJed Brown test: 765c4762a1bSJed Brown requires: ctetgen 766c4762a1bSJed Brown suffix: p4est_s2t_bugfaces_3d 76730602db0SMatthew G. Knepley args: -conv_seq_1_dm_forest_initial_refinement 0 -conv_seq_1_dm_forest_maximum_refinement 0 -dm_plex_dim 3 -dm_plex_box_faces 1,1 768c4762a1bSJed Brown test: 769c4762a1bSJed Brown suffix: p4est_bug_overlapsf 770c4762a1bSJed Brown nsize: 3 77130602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_simplex 0 -dm_plex_box_faces 2,2,1 -conv_seq_1_dm_forest_initial_refinement 0 -conv_seq_1_dm_forest_maximum_refinement 1 -conv_seq_1_dm_p4est_refine_pattern hash -petscpartitioner_type simple 772c4762a1bSJed Brown test: 773c4762a1bSJed Brown suffix: p4est_redistribute 774c4762a1bSJed Brown nsize: 3 77530602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_simplex 0 -dm_plex_box_faces 2,2,1 -conv_seq_1_dm_forest_initial_refinement 0 -conv_seq_1_dm_forest_maximum_refinement 1 -conv_seq_1_dm_p4est_refine_pattern hash -petscpartitioner_type simple -test_redistribute -dm_plex_csr_via_mat {{0 1}} -dm_view ::load_balance 776c4762a1bSJed Brown test: 777c4762a1bSJed Brown suffix: p4est_gmsh_s2t_3d 77830602db0SMatthew G. Knepley args: -conv_seq_1_dm_forest_initial_refinement 1 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 779c4762a1bSJed Brown test: 780c4762a1bSJed Brown suffix: p4est_gmsh_s2t_3d_hash 78130602db0SMatthew G. Knepley args: -conv_seq_1_dm_forest_initial_refinement 1 -conv_seq_1_dm_forest_maximum_refinement 2 -conv_seq_1_dm_p4est_refine_pattern hash -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 782c4762a1bSJed Brown test: 783c4762a1bSJed Brown requires: long_runtime 784c4762a1bSJed Brown suffix: p4est_gmsh_periodic_3d 78530602db0SMatthew G. Knepley args: -dm_coord_space 0 -conv_seq_1_dm_forest_initial_refinement 0 -conv_seq_1_dm_forest_maximum_refinement 1 -conv_seq_1_dm_p4est_refine_pattern hash -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/mesh-3d-box-innersphere.msh 786c4762a1bSJed Brown 787c4762a1bSJed Brown testset: 788c4762a1bSJed Brown requires: p4est 789c4762a1bSJed Brown nsize: 6 79030602db0SMatthew G. Knepley args: -dm_coord_space 0 -test_p4est_par -conv_par_2_dm_plex_check_all -conv_par_1_dm_forest_minimum_refinement 1 -conv_par_1_dm_forest_partition_overlap 0 -dist_dm_distribute 791c4762a1bSJed Brown test: 79254fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 793c4762a1bSJed Brown suffix: p4est_par_periodic 79430602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -dm_plex_box_bd periodic,periodic -dm_plex_box_faces 3,5 -conv_par_1_dm_forest_initial_refinement 0 -conv_par_1_dm_forest_maximum_refinement 2 -conv_par_1_dm_p4est_refine_pattern hash 795c4762a1bSJed Brown test: 79654fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 797c4762a1bSJed Brown suffix: p4est_par_periodic_3d 79830602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_simplex 0 -dm_plex_box_bd periodic,periodic,periodic -dm_plex_box_faces 3,5,4 -conv_par_1_dm_forest_initial_refinement 0 -conv_par_1_dm_forest_maximum_refinement 2 -conv_par_1_dm_p4est_refine_pattern hash 799c4762a1bSJed Brown test: 80054fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 801c4762a1bSJed Brown suffix: p4est_par_gmsh_periodic 80230602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 0 -conv_par_1_dm_forest_maximum_refinement 1 -conv_par_1_dm_p4est_refine_pattern hash -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_periodic.msh 803c4762a1bSJed Brown test: 804c4762a1bSJed Brown suffix: p4est_par_gmsh_surface 80530602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 0 -conv_par_1_dm_forest_maximum_refinement 1 -conv_par_1_dm_p4est_refine_pattern hash -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/surfacesphere_bin.msh -dm_plex_gmsh_spacedim 3 806c4762a1bSJed Brown test: 807c4762a1bSJed Brown suffix: p4est_par_gmsh_s2t_3d 80830602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 1 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 809c4762a1bSJed Brown test: 81054fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 811c4762a1bSJed Brown suffix: p4est_par_gmsh_s2t_3d_hash 81230602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 1 -conv_par_1_dm_forest_maximum_refinement 2 -conv_par_1_dm_p4est_refine_pattern hash -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 813c4762a1bSJed Brown test: 814c4762a1bSJed Brown requires: long_runtime 815c4762a1bSJed Brown suffix: p4est_par_gmsh_periodic_3d 81630602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 0 -conv_par_1_dm_forest_maximum_refinement 1 -conv_par_1_dm_p4est_refine_pattern hash -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/mesh-3d-box-innersphere.msh 817c4762a1bSJed Brown 818c4762a1bSJed Brown testset: 819c4762a1bSJed Brown requires: p4est 820c4762a1bSJed Brown nsize: 6 82130602db0SMatthew G. Knepley args: -dm_coord_space 0 -test_p4est_par -conv_par_2_dm_plex_check_all -conv_par_1_dm_forest_minimum_refinement 1 -conv_par_1_dm_forest_partition_overlap 1 -dist_dm_distribute -petscpartitioner_type simple 822c4762a1bSJed Brown test: 823c4762a1bSJed Brown suffix: p4est_par_ovl_periodic 82430602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -dm_plex_box_bd periodic,periodic -dm_plex_box_faces 3,5 -conv_par_1_dm_forest_initial_refinement 0 -conv_par_1_dm_forest_maximum_refinement 2 -conv_par_1_dm_p4est_refine_pattern hash 825c4762a1bSJed Brown #TODO Mesh cell 201 is inverted, vol = 0. (FVM Volume. Is it correct? -> Diagnostics disabled) 826c4762a1bSJed Brown test: 827c4762a1bSJed Brown suffix: p4est_par_ovl_periodic_3d 82830602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_simplex 0 -dm_plex_box_bd periodic,periodic,none -dm_plex_box_faces 3,5,4 -conv_par_1_dm_forest_initial_refinement 0 -conv_par_1_dm_forest_maximum_refinement 2 -conv_par_1_dm_p4est_refine_pattern hash -final_diagnostics 0 829c4762a1bSJed Brown test: 830c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_periodic 83130602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 0 -conv_par_1_dm_forest_maximum_refinement 1 -conv_par_1_dm_p4est_refine_pattern hash -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_periodic.msh 832c4762a1bSJed Brown test: 833c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_surface 83430602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 0 -conv_par_1_dm_forest_maximum_refinement 1 -conv_par_1_dm_p4est_refine_pattern hash -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/surfacesphere_bin.msh -dm_plex_gmsh_spacedim 3 835c4762a1bSJed Brown test: 836c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_s2t_3d 83730602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 1 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 838c4762a1bSJed Brown test: 839c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_s2t_3d_hash 84030602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 1 -conv_par_1_dm_forest_maximum_refinement 2 -conv_par_1_dm_p4est_refine_pattern hash -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 841c4762a1bSJed Brown test: 842c4762a1bSJed Brown requires: long_runtime 843c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_periodic_3d 84430602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 0 -conv_par_1_dm_forest_maximum_refinement 1 -conv_par_1_dm_p4est_refine_pattern hash -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/mesh-3d-box-innersphere.msh 845c4762a1bSJed Brown test: 846c4762a1bSJed Brown suffix: p4est_par_ovl_hyb_2d 84730602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 0 -conv_par_1_dm_forest_maximum_refinement 1 -conv_par_1_dm_p4est_refine_pattern hash -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_triquad.msh 848c4762a1bSJed Brown test: 849c4762a1bSJed Brown suffix: p4est_par_ovl_hyb_3d 85030602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 0 -conv_par_1_dm_forest_maximum_refinement 1 -conv_par_1_dm_p4est_refine_pattern hash -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_tetwedge.msh 851c4762a1bSJed Brown 852c4762a1bSJed Brown test: 853c4762a1bSJed Brown TODO: broken 854c4762a1bSJed Brown requires: p4est 855c4762a1bSJed Brown nsize: 2 856c4762a1bSJed Brown suffix: p4est_bug_labels_noovl 85730602db0SMatthew G. Knepley args: -test_p4est_seq -dm_plex_check_all -dm_forest_minimum_refinement 0 -dm_forest_partition_overlap 1 -dm_plex_simplex 0 -dm_plex_box_faces 3,3 -dm_forest_initial_refinement 0 -dm_forest_maximum_refinement 2 -dm_p4est_refine_pattern hash -dist_dm_distribute -petscpartitioner_type simple -dm_forest_print_label_error 858c4762a1bSJed Brown 859c4762a1bSJed Brown test: 860c4762a1bSJed Brown requires: p4est 861c4762a1bSJed Brown nsize: 2 862c4762a1bSJed Brown suffix: p4est_bug_distribute_overlap 86330602db0SMatthew G. Knepley args: -dm_coord_space 0 -test_p4est_seq -conv_seq_2_dm_plex_check_all -conv_seq_1_dm_forest_minimum_refinement 0 -conv_seq_1_dm_forest_partition_overlap 0 -dm_plex_simplex 0 -dm_plex_box_faces 3,3 -conv_seq_1_dm_forest_initial_refinement 0 -conv_seq_1_dm_forest_maximum_refinement 2 -conv_seq_1_dm_p4est_refine_pattern hash -petscpartitioner_type simple -overlap 1 -dm_view ::load_balance 864c4762a1bSJed Brown args: -dm_post_overlap_view 865c4762a1bSJed Brown 866c4762a1bSJed Brown test: 867595782ffSMatthew G. Knepley suffix: ref_alfeld2d_0 868595782ffSMatthew G. Knepley requires: triangle 869012bc364SMatthew G. Knepley args: -dm_plex_box_faces 5,3 -dm_view -dm_plex_check_all -ref_dm_refine 1 -ref_dm_plex_transform_type refine_alfeld -final_diagnostics 870595782ffSMatthew G. Knepley test: 871595782ffSMatthew G. Knepley suffix: ref_alfeld3d_0 872595782ffSMatthew G. Knepley requires: ctetgen 873012bc364SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_box_faces 5,1,1 -dm_view -dm_plex_check_all -ref_dm_refine 1 -ref_dm_plex_transform_type refine_alfeld -final_diagnostics 874595782ffSMatthew G. Knepley 87509c713e7SStefano Zampini # Boundary layer refiners 87609c713e7SStefano Zampini test: 87709c713e7SStefano Zampini suffix: ref_bl_1 878*d410b0cfSMatthew G. Knepley args: -dm_plex_dim 1 -dm_plex_simplex 0 -dm_plex_box_faces 5,1 -dm_view -dm_plex_check_all 0 -ref_dm_refine 1 -ref_dm_plex_transform_type refine_boundary_layer -dm_extrude 2 -final_diagnostics -ref_dm_plex_transform_bl_splits 3 87909c713e7SStefano Zampini test: 88009c713e7SStefano Zampini suffix: ref_bl_2_tri 88109c713e7SStefano Zampini requires: triangle 882*d410b0cfSMatthew G. Knepley args: -dm_plex_box_faces 5,3 -dm_view -dm_plex_check_all 0 -ref_dm_refine 1 -ref_dm_plex_transform_type refine_boundary_layer -dm_extrude 3 -final_diagnostics -ref_dm_plex_transform_bl_splits 4 88309c713e7SStefano Zampini test: 88409c713e7SStefano Zampini suffix: ref_bl_3_quad 885*d410b0cfSMatthew G. Knepley args: -dm_plex_simplex 0 -dm_plex_box_faces 5,1 -dm_view -dm_plex_check_all 0 -ref_dm_refine 1 -ref_dm_plex_transform_type refine_boundary_layer -dm_extrude 3 -final_diagnostics -ref_dm_plex_transform_bl_splits 4 88609c713e7SStefano Zampini test: 88709c713e7SStefano Zampini suffix: ref_bl_spheresurface_extruded 88809c713e7SStefano Zampini nsize : 4 889*d410b0cfSMatthew G. Knepley args: -dm_extrude 3 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/surfacesphere_bin.msh -dm_plex_gmsh_spacedim 3 -dm_plex_check_all -dm_view -dist_dm_distribute -petscpartitioner_type simple -final_diagnostics -ref_dm_refine 1 -ref_dm_plex_transform_type refine_boundary_layer -ref_dm_plex_transform_bl_splits 2 89009c713e7SStefano Zampini test: 89109c713e7SStefano Zampini suffix: ref_bl_3d_hyb 89209c713e7SStefano Zampini nsize : 4 893012bc364SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_3d_cube.msh -dm_plex_check_all -dm_view -dist_dm_distribute -petscpartitioner_type simple -final_diagnostics -ref_dm_refine 1 -ref_dm_plex_transform_type refine_boundary_layer -ref_dm_plex_transform_bl_splits 4 -ref_dm_plex_transform_bl_height_factor 3.1 8940e278f6aSMatthew G. Knepley 89530602db0SMatthew G. Knepley testset: 89630602db0SMatthew G. Knepley args: -dm_plex_shape sphere -dm_plex_check_all -dm_view 8970e278f6aSMatthew G. Knepley test: 8980e278f6aSMatthew G. Knepley suffix: sphere_0 89930602db0SMatthew G. Knepley args: 9000e278f6aSMatthew G. Knepley test: 9010e278f6aSMatthew G. Knepley suffix: sphere_1 90230602db0SMatthew G. Knepley args: -ref_dm_refine 2 9030e278f6aSMatthew G. Knepley test: 90468317524SMatthew G. Knepley suffix: sphere_2 90530602db0SMatthew G. Knepley args: -dm_plex_simplex 0 90668317524SMatthew G. Knepley test: 90768317524SMatthew G. Knepley suffix: sphere_3 90830602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 2 90968317524SMatthew G. Knepley 91068317524SMatthew G. Knepley test: 9110e278f6aSMatthew G. Knepley suffix: ball_0 9120e278f6aSMatthew G. Knepley requires: ctetgen 91330602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_shape ball -dm_plex_check_all -dm_view 9140e278f6aSMatthew G. Knepley 9150e278f6aSMatthew G. Knepley test: 9160e278f6aSMatthew G. Knepley suffix: ball_1 9170e278f6aSMatthew G. Knepley requires: ctetgen 91830602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_shape ball -bd_dm_refine 2 -dm_plex_check_all -dm_view 9190e278f6aSMatthew G. Knepley 920c4762a1bSJed Brown TEST*/ 921