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 243c4762a1bSJed Brown ierr = PetscObjectSetName((PetscObject) *dm, "Simplicial 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 344c4762a1bSJed Brown # Parallel simple partitioner tests 345c4762a1bSJed Brown test: 346c4762a1bSJed Brown suffix: part_simple_0 347c4762a1bSJed Brown requires: triangle 348c4762a1bSJed Brown nsize: 2 34930602db0SMatthew 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 350c4762a1bSJed Brown test: 351c4762a1bSJed Brown suffix: part_simple_1 352c4762a1bSJed Brown requires: triangle 353c4762a1bSJed Brown nsize: 8 35430602db0SMatthew 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 355c4762a1bSJed Brown 356c4762a1bSJed Brown # Parallel partitioner tests 357c4762a1bSJed Brown test: 358c4762a1bSJed Brown suffix: part_parmetis_0 359c4762a1bSJed Brown requires: parmetis 360c4762a1bSJed Brown nsize: 2 36130602db0SMatthew 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 362c4762a1bSJed Brown test: 363c4762a1bSJed Brown suffix: part_ptscotch_0 364c4762a1bSJed Brown requires: ptscotch 365c4762a1bSJed Brown nsize: 2 36630602db0SMatthew 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 367c4762a1bSJed Brown test: 368c4762a1bSJed Brown suffix: part_ptscotch_1 369c4762a1bSJed Brown requires: ptscotch 370c4762a1bSJed Brown nsize: 8 37130602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 1 -dist_dm_distribute -petscpartitioner_type ptscotch -petscpartitioner_view -petscpartitioner_ptscotch_imbalance 0.1 372c4762a1bSJed Brown 373c4762a1bSJed Brown # CGNS reader tests 10-11 (need to find smaller test meshes) 374c4762a1bSJed Brown test: 375c4762a1bSJed Brown suffix: cgns_0 376c4762a1bSJed Brown requires: cgns 37730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/tut21.cgns -dm_view 378c4762a1bSJed Brown 379c4762a1bSJed Brown # Gmsh mesh reader tests 38030602db0SMatthew G. Knepley testset: 38130602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_view 38230602db0SMatthew G. Knepley 383c4762a1bSJed Brown test: 384c4762a1bSJed Brown suffix: gmsh_0 385c4762a1bSJed Brown requires: !single 38630602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 387c4762a1bSJed Brown test: 388c4762a1bSJed Brown suffix: gmsh_1 389c4762a1bSJed Brown requires: !single 39030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.msh 391c4762a1bSJed Brown test: 392c4762a1bSJed Brown suffix: gmsh_2 393c4762a1bSJed Brown requires: !single 39430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_bin.msh 395c4762a1bSJed Brown test: 396c4762a1bSJed Brown suffix: gmsh_3 397c4762a1bSJed Brown nsize: 3 398c4762a1bSJed Brown requires: !single 39930602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.msh -dist_dm_distribute -petscpartitioner_type simple 400c4762a1bSJed Brown test: 401c4762a1bSJed Brown suffix: gmsh_4 402c4762a1bSJed Brown nsize: 3 403c4762a1bSJed Brown requires: !single 40430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_bin.msh -dist_dm_distribute -petscpartitioner_type simple 405c4762a1bSJed Brown test: 406c4762a1bSJed Brown suffix: gmsh_5 407c4762a1bSJed Brown requires: !single 40830602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_quad.msh 409c4762a1bSJed Brown # TODO: it seems the mesh is not a valid gmsh (inverted cell) 410c4762a1bSJed Brown test: 411c4762a1bSJed Brown suffix: gmsh_6 412c4762a1bSJed Brown requires: !single 41330602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_bin_physnames.msh -final_diagnostics 0 414c4762a1bSJed Brown test: 415c4762a1bSJed Brown suffix: gmsh_7 41630602db0SMatthew 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 417c4762a1bSJed Brown test: 418c4762a1bSJed Brown suffix: gmsh_8 41930602db0SMatthew 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 420c4762a1bSJed Brown testset: 42130602db0SMatthew 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 422c4762a1bSJed Brown test: 423c4762a1bSJed Brown suffix: gmsh_9 424c4762a1bSJed Brown test: 425c4762a1bSJed Brown suffix: gmsh_9_periodic_0 426c4762a1bSJed Brown args: -dm_plex_gmsh_periodic 0 427c4762a1bSJed Brown testset: 42830602db0SMatthew 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 429c4762a1bSJed Brown test: 430c4762a1bSJed Brown suffix: gmsh_10 431c4762a1bSJed Brown test: 432c4762a1bSJed Brown suffix: gmsh_10_periodic_0 433c4762a1bSJed Brown args: -dm_plex_gmsh_periodic 0 434c4762a1bSJed Brown testset: 43530602db0SMatthew 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 436c4762a1bSJed Brown test: 437c4762a1bSJed Brown suffix: gmsh_11 438c4762a1bSJed Brown test: 439c4762a1bSJed Brown suffix: gmsh_11_periodic_0 440c4762a1bSJed Brown args: -dm_plex_gmsh_periodic 0 441c4762a1bSJed Brown # TODO: it seems the mesh is not a valid gmsh (inverted cell) 442c4762a1bSJed Brown test: 443c4762a1bSJed Brown suffix: gmsh_12 444c4762a1bSJed Brown nsize: 4 445c4762a1bSJed Brown requires: !single mpiio 44630602db0SMatthew 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 447c4762a1bSJed Brown test: 448c4762a1bSJed Brown suffix: gmsh_13_hybs2t 449c4762a1bSJed Brown nsize: 4 450012bc364SMatthew 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 451c4762a1bSJed Brown test: 452c4762a1bSJed Brown suffix: gmsh_14_ext 453c4762a1bSJed Brown requires: !single 45430602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_extrude_layers 2 -dm_extrude_thickness 1.5 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_bin.msh -dm_view -dm_plex_check_all 455c4762a1bSJed Brown test: 456c4762a1bSJed Brown suffix: gmsh_14_ext_s2t 457c4762a1bSJed Brown requires: !single 458012bc364SMatthew G. Knepley args: -dm_coord_space 0 -dm_extrude_layers 2 -dm_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 459c4762a1bSJed Brown test: 460c4762a1bSJed Brown suffix: gmsh_15_hyb3d 46130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_tetwedge.msh -dm_view -dm_plex_check_all 462c4762a1bSJed Brown test: 463c4762a1bSJed Brown suffix: gmsh_15_hyb3d_vtk 46430602db0SMatthew 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 465c4762a1bSJed Brown test: 466c4762a1bSJed Brown suffix: gmsh_15_hyb3d_s2t 467012bc364SMatthew 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 468c4762a1bSJed Brown test: 469c4762a1bSJed Brown suffix: gmsh_16_spheresurface 470c4762a1bSJed Brown nsize : 4 47130602db0SMatthew 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 472c4762a1bSJed Brown test: 473c4762a1bSJed Brown suffix: gmsh_16_spheresurface_s2t 474c4762a1bSJed Brown nsize : 4 475012bc364SMatthew 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 476c4762a1bSJed Brown test: 477c4762a1bSJed Brown suffix: gmsh_16_spheresurface_extruded 478c4762a1bSJed Brown nsize : 4 47930602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_extrude_layers 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 480c4762a1bSJed Brown test: 481c4762a1bSJed Brown suffix: gmsh_16_spheresurface_extruded_s2t 482c4762a1bSJed Brown nsize : 4 483012bc364SMatthew G. Knepley args: -dm_coord_space 0 -dm_extrude_layers 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 484c4762a1bSJed Brown test: 485c4762a1bSJed Brown suffix: gmsh_17_hyb3d_interp_ascii 48630602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_hexwedge.msh -dm_view -dm_plex_check_all 487c4762a1bSJed Brown test: 488c4762a1bSJed Brown suffix: exodus_17_hyb3d_interp_ascii 489c4762a1bSJed Brown requires: exodusii 49030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_hexwedge.exo -dm_view -dm_plex_check_all 491c4762a1bSJed Brown 492c4762a1bSJed Brown # Legacy Gmsh v22/v40 ascii/binary reader tests 493c4762a1bSJed Brown testset: 494c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_legacy.out 49530602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_view ::ascii_info_detail -dm_plex_check_all 496c4762a1bSJed Brown test: 497c4762a1bSJed Brown suffix: gmsh_3d_ascii_v22 49830602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii.msh2 499c4762a1bSJed Brown test: 500c4762a1bSJed Brown suffix: gmsh_3d_ascii_v40 50130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii.msh4 502c4762a1bSJed Brown test: 503c4762a1bSJed Brown suffix: gmsh_3d_binary_v22 50430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary.msh2 505c4762a1bSJed Brown test: 506c4762a1bSJed Brown suffix: gmsh_3d_binary_v40 507c4762a1bSJed Brown requires: long64 50830602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary.msh4 509c4762a1bSJed Brown 510c4762a1bSJed Brown # Gmsh v41 ascii/binary reader tests 511c4762a1bSJed Brown testset: # 32bit mesh, sequential 51230602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_view ::ascii_info_detail -dm_plex_check_all 513c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_32.out 514c4762a1bSJed Brown test: 515c4762a1bSJed Brown suffix: gmsh_3d_ascii_v41_32 51630602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii-32.msh 517c4762a1bSJed Brown test: 518c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_32 51930602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-32.msh 520c4762a1bSJed Brown test: 521c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_32_mpiio 522*dfd57a17SPierre Jolivet requires: defined(PETSC_HAVE_MPIIO) 52330602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-32.msh -viewer_binary_mpiio 524c4762a1bSJed Brown testset: # 32bit mesh, parallel 52530602db0SMatthew G. Knepley args: -dm_coord_space 0 -dist_dm_distribute -petscpartitioner_type simple -dm_view ::ascii_info_detail -dm_plex_check_all 526c4762a1bSJed Brown nsize: 2 527c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_32_np2.out 528c4762a1bSJed Brown test: 529c4762a1bSJed Brown suffix: gmsh_3d_ascii_v41_32_np2 53030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii-32.msh 531c4762a1bSJed Brown test: 532c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_32_np2 53330602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-32.msh 534c4762a1bSJed Brown test: 535c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_32_np2_mpiio 536*dfd57a17SPierre Jolivet requires: defined(PETSC_HAVE_MPIIO) 53730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-32.msh -viewer_binary_mpiio 538c4762a1bSJed Brown testset: # 64bit mesh, sequential 53930602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_view ::ascii_info_detail -dm_plex_check_all 540c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_64.out 541c4762a1bSJed Brown test: 542c4762a1bSJed Brown suffix: gmsh_3d_ascii_v41_64 54330602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii-64.msh 544c4762a1bSJed Brown test: 545c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_64 54630602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-64.msh 547c4762a1bSJed Brown test: 548c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_64_mpiio 549*dfd57a17SPierre Jolivet requires: defined(PETSC_HAVE_MPIIO) 55030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-64.msh -viewer_binary_mpiio 551c4762a1bSJed Brown testset: # 64bit mesh, parallel 55230602db0SMatthew G. Knepley args: -dm_coord_space 0 -dist_dm_distribute -petscpartitioner_type simple -dm_view ::ascii_info_detail -dm_plex_check_all 553c4762a1bSJed Brown nsize: 2 554c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_64_np2.out 555c4762a1bSJed Brown test: 556c4762a1bSJed Brown suffix: gmsh_3d_ascii_v41_64_np2 55730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii-64.msh 558c4762a1bSJed Brown test: 559c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_64_np2 56030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-64.msh 561c4762a1bSJed Brown test: 562c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_64_np2_mpiio 563*dfd57a17SPierre Jolivet requires: defined(PETSC_HAVE_MPIIO) 56430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-64.msh -viewer_binary_mpiio 565c4762a1bSJed Brown 566c4762a1bSJed Brown # Fluent mesh reader tests 567c4762a1bSJed Brown # TODO: Geometry checks fail 568c4762a1bSJed Brown test: 569c4762a1bSJed Brown suffix: fluent_0 570c4762a1bSJed Brown requires: !complex 57130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.cas -dm_view -final_diagnostics 0 572c4762a1bSJed Brown test: 573c4762a1bSJed Brown suffix: fluent_1 574c4762a1bSJed Brown nsize: 3 575c4762a1bSJed Brown requires: !complex 57630602db0SMatthew 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 577c4762a1bSJed Brown test: 578c4762a1bSJed Brown suffix: fluent_2 579c4762a1bSJed Brown requires: !complex 58030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cube_5tets_ascii.cas -dm_view -final_diagnostics 0 581c4762a1bSJed Brown test: 582c4762a1bSJed Brown suffix: fluent_3 583c4762a1bSJed Brown requires: !complex 584c4762a1bSJed Brown TODO: Fails on non-linux: fseek(), fileno() ? https://gitlab.com/petsc/petsc/merge_requests/2206#note_238166382 58530602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cube_5tets.cas -dm_view -final_diagnostics 0 586c4762a1bSJed Brown 587c4762a1bSJed Brown # Med mesh reader tests, including parallel file reads 588c4762a1bSJed Brown test: 589c4762a1bSJed Brown suffix: med_0 590c4762a1bSJed Brown requires: med 59130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.med -dm_view 592c4762a1bSJed Brown test: 593c4762a1bSJed Brown suffix: med_1 594c4762a1bSJed Brown requires: med 595c4762a1bSJed Brown nsize: 3 59630602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.med -dist_dm_distribute -petscpartitioner_type simple -dm_view 597c4762a1bSJed Brown test: 598c4762a1bSJed Brown suffix: med_2 599c4762a1bSJed Brown requires: med 60030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cylinder.med -dm_view 601c4762a1bSJed Brown test: 602c4762a1bSJed Brown suffix: med_3 603c4762a1bSJed Brown requires: med 604c4762a1bSJed Brown TODO: MED 605c4762a1bSJed Brown nsize: 3 60630602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cylinder.med -dist_dm_distribute -petscpartitioner_type simple -dm_view 607c4762a1bSJed Brown 608c4762a1bSJed Brown # Test shape quality 609c4762a1bSJed Brown test: 610c4762a1bSJed Brown suffix: test_shape 611c4762a1bSJed Brown requires: ctetgen 61230602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dim 3 -dm_refine_hierarchy 3 -dm_plex_check_all -dm_plex_check_cell_shape 613c4762a1bSJed Brown 614c4762a1bSJed Brown # Test simplex to tensor conversion 615c4762a1bSJed Brown test: 616c4762a1bSJed Brown suffix: s2t2 617c4762a1bSJed Brown requires: triangle 618012bc364SMatthew 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 619c4762a1bSJed Brown 620c4762a1bSJed Brown test: 621c4762a1bSJed Brown suffix: s2t3 622c4762a1bSJed Brown requires: ctetgen 623012bc364SMatthew 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 624c4762a1bSJed Brown 62530602db0SMatthew G. Knepley # Test cylinder 62630602db0SMatthew G. Knepley testset: 62730602db0SMatthew G. Knepley args: -dm_plex_shape cylinder -dm_plex_check_all -dm_view 628c4762a1bSJed Brown test: 629c4762a1bSJed Brown suffix: cylinder 63030602db0SMatthew G. Knepley args: -ref_dm_refine 1 631c4762a1bSJed Brown test: 632c4762a1bSJed Brown suffix: cylinder_per 63361a622f3SMatthew G. Knepley args: -dm_plex_cylinder_bd periodic -ref_dm_refine 1 -ref_dm_refine_remap 0 634c4762a1bSJed Brown test: 635c4762a1bSJed Brown suffix: cylinder_wedge 63661a622f3SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_interpolate 0 -dm_plex_cell tensor_triangular_prism -dm_view vtk: 637c4762a1bSJed Brown test: 638c4762a1bSJed Brown suffix: cylinder_wedge_int 639c4762a1bSJed Brown output_file: output/ex1_cylinder_wedge.out 64061a622f3SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_cell tensor_triangular_prism -dm_view vtk: 641c4762a1bSJed Brown 642c4762a1bSJed Brown test: 643c4762a1bSJed Brown suffix: box_2d 64430602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 2 -dm_plex_check_all -dm_view 645c4762a1bSJed Brown 646c4762a1bSJed Brown test: 647c4762a1bSJed Brown suffix: box_2d_per 64830602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 2 -dm_plex_check_all -dm_view 649c4762a1bSJed Brown 650c4762a1bSJed Brown test: 651c4762a1bSJed Brown suffix: box_2d_per_unint 65230602db0SMatthew 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 653c4762a1bSJed Brown 654c4762a1bSJed Brown test: 655c4762a1bSJed Brown suffix: box_3d 65630602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dim 3 -dm_plex_simplex 0 -ref_dm_refine 3 -dm_plex_check_all -dm_view 657c4762a1bSJed Brown 658c4762a1bSJed Brown test: 659c4762a1bSJed Brown requires: triangle 660c4762a1bSJed Brown suffix: box_wedge 66161a622f3SMatthew 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 662c4762a1bSJed Brown 663c4762a1bSJed Brown testset: 664c4762a1bSJed Brown requires: triangle 665012bc364SMatthew 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 666c4762a1bSJed Brown test: 667c4762a1bSJed Brown suffix: box_wedge_s2t 668c4762a1bSJed Brown test: 669c4762a1bSJed Brown nsize: 3 67030602db0SMatthew G. Knepley args: -dist_dm_distribute -petscpartitioner_type simple 671c4762a1bSJed Brown suffix: box_wedge_s2t_parallel 672c4762a1bSJed Brown 673c4762a1bSJed Brown # Test GLVis output 67430602db0SMatthew G. Knepley testset: 67530602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_interpolate 0 676c4762a1bSJed Brown test: 677c4762a1bSJed Brown suffix: glvis_2d_tet 67830602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_periodic.msh -dm_plex_gmsh_periodic 0 -dm_view glvis: 679c4762a1bSJed Brown test: 680c4762a1bSJed Brown suffix: glvis_2d_tet_per 68130602db0SMatthew 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 682c4762a1bSJed Brown test: 683c4762a1bSJed Brown suffix: glvis_3d_tet 68430602db0SMatthew 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: 68530602db0SMatthew G. Knepley testset: 68630602db0SMatthew G. Knepley args: -dm_coord_space 0 68730602db0SMatthew G. Knepley test: 68830602db0SMatthew G. Knepley suffix: glvis_2d_tet_per_mfem 68930602db0SMatthew 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: 69030602db0SMatthew G. Knepley test: 69130602db0SMatthew G. Knepley suffix: glvis_2d_quad 69230602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -dm_plex_box_faces 3,3 -dm_view glvis: 69330602db0SMatthew G. Knepley test: 69430602db0SMatthew G. Knepley suffix: glvis_2d_quad_per 69530602db0SMatthew 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 69630602db0SMatthew G. Knepley test: 69730602db0SMatthew G. Knepley suffix: glvis_2d_quad_per_mfem 69830602db0SMatthew 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 699c4762a1bSJed Brown test: 700c4762a1bSJed Brown suffix: glvis_3d_tet_per 70130602db0SMatthew 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 702c4762a1bSJed Brown test: 703c4762a1bSJed Brown suffix: glvis_3d_tet_per_mfem 704c4762a1bSJed Brown TODO: broken 70530602db0SMatthew 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: 706c4762a1bSJed Brown test: 707c4762a1bSJed Brown suffix: glvis_3d_hex 70830602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_simplex 0 -dm_plex_box_faces 3,3,3 -dm_view glvis: 709c4762a1bSJed Brown test: 710c4762a1bSJed Brown suffix: glvis_3d_hex_per 71130602db0SMatthew 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 712c4762a1bSJed Brown test: 713c4762a1bSJed Brown suffix: glvis_3d_hex_per_mfem 71430602db0SMatthew 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 71530602db0SMatthew G. Knepley test: 71630602db0SMatthew G. Knepley suffix: glvis_2d_hyb 71730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_triquad.msh -dm_view glvis: -viewer_glvis_dm_plex_enable_boundary 71830602db0SMatthew G. Knepley test: 71930602db0SMatthew G. Knepley suffix: glvis_3d_hyb 72030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_tetwedge.msh -dm_view glvis: -viewer_glvis_dm_plex_enable_boundary 72130602db0SMatthew G. Knepley test: 72230602db0SMatthew G. Knepley suffix: glvis_3d_hyb_s2t 723012bc364SMatthew 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 724c4762a1bSJed Brown 725c4762a1bSJed Brown # Test P4EST 726c4762a1bSJed Brown testset: 727c4762a1bSJed Brown requires: p4est 72830602db0SMatthew 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 729c4762a1bSJed Brown test: 730c4762a1bSJed Brown suffix: p4est_periodic 73130602db0SMatthew 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 732c4762a1bSJed Brown test: 733c4762a1bSJed Brown suffix: p4est_periodic_3d 73430602db0SMatthew 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 735c4762a1bSJed Brown test: 736c4762a1bSJed Brown suffix: p4est_gmsh_periodic 73730602db0SMatthew 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 738c4762a1bSJed Brown test: 739c4762a1bSJed Brown suffix: p4est_gmsh_surface 74030602db0SMatthew 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 741c4762a1bSJed Brown test: 742c4762a1bSJed Brown suffix: p4est_gmsh_surface_parallel 743c4762a1bSJed Brown nsize: 2 74430602db0SMatthew 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 745c4762a1bSJed Brown test: 746c4762a1bSJed Brown suffix: p4est_hyb_2d 74730602db0SMatthew 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 748c4762a1bSJed Brown test: 749c4762a1bSJed Brown suffix: p4est_hyb_3d 75030602db0SMatthew 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 751c4762a1bSJed Brown test: 752c4762a1bSJed Brown requires: ctetgen 753c4762a1bSJed Brown suffix: p4est_s2t_bugfaces_3d 75430602db0SMatthew 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 755c4762a1bSJed Brown test: 756c4762a1bSJed Brown suffix: p4est_bug_overlapsf 757c4762a1bSJed Brown nsize: 3 75830602db0SMatthew 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 759c4762a1bSJed Brown test: 760c4762a1bSJed Brown suffix: p4est_redistribute 761c4762a1bSJed Brown nsize: 3 76230602db0SMatthew 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 763c4762a1bSJed Brown test: 764c4762a1bSJed Brown suffix: p4est_gmsh_s2t_3d 76530602db0SMatthew G. Knepley args: -conv_seq_1_dm_forest_initial_refinement 1 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 766c4762a1bSJed Brown test: 767c4762a1bSJed Brown suffix: p4est_gmsh_s2t_3d_hash 76830602db0SMatthew 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 769c4762a1bSJed Brown test: 770c4762a1bSJed Brown requires: long_runtime 771c4762a1bSJed Brown suffix: p4est_gmsh_periodic_3d 77230602db0SMatthew 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 773c4762a1bSJed Brown 774c4762a1bSJed Brown testset: 775c4762a1bSJed Brown requires: p4est 776c4762a1bSJed Brown nsize: 6 77730602db0SMatthew 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 778c4762a1bSJed Brown test: 77954fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 780c4762a1bSJed Brown suffix: p4est_par_periodic 78130602db0SMatthew 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 782c4762a1bSJed Brown test: 78354fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 784c4762a1bSJed Brown suffix: p4est_par_periodic_3d 78530602db0SMatthew 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 786c4762a1bSJed Brown test: 78754fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 788c4762a1bSJed Brown suffix: p4est_par_gmsh_periodic 78930602db0SMatthew 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 790c4762a1bSJed Brown test: 791c4762a1bSJed Brown suffix: p4est_par_gmsh_surface 79230602db0SMatthew 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 793c4762a1bSJed Brown test: 794c4762a1bSJed Brown suffix: p4est_par_gmsh_s2t_3d 79530602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 1 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 796c4762a1bSJed Brown test: 79754fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 798c4762a1bSJed Brown suffix: p4est_par_gmsh_s2t_3d_hash 79930602db0SMatthew 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 800c4762a1bSJed Brown test: 801c4762a1bSJed Brown requires: long_runtime 802c4762a1bSJed Brown suffix: p4est_par_gmsh_periodic_3d 80330602db0SMatthew 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 804c4762a1bSJed Brown 805c4762a1bSJed Brown testset: 806c4762a1bSJed Brown requires: p4est 807c4762a1bSJed Brown nsize: 6 80830602db0SMatthew 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 809c4762a1bSJed Brown test: 810c4762a1bSJed Brown suffix: p4est_par_ovl_periodic 81130602db0SMatthew 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 812c4762a1bSJed Brown #TODO Mesh cell 201 is inverted, vol = 0. (FVM Volume. Is it correct? -> Diagnostics disabled) 813c4762a1bSJed Brown test: 814c4762a1bSJed Brown suffix: p4est_par_ovl_periodic_3d 81530602db0SMatthew 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 816c4762a1bSJed Brown test: 817c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_periodic 81830602db0SMatthew 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 819c4762a1bSJed Brown test: 820c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_surface 82130602db0SMatthew 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 822c4762a1bSJed Brown test: 823c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_s2t_3d 82430602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 1 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 825c4762a1bSJed Brown test: 826c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_s2t_3d_hash 82730602db0SMatthew 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 828c4762a1bSJed Brown test: 829c4762a1bSJed Brown requires: long_runtime 830c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_periodic_3d 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/mesh-3d-box-innersphere.msh 832c4762a1bSJed Brown test: 833c4762a1bSJed Brown suffix: p4est_par_ovl_hyb_2d 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/hybrid_triquad.msh 835c4762a1bSJed Brown test: 836c4762a1bSJed Brown suffix: p4est_par_ovl_hyb_3d 83730602db0SMatthew 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 838c4762a1bSJed Brown 839c4762a1bSJed Brown test: 840c4762a1bSJed Brown TODO: broken 841c4762a1bSJed Brown requires: p4est 842c4762a1bSJed Brown nsize: 2 843c4762a1bSJed Brown suffix: p4est_bug_labels_noovl 84430602db0SMatthew 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 845c4762a1bSJed Brown 846c4762a1bSJed Brown test: 847c4762a1bSJed Brown requires: p4est 848c4762a1bSJed Brown nsize: 2 849c4762a1bSJed Brown suffix: p4est_bug_distribute_overlap 85030602db0SMatthew 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 851c4762a1bSJed Brown args: -dm_post_overlap_view 852c4762a1bSJed Brown 853c4762a1bSJed Brown test: 854595782ffSMatthew G. Knepley suffix: ref_alfeld2d_0 855595782ffSMatthew G. Knepley requires: triangle 856012bc364SMatthew 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 857595782ffSMatthew G. Knepley test: 858595782ffSMatthew G. Knepley suffix: ref_alfeld3d_0 859595782ffSMatthew G. Knepley requires: ctetgen 860012bc364SMatthew 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 861595782ffSMatthew G. Knepley 86209c713e7SStefano Zampini # Boundary layer refiners 86309c713e7SStefano Zampini test: 86409c713e7SStefano Zampini suffix: ref_bl_1 865012bc364SMatthew 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_layers 2 -final_diagnostics -ref_dm_plex_transform_bl_splits 3 -dm_extrude_column_first {{0 1}} 86609c713e7SStefano Zampini test: 86709c713e7SStefano Zampini suffix: ref_bl_2_tri 86809c713e7SStefano Zampini requires: triangle 869012bc364SMatthew 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_layers 3 -final_diagnostics -ref_dm_plex_transform_bl_splits 4 -dm_extrude_column_first {{0 1}} 87009c713e7SStefano Zampini test: 87109c713e7SStefano Zampini suffix: ref_bl_3_quad 872012bc364SMatthew 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_layers 3 -final_diagnostics -ref_dm_plex_transform_bl_splits 4 -dm_extrude_column_first {{0 1}} 87309c713e7SStefano Zampini test: 87409c713e7SStefano Zampini suffix: ref_bl_spheresurface_extruded 87509c713e7SStefano Zampini nsize : 4 876012bc364SMatthew G. Knepley args: -dm_extrude_layers 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 -dm_extrude_column_first {{0 1}separate output} -final_diagnostics -ref_dm_refine 1 -ref_dm_plex_transform_type refine_boundary_layer -ref_dm_plex_transform_bl_splits 2 87709c713e7SStefano Zampini test: 87809c713e7SStefano Zampini suffix: ref_bl_3d_hyb 87909c713e7SStefano Zampini nsize : 4 880012bc364SMatthew 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 8810e278f6aSMatthew G. Knepley 88230602db0SMatthew G. Knepley testset: 88330602db0SMatthew G. Knepley args: -dm_plex_shape sphere -dm_plex_check_all -dm_view 8840e278f6aSMatthew G. Knepley test: 8850e278f6aSMatthew G. Knepley suffix: sphere_0 88630602db0SMatthew G. Knepley args: 8870e278f6aSMatthew G. Knepley test: 8880e278f6aSMatthew G. Knepley suffix: sphere_1 88930602db0SMatthew G. Knepley args: -ref_dm_refine 2 8900e278f6aSMatthew G. Knepley test: 89168317524SMatthew G. Knepley suffix: sphere_2 89230602db0SMatthew G. Knepley args: -dm_plex_simplex 0 89368317524SMatthew G. Knepley test: 89468317524SMatthew G. Knepley suffix: sphere_3 89530602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 2 89668317524SMatthew G. Knepley 89768317524SMatthew G. Knepley test: 8980e278f6aSMatthew G. Knepley suffix: ball_0 8990e278f6aSMatthew G. Knepley requires: ctetgen 90030602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_shape ball -dm_plex_check_all -dm_view 9010e278f6aSMatthew G. Knepley 9020e278f6aSMatthew G. Knepley test: 9030e278f6aSMatthew G. Knepley suffix: ball_1 9040e278f6aSMatthew G. Knepley requires: ctetgen 90530602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_shape ball -bd_dm_refine 2 -dm_plex_check_all -dm_view 9060e278f6aSMatthew G. Knepley 907c4762a1bSJed Brown TEST*/ 908