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 344d410b0cfSMatthew G. Knepley # Parallel extrusion tests 345d410b0cfSMatthew G. Knepley test: 346d410b0cfSMatthew G. Knepley suffix: spheresurface_extruded 347d410b0cfSMatthew G. Knepley nsize : 4 348d410b0cfSMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_shape sphere -dm_extrude 3 -dist_dm_distribute -petscpartitioner_type simple \ 349d410b0cfSMatthew G. Knepley -dm_plex_check_all -dm_view ::ascii_info_detail -dm_plex_view_coord_system spherical 350d410b0cfSMatthew G. Knepley 351d410b0cfSMatthew G. Knepley test: 352d410b0cfSMatthew G. Knepley suffix: spheresurface_extruded_symmetric 353d410b0cfSMatthew G. Knepley nsize : 4 354d410b0cfSMatthew 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 \ 355d410b0cfSMatthew G. Knepley -dm_plex_check_all -dm_view ::ascii_info_detail -dm_plex_view_coord_system spherical 356d410b0cfSMatthew 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 3745a107427SMatthew 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_alg {{mat graph overlap}} -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 3795a107427SMatthew G. Knepley args: -dm_plex_simplex 0 -dist_dm_distribute -petscpartitioner_type ptscotch -petscpartitioner_view -petscpartitioner_ptscotch_strategy quality -test_redistribute -dm_plex_csr_alg {{mat graph overlap}} -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 467d410b0cfSMatthew 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 471d410b0cfSMatthew 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 492d410b0cfSMatthew 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 496d410b0cfSMatthew 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 537*8cd392daSMatthew G. Knepley test: 538*8cd392daSMatthew G. Knepley suffix: gmsh_quad_8node 539*8cd392daSMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-qua-8node.msh \ 540*8cd392daSMatthew G. Knepley -dm_view -dm_plex_check_all 541*8cd392daSMatthew G. Knepley test: 542*8cd392daSMatthew G. Knepley suffix: gmsh_hex_20node 543*8cd392daSMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-hex-20node.msh \ 544*8cd392daSMatthew G. Knepley -dm_view -dm_plex_check_all 545c4762a1bSJed Brown testset: # 32bit mesh, parallel 54630602db0SMatthew G. Knepley args: -dm_coord_space 0 -dist_dm_distribute -petscpartitioner_type simple -dm_view ::ascii_info_detail -dm_plex_check_all 547c4762a1bSJed Brown nsize: 2 548c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_32_np2.out 549c4762a1bSJed Brown test: 550c4762a1bSJed Brown suffix: gmsh_3d_ascii_v41_32_np2 55130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii-32.msh 552c4762a1bSJed Brown test: 553c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_32_np2 55430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-32.msh 555c4762a1bSJed Brown test: 556c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_32_np2_mpiio 557dfd57a17SPierre Jolivet requires: defined(PETSC_HAVE_MPIIO) 55830602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-32.msh -viewer_binary_mpiio 559c4762a1bSJed Brown testset: # 64bit mesh, sequential 56030602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_view ::ascii_info_detail -dm_plex_check_all 561c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_64.out 562c4762a1bSJed Brown test: 563c4762a1bSJed Brown suffix: gmsh_3d_ascii_v41_64 56430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii-64.msh 565c4762a1bSJed Brown test: 566c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_64 56730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-64.msh 568c4762a1bSJed Brown test: 569c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_64_mpiio 570dfd57a17SPierre Jolivet requires: defined(PETSC_HAVE_MPIIO) 57130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-64.msh -viewer_binary_mpiio 572c4762a1bSJed Brown testset: # 64bit mesh, parallel 57330602db0SMatthew G. Knepley args: -dm_coord_space 0 -dist_dm_distribute -petscpartitioner_type simple -dm_view ::ascii_info_detail -dm_plex_check_all 574c4762a1bSJed Brown nsize: 2 575c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_64_np2.out 576c4762a1bSJed Brown test: 577c4762a1bSJed Brown suffix: gmsh_3d_ascii_v41_64_np2 57830602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii-64.msh 579c4762a1bSJed Brown test: 580c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_64_np2 58130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-64.msh 582c4762a1bSJed Brown test: 583c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_64_np2_mpiio 584dfd57a17SPierre Jolivet requires: defined(PETSC_HAVE_MPIIO) 58530602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-64.msh -viewer_binary_mpiio 586c4762a1bSJed Brown 587c4762a1bSJed Brown # Fluent mesh reader tests 588c4762a1bSJed Brown # TODO: Geometry checks fail 589c4762a1bSJed Brown test: 590c4762a1bSJed Brown suffix: fluent_0 591c4762a1bSJed Brown requires: !complex 59230602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.cas -dm_view -final_diagnostics 0 593c4762a1bSJed Brown test: 594c4762a1bSJed Brown suffix: fluent_1 595c4762a1bSJed Brown nsize: 3 596c4762a1bSJed Brown requires: !complex 59730602db0SMatthew 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 598c4762a1bSJed Brown test: 599c4762a1bSJed Brown suffix: fluent_2 600c4762a1bSJed Brown requires: !complex 60130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cube_5tets_ascii.cas -dm_view -final_diagnostics 0 602c4762a1bSJed Brown test: 603c4762a1bSJed Brown suffix: fluent_3 604c4762a1bSJed Brown requires: !complex 605c4762a1bSJed Brown TODO: Fails on non-linux: fseek(), fileno() ? https://gitlab.com/petsc/petsc/merge_requests/2206#note_238166382 60630602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cube_5tets.cas -dm_view -final_diagnostics 0 607c4762a1bSJed Brown 608c4762a1bSJed Brown # Med mesh reader tests, including parallel file reads 609c4762a1bSJed Brown test: 610c4762a1bSJed Brown suffix: med_0 611c4762a1bSJed Brown requires: med 61230602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.med -dm_view 613c4762a1bSJed Brown test: 614c4762a1bSJed Brown suffix: med_1 615c4762a1bSJed Brown requires: med 616c4762a1bSJed Brown nsize: 3 61730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.med -dist_dm_distribute -petscpartitioner_type simple -dm_view 618c4762a1bSJed Brown test: 619c4762a1bSJed Brown suffix: med_2 620c4762a1bSJed Brown requires: med 62130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cylinder.med -dm_view 622c4762a1bSJed Brown test: 623c4762a1bSJed Brown suffix: med_3 624c4762a1bSJed Brown requires: med 625c4762a1bSJed Brown TODO: MED 626c4762a1bSJed Brown nsize: 3 62730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cylinder.med -dist_dm_distribute -petscpartitioner_type simple -dm_view 628c4762a1bSJed Brown 629c4762a1bSJed Brown # Test shape quality 630c4762a1bSJed Brown test: 631c4762a1bSJed Brown suffix: test_shape 632c4762a1bSJed Brown requires: ctetgen 63330602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dim 3 -dm_refine_hierarchy 3 -dm_plex_check_all -dm_plex_check_cell_shape 634c4762a1bSJed Brown 635c4762a1bSJed Brown # Test simplex to tensor conversion 636c4762a1bSJed Brown test: 637c4762a1bSJed Brown suffix: s2t2 638c4762a1bSJed Brown requires: triangle 639012bc364SMatthew 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 640c4762a1bSJed Brown 641c4762a1bSJed Brown test: 642c4762a1bSJed Brown suffix: s2t3 643c4762a1bSJed Brown requires: ctetgen 644012bc364SMatthew 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 645c4762a1bSJed Brown 64630602db0SMatthew G. Knepley # Test cylinder 64730602db0SMatthew G. Knepley testset: 64830602db0SMatthew G. Knepley args: -dm_plex_shape cylinder -dm_plex_check_all -dm_view 649c4762a1bSJed Brown test: 650c4762a1bSJed Brown suffix: cylinder 65130602db0SMatthew G. Knepley args: -ref_dm_refine 1 652c4762a1bSJed Brown test: 653c4762a1bSJed Brown suffix: cylinder_per 65461a622f3SMatthew G. Knepley args: -dm_plex_cylinder_bd periodic -ref_dm_refine 1 -ref_dm_refine_remap 0 655c4762a1bSJed Brown test: 656c4762a1bSJed Brown suffix: cylinder_wedge 65761a622f3SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_interpolate 0 -dm_plex_cell tensor_triangular_prism -dm_view vtk: 658c4762a1bSJed Brown test: 659c4762a1bSJed Brown suffix: cylinder_wedge_int 660c4762a1bSJed Brown output_file: output/ex1_cylinder_wedge.out 66161a622f3SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_cell tensor_triangular_prism -dm_view vtk: 662c4762a1bSJed Brown 663c4762a1bSJed Brown test: 664c4762a1bSJed Brown suffix: box_2d 66530602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 2 -dm_plex_check_all -dm_view 666c4762a1bSJed Brown 667c4762a1bSJed Brown test: 668c4762a1bSJed Brown suffix: box_2d_per 66930602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 2 -dm_plex_check_all -dm_view 670c4762a1bSJed Brown 671c4762a1bSJed Brown test: 672c4762a1bSJed Brown suffix: box_2d_per_unint 67330602db0SMatthew 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 674c4762a1bSJed Brown 675c4762a1bSJed Brown test: 676c4762a1bSJed Brown suffix: box_3d 67730602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dim 3 -dm_plex_simplex 0 -ref_dm_refine 3 -dm_plex_check_all -dm_view 678c4762a1bSJed Brown 679c4762a1bSJed Brown test: 680c4762a1bSJed Brown requires: triangle 681c4762a1bSJed Brown suffix: box_wedge 68261a622f3SMatthew 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 683c4762a1bSJed Brown 684c4762a1bSJed Brown testset: 685c4762a1bSJed Brown requires: triangle 686012bc364SMatthew 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 687c4762a1bSJed Brown test: 688c4762a1bSJed Brown suffix: box_wedge_s2t 689c4762a1bSJed Brown test: 690c4762a1bSJed Brown nsize: 3 69130602db0SMatthew G. Knepley args: -dist_dm_distribute -petscpartitioner_type simple 692c4762a1bSJed Brown suffix: box_wedge_s2t_parallel 693c4762a1bSJed Brown 694c4762a1bSJed Brown # Test GLVis output 69530602db0SMatthew G. Knepley testset: 69630602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_interpolate 0 697c4762a1bSJed Brown test: 698c4762a1bSJed Brown suffix: glvis_2d_tet 69930602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_periodic.msh -dm_plex_gmsh_periodic 0 -dm_view glvis: 700c4762a1bSJed Brown test: 701c4762a1bSJed Brown suffix: glvis_2d_tet_per 70230602db0SMatthew 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 703c4762a1bSJed Brown test: 704c4762a1bSJed Brown suffix: glvis_3d_tet 70530602db0SMatthew 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: 70630602db0SMatthew G. Knepley testset: 70730602db0SMatthew G. Knepley args: -dm_coord_space 0 70830602db0SMatthew G. Knepley test: 70930602db0SMatthew G. Knepley suffix: glvis_2d_tet_per_mfem 71030602db0SMatthew 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: 71130602db0SMatthew G. Knepley test: 71230602db0SMatthew G. Knepley suffix: glvis_2d_quad 71330602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -dm_plex_box_faces 3,3 -dm_view glvis: 71430602db0SMatthew G. Knepley test: 71530602db0SMatthew G. Knepley suffix: glvis_2d_quad_per 71630602db0SMatthew 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 71730602db0SMatthew G. Knepley test: 71830602db0SMatthew G. Knepley suffix: glvis_2d_quad_per_mfem 71930602db0SMatthew 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 720c4762a1bSJed Brown test: 721c4762a1bSJed Brown suffix: glvis_3d_tet_per 72230602db0SMatthew 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 723c4762a1bSJed Brown test: 724c4762a1bSJed Brown suffix: glvis_3d_tet_per_mfem 725c4762a1bSJed Brown TODO: broken 72630602db0SMatthew 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: 727c4762a1bSJed Brown test: 728c4762a1bSJed Brown suffix: glvis_3d_hex 72930602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_simplex 0 -dm_plex_box_faces 3,3,3 -dm_view glvis: 730c4762a1bSJed Brown test: 731c4762a1bSJed Brown suffix: glvis_3d_hex_per 73230602db0SMatthew 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 733c4762a1bSJed Brown test: 734c4762a1bSJed Brown suffix: glvis_3d_hex_per_mfem 73530602db0SMatthew 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 73630602db0SMatthew G. Knepley test: 73730602db0SMatthew G. Knepley suffix: glvis_2d_hyb 73830602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_triquad.msh -dm_view glvis: -viewer_glvis_dm_plex_enable_boundary 73930602db0SMatthew G. Knepley test: 74030602db0SMatthew G. Knepley suffix: glvis_3d_hyb 74130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_tetwedge.msh -dm_view glvis: -viewer_glvis_dm_plex_enable_boundary 74230602db0SMatthew G. Knepley test: 74330602db0SMatthew G. Knepley suffix: glvis_3d_hyb_s2t 744012bc364SMatthew 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 745c4762a1bSJed Brown 746c4762a1bSJed Brown # Test P4EST 747c4762a1bSJed Brown testset: 748c4762a1bSJed Brown requires: p4est 74930602db0SMatthew 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 750c4762a1bSJed Brown test: 751c4762a1bSJed Brown suffix: p4est_periodic 75230602db0SMatthew 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 753c4762a1bSJed Brown test: 754c4762a1bSJed Brown suffix: p4est_periodic_3d 75530602db0SMatthew 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 756c4762a1bSJed Brown test: 757c4762a1bSJed Brown suffix: p4est_gmsh_periodic 75830602db0SMatthew 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 759c4762a1bSJed Brown test: 760c4762a1bSJed Brown suffix: p4est_gmsh_surface 76130602db0SMatthew 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 762c4762a1bSJed Brown test: 763c4762a1bSJed Brown suffix: p4est_gmsh_surface_parallel 764c4762a1bSJed Brown nsize: 2 76530602db0SMatthew 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 766c4762a1bSJed Brown test: 767c4762a1bSJed Brown suffix: p4est_hyb_2d 76830602db0SMatthew 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 769c4762a1bSJed Brown test: 770c4762a1bSJed Brown suffix: p4est_hyb_3d 77130602db0SMatthew 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 772c4762a1bSJed Brown test: 773c4762a1bSJed Brown requires: ctetgen 774c4762a1bSJed Brown suffix: p4est_s2t_bugfaces_3d 77530602db0SMatthew 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 776c4762a1bSJed Brown test: 777c4762a1bSJed Brown suffix: p4est_bug_overlapsf 778c4762a1bSJed Brown nsize: 3 77930602db0SMatthew 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 780c4762a1bSJed Brown test: 781c4762a1bSJed Brown suffix: p4est_redistribute 782c4762a1bSJed Brown nsize: 3 7835a107427SMatthew 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_alg {{mat graph overlap}} -dm_view ::load_balance 784c4762a1bSJed Brown test: 785c4762a1bSJed Brown suffix: p4est_gmsh_s2t_3d 78630602db0SMatthew G. Knepley args: -conv_seq_1_dm_forest_initial_refinement 1 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 787c4762a1bSJed Brown test: 788c4762a1bSJed Brown suffix: p4est_gmsh_s2t_3d_hash 78930602db0SMatthew 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 790c4762a1bSJed Brown test: 791c4762a1bSJed Brown requires: long_runtime 792c4762a1bSJed Brown suffix: p4est_gmsh_periodic_3d 79330602db0SMatthew 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 794c4762a1bSJed Brown 795c4762a1bSJed Brown testset: 796c4762a1bSJed Brown requires: p4est 797c4762a1bSJed Brown nsize: 6 79830602db0SMatthew 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 799c4762a1bSJed Brown test: 80054fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 801c4762a1bSJed Brown suffix: p4est_par_periodic 80230602db0SMatthew 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 803c4762a1bSJed Brown test: 80454fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 805c4762a1bSJed Brown suffix: p4est_par_periodic_3d 80630602db0SMatthew 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 807c4762a1bSJed Brown test: 80854fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 809c4762a1bSJed Brown suffix: p4est_par_gmsh_periodic 81030602db0SMatthew 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 811c4762a1bSJed Brown test: 812c4762a1bSJed Brown suffix: p4est_par_gmsh_surface 81330602db0SMatthew 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 814c4762a1bSJed Brown test: 815c4762a1bSJed Brown suffix: p4est_par_gmsh_s2t_3d 81630602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 1 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 817c4762a1bSJed Brown test: 81854fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 819c4762a1bSJed Brown suffix: p4est_par_gmsh_s2t_3d_hash 82030602db0SMatthew 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 821c4762a1bSJed Brown test: 822c4762a1bSJed Brown requires: long_runtime 823c4762a1bSJed Brown suffix: p4est_par_gmsh_periodic_3d 82430602db0SMatthew 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 825c4762a1bSJed Brown 826c4762a1bSJed Brown testset: 827c4762a1bSJed Brown requires: p4est 828c4762a1bSJed Brown nsize: 6 82930602db0SMatthew 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 830c4762a1bSJed Brown test: 831c4762a1bSJed Brown suffix: p4est_par_ovl_periodic 83230602db0SMatthew 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 833c4762a1bSJed Brown #TODO Mesh cell 201 is inverted, vol = 0. (FVM Volume. Is it correct? -> Diagnostics disabled) 834c4762a1bSJed Brown test: 835c4762a1bSJed Brown suffix: p4est_par_ovl_periodic_3d 83630602db0SMatthew 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 837c4762a1bSJed Brown test: 838c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_periodic 83930602db0SMatthew 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 840c4762a1bSJed Brown test: 841c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_surface 84230602db0SMatthew 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 843c4762a1bSJed Brown test: 844c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_s2t_3d 84530602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 1 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 846c4762a1bSJed Brown test: 847c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_s2t_3d_hash 84830602db0SMatthew 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 849c4762a1bSJed Brown test: 850c4762a1bSJed Brown requires: long_runtime 851c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_periodic_3d 85230602db0SMatthew 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 853c4762a1bSJed Brown test: 854c4762a1bSJed Brown suffix: p4est_par_ovl_hyb_2d 85530602db0SMatthew 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 856c4762a1bSJed Brown test: 857c4762a1bSJed Brown suffix: p4est_par_ovl_hyb_3d 85830602db0SMatthew 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 859c4762a1bSJed Brown 860c4762a1bSJed Brown test: 861c4762a1bSJed Brown TODO: broken 862c4762a1bSJed Brown requires: p4est 863c4762a1bSJed Brown nsize: 2 864c4762a1bSJed Brown suffix: p4est_bug_labels_noovl 86530602db0SMatthew 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 866c4762a1bSJed Brown 867c4762a1bSJed Brown test: 868c4762a1bSJed Brown requires: p4est 869c4762a1bSJed Brown nsize: 2 870c4762a1bSJed Brown suffix: p4est_bug_distribute_overlap 87130602db0SMatthew 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 872c4762a1bSJed Brown args: -dm_post_overlap_view 873c4762a1bSJed Brown 874c4762a1bSJed Brown test: 875595782ffSMatthew G. Knepley suffix: ref_alfeld2d_0 876595782ffSMatthew G. Knepley requires: triangle 877012bc364SMatthew 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 878595782ffSMatthew G. Knepley test: 879595782ffSMatthew G. Knepley suffix: ref_alfeld3d_0 880595782ffSMatthew G. Knepley requires: ctetgen 881012bc364SMatthew 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 882595782ffSMatthew G. Knepley 88309c713e7SStefano Zampini # Boundary layer refiners 88409c713e7SStefano Zampini test: 88509c713e7SStefano Zampini suffix: ref_bl_1 886d410b0cfSMatthew 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 88709c713e7SStefano Zampini test: 88809c713e7SStefano Zampini suffix: ref_bl_2_tri 88909c713e7SStefano Zampini requires: triangle 890d410b0cfSMatthew 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 89109c713e7SStefano Zampini test: 89209c713e7SStefano Zampini suffix: ref_bl_3_quad 893d410b0cfSMatthew 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 89409c713e7SStefano Zampini test: 89509c713e7SStefano Zampini suffix: ref_bl_spheresurface_extruded 89609c713e7SStefano Zampini nsize : 4 897d410b0cfSMatthew 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 89809c713e7SStefano Zampini test: 89909c713e7SStefano Zampini suffix: ref_bl_3d_hyb 90009c713e7SStefano Zampini nsize : 4 901012bc364SMatthew 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 9020e278f6aSMatthew G. Knepley 90330602db0SMatthew G. Knepley testset: 90430602db0SMatthew G. Knepley args: -dm_plex_shape sphere -dm_plex_check_all -dm_view 9050e278f6aSMatthew G. Knepley test: 9060e278f6aSMatthew G. Knepley suffix: sphere_0 90730602db0SMatthew G. Knepley args: 9080e278f6aSMatthew G. Knepley test: 9090e278f6aSMatthew G. Knepley suffix: sphere_1 91030602db0SMatthew G. Knepley args: -ref_dm_refine 2 9110e278f6aSMatthew G. Knepley test: 91268317524SMatthew G. Knepley suffix: sphere_2 91330602db0SMatthew G. Knepley args: -dm_plex_simplex 0 91468317524SMatthew G. Knepley test: 91568317524SMatthew G. Knepley suffix: sphere_3 91630602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 2 91768317524SMatthew G. Knepley 91868317524SMatthew G. Knepley test: 9190e278f6aSMatthew G. Knepley suffix: ball_0 9200e278f6aSMatthew G. Knepley requires: ctetgen 92130602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_shape ball -dm_plex_check_all -dm_view 9220e278f6aSMatthew G. Knepley 9230e278f6aSMatthew G. Knepley test: 9240e278f6aSMatthew G. Knepley suffix: ball_1 9250e278f6aSMatthew G. Knepley requires: ctetgen 92630602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_shape ball -bd_dm_refine 2 -dm_plex_check_all -dm_view 9270e278f6aSMatthew G. Knepley 928c4762a1bSJed Brown TEST*/ 929