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 PetscFunctionBegin; 24c4762a1bSJed Brown options->dim = 2; 25c4762a1bSJed Brown options->overlap = 0; 26c4762a1bSJed Brown options->testp4est[0] = PETSC_FALSE; 27c4762a1bSJed Brown options->testp4est[1] = PETSC_FALSE; 28c4762a1bSJed Brown options->redistribute = PETSC_FALSE; 29c4762a1bSJed Brown options->final_ref = PETSC_FALSE; 30c4762a1bSJed Brown options->final_diagnostics = PETSC_TRUE; 31c4762a1bSJed Brown 32*d0609cedSBarry Smith PetscOptionsBegin(comm, "", "Meshing Problem Options", "DMPLEX"); 339566063dSJacob Faibussowitsch PetscCall(PetscOptionsRangeInt("-dim", "The topological mesh dimension", "ex1.c", options->dim, &options->dim, NULL,1,3)); 349566063dSJacob Faibussowitsch PetscCall(PetscOptionsBoundedInt("-overlap", "The cell overlap for partitioning", "ex1.c", options->overlap, &options->overlap, NULL,0)); 359566063dSJacob Faibussowitsch PetscCall(PetscOptionsBool("-test_p4est_seq", "Test p4est with sequential base DM", "ex1.c", options->testp4est[0], &options->testp4est[0], NULL)); 369566063dSJacob Faibussowitsch PetscCall(PetscOptionsBool("-test_p4est_par", "Test p4est with parallel base DM", "ex1.c", options->testp4est[1], &options->testp4est[1], NULL)); 379566063dSJacob Faibussowitsch PetscCall(PetscOptionsBool("-test_redistribute", "Test redistribution", "ex1.c", options->redistribute, &options->redistribute, NULL)); 389566063dSJacob Faibussowitsch PetscCall(PetscOptionsBool("-final_ref", "Run uniform refinement on the final mesh", "ex1.c", options->final_ref, &options->final_ref, NULL)); 399566063dSJacob Faibussowitsch PetscCall(PetscOptionsBool("-final_diagnostics", "Run diagnostics on the final mesh", "ex1.c", options->final_diagnostics, &options->final_diagnostics, NULL)); 40*d0609cedSBarry Smith PetscOptionsEnd(); 41c4762a1bSJed Brown 429566063dSJacob Faibussowitsch PetscCall(PetscLogEventRegister("CreateMesh", DM_CLASSID, &options->createMeshEvent)); 439566063dSJacob Faibussowitsch PetscCall(PetscLogStageRegister("MeshLoad", &options->stages[STAGE_LOAD])); 449566063dSJacob Faibussowitsch PetscCall(PetscLogStageRegister("MeshDistribute", &options->stages[STAGE_DISTRIBUTE])); 459566063dSJacob Faibussowitsch PetscCall(PetscLogStageRegister("MeshRefine", &options->stages[STAGE_REFINE])); 469566063dSJacob Faibussowitsch PetscCall(PetscLogStageRegister("MeshOverlap", &options->stages[STAGE_OVERLAP])); 47c4762a1bSJed Brown PetscFunctionReturn(0); 48c4762a1bSJed Brown } 49c4762a1bSJed Brown 50c4762a1bSJed Brown PetscErrorCode CreateMesh(MPI_Comm comm, AppCtx *user, DM *dm) 51c4762a1bSJed Brown { 52c4762a1bSJed Brown PetscInt dim = user->dim; 53c4762a1bSJed Brown PetscBool testp4est_seq = user->testp4est[0]; 54c4762a1bSJed Brown PetscBool testp4est_par = user->testp4est[1]; 55c4762a1bSJed Brown PetscMPIInt rank, size; 56db2bf62eSStefano Zampini PetscBool periodic; 57c4762a1bSJed Brown 58c4762a1bSJed Brown PetscFunctionBegin; 599566063dSJacob Faibussowitsch PetscCall(PetscLogEventBegin(user->createMeshEvent,0,0,0,0)); 609566063dSJacob Faibussowitsch PetscCallMPI(MPI_Comm_rank(comm, &rank)); 619566063dSJacob Faibussowitsch PetscCallMPI(MPI_Comm_size(comm, &size)); 629566063dSJacob Faibussowitsch PetscCall(PetscLogStagePush(user->stages[STAGE_LOAD])); 639566063dSJacob Faibussowitsch PetscCall(DMCreate(comm, dm)); 649566063dSJacob Faibussowitsch PetscCall(DMSetType(*dm, DMPLEX)); 659566063dSJacob Faibussowitsch PetscCall(DMPlexDistributeSetDefault(*dm, PETSC_FALSE)); 669566063dSJacob Faibussowitsch PetscCall(DMSetFromOptions(*dm)); 67db2bf62eSStefano Zampini 68db2bf62eSStefano Zampini /* For topologically periodic meshes, we first localize coordinates, 69db2bf62eSStefano Zampini and then remove any information related with the 70db2bf62eSStefano Zampini automatic computation of localized vertices. 71db2bf62eSStefano Zampini This way, refinement operations and conversions to p4est 72db2bf62eSStefano Zampini will preserve the shape of the domain in physical space */ 739566063dSJacob Faibussowitsch PetscCall(DMLocalizeCoordinates(*dm)); 749566063dSJacob Faibussowitsch PetscCall(DMGetPeriodicity(*dm, &periodic, NULL, NULL, NULL)); 759566063dSJacob Faibussowitsch if (periodic) PetscCall(DMSetPeriodicity(*dm, PETSC_TRUE, NULL, NULL, NULL)); 76db2bf62eSStefano Zampini 779566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm,NULL,"-init_dm_view")); 789566063dSJacob Faibussowitsch PetscCall(DMGetDimension(*dm, &dim)); 79c4762a1bSJed Brown 80c4762a1bSJed Brown if (testp4est_seq) { 81c4762a1bSJed Brown #if defined(PETSC_HAVE_P4EST) 82c4762a1bSJed Brown DM dmConv = NULL; 83c4762a1bSJed Brown 849566063dSJacob Faibussowitsch PetscCall(DMPlexCheckSymmetry(*dm)); 859566063dSJacob Faibussowitsch PetscCall(DMPlexCheckSkeleton(*dm, 0)); 869566063dSJacob Faibussowitsch PetscCall(DMPlexCheckFaces(*dm, 0)); 879566063dSJacob Faibussowitsch PetscCall(DMPlexCheckGeometry(*dm)); 889566063dSJacob Faibussowitsch PetscCall(DMPlexCheckPointSF(*dm)); 899566063dSJacob Faibussowitsch PetscCall(DMPlexCheckInterfaceCones(*dm)); 909566063dSJacob Faibussowitsch PetscCall(DMPlexSetRefinementUniform(*dm, PETSC_TRUE)); 919566063dSJacob Faibussowitsch PetscCall(DMPlexSetTransformType(*dm, DMPLEXREFINETOBOX)); 929566063dSJacob Faibussowitsch PetscCall(DMRefine(*dm, PETSC_COMM_WORLD, &dmConv)); 939566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, NULL)); 94c4762a1bSJed Brown if (dmConv) { 959566063dSJacob Faibussowitsch PetscCall(DMDestroy(dm)); 96c4762a1bSJed Brown *dm = dmConv; 97c4762a1bSJed Brown } 989566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm,NULL,"-initref_dm_view")); 999566063dSJacob Faibussowitsch PetscCall(DMPlexCheckSymmetry(*dm)); 1009566063dSJacob Faibussowitsch PetscCall(DMPlexCheckSkeleton(*dm, 0)); 1019566063dSJacob Faibussowitsch PetscCall(DMPlexCheckFaces(*dm, 0)); 1029566063dSJacob Faibussowitsch PetscCall(DMPlexCheckGeometry(*dm)); 1039566063dSJacob Faibussowitsch PetscCall(DMPlexCheckPointSF(*dm)); 1049566063dSJacob Faibussowitsch PetscCall(DMPlexCheckInterfaceCones(*dm)); 105c4762a1bSJed Brown 1069566063dSJacob Faibussowitsch PetscCall(DMConvert(*dm,dim == 2 ? DMP4EST : DMP8EST,&dmConv)); 107c4762a1bSJed Brown if (dmConv) { 1089566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) dmConv, "conv_seq_1_")); 1099566063dSJacob Faibussowitsch PetscCall(DMSetFromOptions(dmConv)); 1109566063dSJacob Faibussowitsch PetscCall(DMDestroy(dm)); 111c4762a1bSJed Brown *dm = dmConv; 112c4762a1bSJed Brown } 1139566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, "conv_seq_1_")); 1149566063dSJacob Faibussowitsch PetscCall(DMSetUp(*dm)); 1159566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_view")); 1169566063dSJacob Faibussowitsch PetscCall(DMConvert(*dm,DMPLEX,&dmConv)); 117c4762a1bSJed Brown if (dmConv) { 1189566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) dmConv, "conv_seq_2_")); 1199566063dSJacob Faibussowitsch PetscCall(DMPlexDistributeSetDefault(dmConv, PETSC_FALSE)); 1209566063dSJacob Faibussowitsch PetscCall(DMSetFromOptions(dmConv)); 1219566063dSJacob Faibussowitsch PetscCall(DMDestroy(dm)); 122c4762a1bSJed Brown *dm = dmConv; 123c4762a1bSJed Brown } 1249566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, "conv_seq_2_")); 1259566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_view")); 1269566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, NULL)); 127c4762a1bSJed Brown #else 128c4762a1bSJed Brown SETERRQ(PETSC_COMM_WORLD,PETSC_ERR_SUP,"Recompile with --download-p4est"); 129c4762a1bSJed Brown #endif 130c4762a1bSJed Brown } 131c4762a1bSJed Brown 1329566063dSJacob Faibussowitsch PetscCall(PetscLogStagePop()); 133c4762a1bSJed Brown if (!testp4est_seq) { 1349566063dSJacob Faibussowitsch PetscCall(PetscLogStagePush(user->stages[STAGE_DISTRIBUTE])); 1359566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_pre_dist_view")); 1369566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, "dist_")); 1379566063dSJacob Faibussowitsch PetscCall(DMSetFromOptions(*dm)); 1389566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, NULL)); 1399566063dSJacob Faibussowitsch PetscCall(PetscLogStagePop()); 1409566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-distributed_dm_view")); 141c4762a1bSJed Brown } 1429566063dSJacob Faibussowitsch PetscCall(PetscLogStagePush(user->stages[STAGE_REFINE])); 1439566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, "ref_")); 1449566063dSJacob Faibussowitsch PetscCall(DMSetFromOptions(*dm)); 1459566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, NULL)); 1469566063dSJacob Faibussowitsch PetscCall(PetscLogStagePop()); 147c4762a1bSJed Brown 148c4762a1bSJed Brown if (testp4est_par) { 149c4762a1bSJed Brown #if defined(PETSC_HAVE_P4EST) 150c4762a1bSJed Brown DM dmConv = NULL; 151c4762a1bSJed Brown 1529566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_tobox_view")); 1539566063dSJacob Faibussowitsch PetscCall(DMPlexSetRefinementUniform(*dm, PETSC_TRUE)); 1549566063dSJacob Faibussowitsch PetscCall(DMPlexSetTransformType(*dm, DMPLEXREFINETOBOX)); 1559566063dSJacob Faibussowitsch PetscCall(DMRefine(*dm, PETSC_COMM_WORLD, &dmConv)); 1569566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, NULL)); 157c4762a1bSJed Brown if (dmConv) { 1589566063dSJacob Faibussowitsch PetscCall(DMDestroy(dm)); 159c4762a1bSJed Brown *dm = dmConv; 160c4762a1bSJed Brown } 1619566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_tobox_view")); 1629566063dSJacob Faibussowitsch PetscCall(DMPlexCheckSymmetry(*dm)); 1639566063dSJacob Faibussowitsch PetscCall(DMPlexCheckSkeleton(*dm, 0)); 1649566063dSJacob Faibussowitsch PetscCall(DMPlexCheckFaces(*dm, 0)); 1659566063dSJacob Faibussowitsch PetscCall(DMPlexCheckGeometry(*dm)); 1669566063dSJacob Faibussowitsch PetscCall(DMPlexCheckPointSF(*dm)); 1679566063dSJacob Faibussowitsch PetscCall(DMPlexCheckInterfaceCones(*dm)); 168c4762a1bSJed Brown 1699566063dSJacob Faibussowitsch PetscCall(DMConvert(*dm,dim == 2 ? DMP4EST : DMP8EST,&dmConv)); 170c4762a1bSJed Brown if (dmConv) { 1719566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) dmConv, "conv_par_1_")); 1729566063dSJacob Faibussowitsch PetscCall(DMSetFromOptions(dmConv)); 1739566063dSJacob Faibussowitsch PetscCall(DMDestroy(dm)); 174c4762a1bSJed Brown *dm = dmConv; 175c4762a1bSJed Brown } 1769566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, "conv_par_1_")); 1779566063dSJacob Faibussowitsch PetscCall(DMSetUp(*dm)); 1789566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_view")); 1799566063dSJacob Faibussowitsch PetscCall(DMConvert(*dm, DMPLEX, &dmConv)); 180c4762a1bSJed Brown if (dmConv) { 1819566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) dmConv, "conv_par_2_")); 1829566063dSJacob Faibussowitsch PetscCall(DMPlexDistributeSetDefault(dmConv, PETSC_FALSE)); 1839566063dSJacob Faibussowitsch PetscCall(DMSetFromOptions(dmConv)); 1849566063dSJacob Faibussowitsch PetscCall(DMDestroy(dm)); 185c4762a1bSJed Brown *dm = dmConv; 186c4762a1bSJed Brown } 1879566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, "conv_par_2_")); 1889566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_view")); 1899566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, NULL)); 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 2019566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_pre_redist_view")); 2029566063dSJacob Faibussowitsch PetscCall(DMPlexDistribute(*dm, 0, NULL, &distributedMesh)); 203c4762a1bSJed Brown if (distributedMesh) { 2049566063dSJacob Faibussowitsch PetscCall(DMGetPointSF(distributedMesh, &sf)); 2059566063dSJacob Faibussowitsch PetscCall(PetscSFSetUp(sf)); 2069566063dSJacob Faibussowitsch PetscCall(DMGetNeighbors(distributedMesh, &nranks, NULL)); 2079566063dSJacob Faibussowitsch PetscCallMPI(MPI_Allreduce(MPI_IN_PLACE, &nranks, 1, MPIU_INT, MPI_MIN, PetscObjectComm((PetscObject)*dm))); 2089566063dSJacob Faibussowitsch PetscCall(PetscViewerASCIIPrintf(PETSC_VIEWER_STDOUT_(PetscObjectComm((PetscObject)*dm)), "Minimum number of neighbors: %D\n", nranks)); 2099566063dSJacob Faibussowitsch PetscCall(DMDestroy(dm)); 210c4762a1bSJed Brown *dm = distributedMesh; 211c4762a1bSJed Brown } 2129566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_post_redist_view")); 213c4762a1bSJed Brown } 214c4762a1bSJed Brown 215c4762a1bSJed Brown if (user->overlap) { 216c4762a1bSJed Brown DM overlapMesh = NULL; 217c4762a1bSJed Brown 218c4762a1bSJed Brown /* Add the overlap to refined mesh */ 2199566063dSJacob Faibussowitsch PetscCall(PetscLogStagePush(user->stages[STAGE_OVERLAP])); 2209566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_pre_overlap_view")); 2219566063dSJacob Faibussowitsch PetscCall(DMPlexDistributeOverlap(*dm, user->overlap, NULL, &overlapMesh)); 222c4762a1bSJed Brown if (overlapMesh) { 223c4762a1bSJed Brown PetscInt overlap; 2249566063dSJacob Faibussowitsch PetscCall(DMPlexGetOverlap(overlapMesh, &overlap)); 2259566063dSJacob Faibussowitsch PetscCall(PetscViewerASCIIPrintf(PETSC_VIEWER_STDOUT_WORLD, "Overlap: %D\n", overlap)); 2269566063dSJacob Faibussowitsch PetscCall(DMDestroy(dm)); 227c4762a1bSJed Brown *dm = overlapMesh; 228c4762a1bSJed Brown } 2299566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_post_overlap_view")); 2309566063dSJacob Faibussowitsch PetscCall(PetscLogStagePop()); 231c4762a1bSJed Brown } 232c4762a1bSJed Brown if (user->final_ref) { 233c4762a1bSJed Brown DM refinedMesh = NULL; 234c4762a1bSJed Brown 2359566063dSJacob Faibussowitsch PetscCall(DMPlexSetRefinementUniform(*dm, PETSC_TRUE)); 2369566063dSJacob Faibussowitsch PetscCall(DMRefine(*dm, comm, &refinedMesh)); 237c4762a1bSJed Brown if (refinedMesh) { 2389566063dSJacob Faibussowitsch PetscCall(DMDestroy(dm)); 239c4762a1bSJed Brown *dm = refinedMesh; 240c4762a1bSJed Brown } 241c4762a1bSJed Brown } 242c4762a1bSJed Brown 2439566063dSJacob Faibussowitsch PetscCall(PetscObjectSetName((PetscObject) *dm, "Generated Mesh")); 2449566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_view")); 245c4762a1bSJed Brown if (user->final_diagnostics) { 246c4762a1bSJed Brown DMPlexInterpolatedFlag interpolated; 247c4762a1bSJed Brown PetscInt dim, depth; 248c4762a1bSJed Brown 2499566063dSJacob Faibussowitsch PetscCall(DMGetDimension(*dm, &dim)); 2509566063dSJacob Faibussowitsch PetscCall(DMPlexGetDepth(*dm, &depth)); 2519566063dSJacob Faibussowitsch PetscCall(DMPlexIsInterpolatedCollective(*dm, &interpolated)); 252c4762a1bSJed Brown 2539566063dSJacob Faibussowitsch PetscCall(DMPlexCheckSymmetry(*dm)); 254c4762a1bSJed Brown if (interpolated == DMPLEX_INTERPOLATED_FULL) { 2559566063dSJacob Faibussowitsch PetscCall(DMPlexCheckFaces(*dm, 0)); 256c4762a1bSJed Brown } 2579566063dSJacob Faibussowitsch PetscCall(DMPlexCheckSkeleton(*dm, 0)); 2589566063dSJacob Faibussowitsch PetscCall(DMPlexCheckGeometry(*dm)); 259c4762a1bSJed Brown } 2609566063dSJacob Faibussowitsch PetscCall(PetscLogEventEnd(user->createMeshEvent,0,0,0,0)); 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 2699566063dSJacob Faibussowitsch PetscCall(PetscInitialize(&argc, &argv, NULL, help)); 2709566063dSJacob Faibussowitsch PetscCall(ProcessOptions(PETSC_COMM_WORLD, &user)); 2719566063dSJacob Faibussowitsch PetscCall(CreateMesh(PETSC_COMM_WORLD, &user, &dm)); 2729566063dSJacob Faibussowitsch PetscCall(DMDestroy(&dm)); 2739566063dSJacob Faibussowitsch PetscCall(PetscFinalize()); 274b122ec5aSJacob Faibussowitsch return 0; 275c4762a1bSJed Brown } 276c4762a1bSJed Brown 277c4762a1bSJed Brown /*TEST 278c4762a1bSJed Brown 279c4762a1bSJed Brown # CTetGen 0-1 280c4762a1bSJed Brown test: 281c4762a1bSJed Brown suffix: 0 282c4762a1bSJed Brown requires: ctetgen 28330602db0SMatthew 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 284c4762a1bSJed Brown test: 285c4762a1bSJed Brown suffix: 1 286c4762a1bSJed Brown requires: ctetgen 28730602db0SMatthew 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 288c4762a1bSJed Brown 289c4762a1bSJed Brown # 2D LaTex and ASCII output 2-9 290c4762a1bSJed Brown test: 291c4762a1bSJed Brown suffix: 2 292c4762a1bSJed Brown requires: triangle 29330602db0SMatthew G. Knepley args: -dm_plex_interpolate 0 -dm_view ascii::ascii_latex 294c4762a1bSJed Brown test: 295c4762a1bSJed Brown suffix: 3 296c4762a1bSJed Brown requires: triangle 29730602db0SMatthew G. Knepley args: -ref_dm_refine 1 -dm_view ascii::ascii_info_detail 298c4762a1bSJed Brown test: 299c4762a1bSJed Brown suffix: 4 300c4762a1bSJed Brown requires: triangle 301c4762a1bSJed Brown nsize: 2 30230602db0SMatthew G. Knepley args: -dm_coord_space 0 -ref_dm_refine 1 -dist_dm_distribute -petscpartitioner_type simple -dm_view ascii::ascii_info_detail 303c4762a1bSJed Brown test: 304c4762a1bSJed Brown suffix: 5 305c4762a1bSJed Brown requires: triangle 306c4762a1bSJed Brown nsize: 2 30730602db0SMatthew G. Knepley args: -dm_coord_space 0 -ref_dm_refine 1 -dist_dm_distribute -petscpartitioner_type simple -dm_view ascii::ascii_latex 308c4762a1bSJed Brown test: 309c4762a1bSJed Brown suffix: 6 31030602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_simplex 0 -dm_view ascii::ascii_info_detail 311c4762a1bSJed Brown test: 312c4762a1bSJed Brown suffix: 7 31330602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_simplex 0 -ref_dm_refine 1 -dm_view ascii::ascii_info_detail 314c4762a1bSJed Brown test: 315c4762a1bSJed Brown suffix: 8 316c4762a1bSJed Brown nsize: 2 31730602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 1 -dist_dm_distribute -petscpartitioner_type simple -dm_view ascii::ascii_latex 318c4762a1bSJed Brown 319c4762a1bSJed Brown # 1D ASCII output 32030602db0SMatthew G. Knepley testset: 32130602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_dim 1 -dm_view ascii::ascii_info_detail -dm_plex_check_all 322c4762a1bSJed Brown test: 323c4762a1bSJed Brown suffix: 1d_0 32430602db0SMatthew G. Knepley args: 325c4762a1bSJed Brown test: 326c4762a1bSJed Brown suffix: 1d_1 32730602db0SMatthew G. Knepley args: -ref_dm_refine 2 328c4762a1bSJed Brown test: 329c4762a1bSJed Brown suffix: 1d_2 33030602db0SMatthew G. Knepley args: -dm_plex_box_faces 5 -dm_plex_box_bd periodic 331c4762a1bSJed Brown 332c4762a1bSJed Brown # Parallel refinement tests with overlap 333c4762a1bSJed Brown test: 334c4762a1bSJed Brown suffix: refine_overlap_1d 335c4762a1bSJed Brown nsize: 2 33630602db0SMatthew 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 337c4762a1bSJed Brown test: 338c4762a1bSJed Brown suffix: refine_overlap_2d 339c4762a1bSJed Brown requires: triangle 340c4762a1bSJed Brown nsize: {{2 8}separate output} 34130602db0SMatthew 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 342c4762a1bSJed Brown 343d410b0cfSMatthew G. Knepley # Parallel extrusion tests 344d410b0cfSMatthew G. Knepley test: 345d410b0cfSMatthew G. Knepley suffix: spheresurface_extruded 346d410b0cfSMatthew G. Knepley nsize : 4 347d410b0cfSMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_shape sphere -dm_extrude 3 -dist_dm_distribute -petscpartitioner_type simple \ 348d410b0cfSMatthew G. Knepley -dm_plex_check_all -dm_view ::ascii_info_detail -dm_plex_view_coord_system spherical 349d410b0cfSMatthew G. Knepley 350d410b0cfSMatthew G. Knepley test: 351d410b0cfSMatthew G. Knepley suffix: spheresurface_extruded_symmetric 352d410b0cfSMatthew G. Knepley nsize : 4 353d410b0cfSMatthew 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 \ 354d410b0cfSMatthew G. Knepley -dm_plex_check_all -dm_view ::ascii_info_detail -dm_plex_view_coord_system spherical 355d410b0cfSMatthew G. Knepley 356c4762a1bSJed Brown # Parallel simple partitioner tests 357c4762a1bSJed Brown test: 358c4762a1bSJed Brown suffix: part_simple_0 359c4762a1bSJed Brown requires: triangle 360c4762a1bSJed Brown nsize: 2 36130602db0SMatthew 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 362c4762a1bSJed Brown test: 363c4762a1bSJed Brown suffix: part_simple_1 364c4762a1bSJed Brown requires: triangle 365c4762a1bSJed Brown nsize: 8 36630602db0SMatthew 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 367c4762a1bSJed Brown 368c4762a1bSJed Brown # Parallel partitioner tests 369c4762a1bSJed Brown test: 370c4762a1bSJed Brown suffix: part_parmetis_0 371c4762a1bSJed Brown requires: parmetis 372c4762a1bSJed Brown nsize: 2 3735a107427SMatthew 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 374c4762a1bSJed Brown test: 375c4762a1bSJed Brown suffix: part_ptscotch_0 376c4762a1bSJed Brown requires: ptscotch 377c4762a1bSJed Brown nsize: 2 3785a107427SMatthew 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 379c4762a1bSJed Brown test: 380c4762a1bSJed Brown suffix: part_ptscotch_1 381c4762a1bSJed Brown requires: ptscotch 382c4762a1bSJed Brown nsize: 8 38330602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 1 -dist_dm_distribute -petscpartitioner_type ptscotch -petscpartitioner_view -petscpartitioner_ptscotch_imbalance 0.1 384c4762a1bSJed Brown 385c4762a1bSJed Brown # CGNS reader tests 10-11 (need to find smaller test meshes) 386c4762a1bSJed Brown test: 387c4762a1bSJed Brown suffix: cgns_0 388c4762a1bSJed Brown requires: cgns 38930602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/tut21.cgns -dm_view 390c4762a1bSJed Brown 391e826b96eSMatthew G. Knepley # ExodusII reader tests 392e826b96eSMatthew G. Knepley testset: 393e826b96eSMatthew G. Knepley args: -dm_plex_boundary_label boundary -dm_plex_check_all -dm_view 394e826b96eSMatthew G. Knepley test: 395e826b96eSMatthew G. Knepley suffix: exo_0 396e826b96eSMatthew G. Knepley requires: exodusii 397e826b96eSMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/sevenside-quad.exo 398e826b96eSMatthew G. Knepley test: 399e826b96eSMatthew G. Knepley suffix: exo_1 400e826b96eSMatthew G. Knepley requires: exodusii 401e826b96eSMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/sevenside-quad-15.exo 402e826b96eSMatthew G. Knepley test: 403e826b96eSMatthew G. Knepley suffix: exo_2 404e826b96eSMatthew G. Knepley requires: exodusii 405e826b96eSMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/squaremotor-30.exo 406e826b96eSMatthew G. Knepley test: 407e826b96eSMatthew G. Knepley suffix: exo_3 408e826b96eSMatthew G. Knepley requires: exodusii 409e826b96eSMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/blockcylinder-50.exo 410e826b96eSMatthew G. Knepley test: 411e826b96eSMatthew G. Knepley suffix: exo_4 412e826b96eSMatthew G. Knepley requires: exodusii 413e826b96eSMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/simpleblock-100.exo 414e826b96eSMatthew G. Knepley 415c4762a1bSJed Brown # Gmsh mesh reader tests 41630602db0SMatthew G. Knepley testset: 41730602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_view 41830602db0SMatthew G. Knepley 419c4762a1bSJed Brown test: 420c4762a1bSJed Brown suffix: gmsh_0 421c4762a1bSJed Brown requires: !single 42230602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 423c4762a1bSJed Brown test: 424c4762a1bSJed Brown suffix: gmsh_1 425c4762a1bSJed Brown requires: !single 42630602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.msh 427c4762a1bSJed Brown test: 428c4762a1bSJed Brown suffix: gmsh_2 429c4762a1bSJed Brown requires: !single 43030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_bin.msh 431c4762a1bSJed Brown test: 432c4762a1bSJed Brown suffix: gmsh_3 433c4762a1bSJed Brown nsize: 3 434c4762a1bSJed Brown requires: !single 43530602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.msh -dist_dm_distribute -petscpartitioner_type simple 436c4762a1bSJed Brown test: 437c4762a1bSJed Brown suffix: gmsh_4 438c4762a1bSJed Brown nsize: 3 439c4762a1bSJed Brown requires: !single 44030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_bin.msh -dist_dm_distribute -petscpartitioner_type simple 441c4762a1bSJed Brown test: 442c4762a1bSJed Brown suffix: gmsh_5 443c4762a1bSJed Brown requires: !single 44430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_quad.msh 445c4762a1bSJed Brown # TODO: it seems the mesh is not a valid gmsh (inverted cell) 446c4762a1bSJed Brown test: 447c4762a1bSJed Brown suffix: gmsh_6 448c4762a1bSJed Brown requires: !single 44930602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_bin_physnames.msh -final_diagnostics 0 450c4762a1bSJed Brown test: 451c4762a1bSJed Brown suffix: gmsh_7 45230602db0SMatthew 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 453c4762a1bSJed Brown test: 454c4762a1bSJed Brown suffix: gmsh_8 45530602db0SMatthew 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 456c4762a1bSJed Brown testset: 45730602db0SMatthew 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 458c4762a1bSJed Brown test: 459c4762a1bSJed Brown suffix: gmsh_9 460c4762a1bSJed Brown test: 461c4762a1bSJed Brown suffix: gmsh_9_periodic_0 462c4762a1bSJed Brown args: -dm_plex_gmsh_periodic 0 463c4762a1bSJed Brown testset: 46430602db0SMatthew 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 465c4762a1bSJed Brown test: 466c4762a1bSJed Brown suffix: gmsh_10 467c4762a1bSJed Brown test: 468c4762a1bSJed Brown suffix: gmsh_10_periodic_0 469c4762a1bSJed Brown args: -dm_plex_gmsh_periodic 0 470c4762a1bSJed Brown testset: 47130602db0SMatthew 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 472c4762a1bSJed Brown test: 473c4762a1bSJed Brown suffix: gmsh_11 474c4762a1bSJed Brown test: 475c4762a1bSJed Brown suffix: gmsh_11_periodic_0 476c4762a1bSJed Brown args: -dm_plex_gmsh_periodic 0 477c4762a1bSJed Brown # TODO: it seems the mesh is not a valid gmsh (inverted cell) 478c4762a1bSJed Brown test: 479c4762a1bSJed Brown suffix: gmsh_12 480c4762a1bSJed Brown nsize: 4 481c4762a1bSJed Brown requires: !single mpiio 48230602db0SMatthew 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 483c4762a1bSJed Brown test: 484c4762a1bSJed Brown suffix: gmsh_13_hybs2t 485c4762a1bSJed Brown nsize: 4 486012bc364SMatthew 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 487c4762a1bSJed Brown test: 488c4762a1bSJed Brown suffix: gmsh_14_ext 489c4762a1bSJed Brown requires: !single 490d410b0cfSMatthew 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 491c4762a1bSJed Brown test: 492c4762a1bSJed Brown suffix: gmsh_14_ext_s2t 493c4762a1bSJed Brown requires: !single 494d410b0cfSMatthew 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 495c4762a1bSJed Brown test: 496c4762a1bSJed Brown suffix: gmsh_15_hyb3d 49730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_tetwedge.msh -dm_view -dm_plex_check_all 498c4762a1bSJed Brown test: 499c4762a1bSJed Brown suffix: gmsh_15_hyb3d_vtk 50030602db0SMatthew 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 501c4762a1bSJed Brown test: 502c4762a1bSJed Brown suffix: gmsh_15_hyb3d_s2t 503012bc364SMatthew 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 504c4762a1bSJed Brown test: 505c4762a1bSJed Brown suffix: gmsh_16_spheresurface 506c4762a1bSJed Brown nsize : 4 50730602db0SMatthew 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 508c4762a1bSJed Brown test: 509c4762a1bSJed Brown suffix: gmsh_16_spheresurface_s2t 510c4762a1bSJed Brown nsize : 4 511012bc364SMatthew 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 512c4762a1bSJed Brown test: 513c4762a1bSJed Brown suffix: gmsh_16_spheresurface_extruded 514c4762a1bSJed Brown nsize : 4 515d410b0cfSMatthew 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 516c4762a1bSJed Brown test: 517c4762a1bSJed Brown suffix: gmsh_16_spheresurface_extruded_s2t 518c4762a1bSJed Brown nsize : 4 519d410b0cfSMatthew 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 520c4762a1bSJed Brown test: 521c4762a1bSJed Brown suffix: gmsh_17_hyb3d_interp_ascii 52230602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_hexwedge.msh -dm_view -dm_plex_check_all 523c4762a1bSJed Brown test: 524c4762a1bSJed Brown suffix: exodus_17_hyb3d_interp_ascii 525c4762a1bSJed Brown requires: exodusii 52630602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_hexwedge.exo -dm_view -dm_plex_check_all 527c4762a1bSJed Brown 528c4762a1bSJed Brown # Legacy Gmsh v22/v40 ascii/binary reader tests 529c4762a1bSJed Brown testset: 530c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_legacy.out 53130602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_view ::ascii_info_detail -dm_plex_check_all 532c4762a1bSJed Brown test: 533c4762a1bSJed Brown suffix: gmsh_3d_ascii_v22 53430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii.msh2 535c4762a1bSJed Brown test: 536c4762a1bSJed Brown suffix: gmsh_3d_ascii_v40 53730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii.msh4 538c4762a1bSJed Brown test: 539c4762a1bSJed Brown suffix: gmsh_3d_binary_v22 54030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary.msh2 541c4762a1bSJed Brown test: 542c4762a1bSJed Brown suffix: gmsh_3d_binary_v40 543c4762a1bSJed Brown requires: long64 54430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary.msh4 545c4762a1bSJed Brown 546c4762a1bSJed Brown # Gmsh v41 ascii/binary reader tests 547c4762a1bSJed Brown testset: # 32bit mesh, sequential 54881a1af93SMatthew G. Knepley args: -dm_coord_space 0 -dm_view ::ascii_info_detail -dm_plex_check_all -dm_plex_gmsh_mark_vertices 549c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_32.out 550c4762a1bSJed Brown test: 551c4762a1bSJed Brown suffix: gmsh_3d_ascii_v41_32 55230602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii-32.msh 553c4762a1bSJed Brown test: 554c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_32 55530602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-32.msh 556c4762a1bSJed Brown test: 557c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_32_mpiio 558dfd57a17SPierre Jolivet requires: defined(PETSC_HAVE_MPIIO) 55930602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-32.msh -viewer_binary_mpiio 5608cd392daSMatthew G. Knepley test: 5618cd392daSMatthew G. Knepley suffix: gmsh_quad_8node 5628cd392daSMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-qua-8node.msh \ 56381a1af93SMatthew G. Knepley -dm_view -dm_plex_check_all -dm_plex_gmsh_mark_vertices 5648cd392daSMatthew G. Knepley test: 5658cd392daSMatthew G. Knepley suffix: gmsh_hex_20node 5668cd392daSMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-hex-20node.msh \ 56781a1af93SMatthew G. Knepley -dm_view -dm_plex_check_all -dm_plex_gmsh_mark_vertices 568c4762a1bSJed Brown testset: # 32bit mesh, parallel 56981a1af93SMatthew G. Knepley args: -dm_coord_space 0 -dist_dm_distribute -petscpartitioner_type simple -dm_view ::ascii_info_detail -dm_plex_check_all -dm_plex_gmsh_mark_vertices 570c4762a1bSJed Brown nsize: 2 571c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_32_np2.out 572c4762a1bSJed Brown test: 573c4762a1bSJed Brown suffix: gmsh_3d_ascii_v41_32_np2 57430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii-32.msh 575c4762a1bSJed Brown test: 576c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_32_np2 57730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-32.msh 578c4762a1bSJed Brown test: 579c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_32_np2_mpiio 580dfd57a17SPierre Jolivet requires: defined(PETSC_HAVE_MPIIO) 58130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-32.msh -viewer_binary_mpiio 582c4762a1bSJed Brown testset: # 64bit mesh, sequential 58381a1af93SMatthew G. Knepley args: -dm_coord_space 0 -dm_view ::ascii_info_detail -dm_plex_check_all -dm_plex_gmsh_mark_vertices 584c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_64.out 585c4762a1bSJed Brown test: 586c4762a1bSJed Brown suffix: gmsh_3d_ascii_v41_64 58730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii-64.msh 588c4762a1bSJed Brown test: 589c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_64 59030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-64.msh 591c4762a1bSJed Brown test: 592c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_64_mpiio 593dfd57a17SPierre Jolivet requires: defined(PETSC_HAVE_MPIIO) 59430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-64.msh -viewer_binary_mpiio 595c4762a1bSJed Brown testset: # 64bit mesh, parallel 59681a1af93SMatthew G. Knepley args: -dm_coord_space 0 -dist_dm_distribute -petscpartitioner_type simple -dm_view ::ascii_info_detail -dm_plex_check_all -dm_plex_gmsh_mark_vertices 597c4762a1bSJed Brown nsize: 2 598c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_64_np2.out 599c4762a1bSJed Brown test: 600c4762a1bSJed Brown suffix: gmsh_3d_ascii_v41_64_np2 60130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii-64.msh 602c4762a1bSJed Brown test: 603c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_64_np2 60430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-64.msh 605c4762a1bSJed Brown test: 606c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_64_np2_mpiio 607dfd57a17SPierre Jolivet requires: defined(PETSC_HAVE_MPIIO) 60830602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-64.msh -viewer_binary_mpiio 609c4762a1bSJed Brown 610c4762a1bSJed Brown # Fluent mesh reader tests 611c4762a1bSJed Brown # TODO: Geometry checks fail 612c4762a1bSJed Brown test: 613c4762a1bSJed Brown suffix: fluent_0 614c4762a1bSJed Brown requires: !complex 61530602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.cas -dm_view -final_diagnostics 0 616c4762a1bSJed Brown test: 617c4762a1bSJed Brown suffix: fluent_1 618c4762a1bSJed Brown nsize: 3 619c4762a1bSJed Brown requires: !complex 62030602db0SMatthew 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 621c4762a1bSJed Brown test: 622c4762a1bSJed Brown suffix: fluent_2 623c4762a1bSJed Brown requires: !complex 62430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cube_5tets_ascii.cas -dm_view -final_diagnostics 0 625c4762a1bSJed Brown test: 626c4762a1bSJed Brown suffix: fluent_3 627c4762a1bSJed Brown requires: !complex 628c4762a1bSJed Brown TODO: Fails on non-linux: fseek(), fileno() ? https://gitlab.com/petsc/petsc/merge_requests/2206#note_238166382 62930602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cube_5tets.cas -dm_view -final_diagnostics 0 630c4762a1bSJed Brown 631c4762a1bSJed Brown # Med mesh reader tests, including parallel file reads 632c4762a1bSJed Brown test: 633c4762a1bSJed Brown suffix: med_0 634c4762a1bSJed Brown requires: med 63530602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.med -dm_view 636c4762a1bSJed Brown test: 637c4762a1bSJed Brown suffix: med_1 638c4762a1bSJed Brown requires: med 639c4762a1bSJed Brown nsize: 3 64030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.med -dist_dm_distribute -petscpartitioner_type simple -dm_view 641c4762a1bSJed Brown test: 642c4762a1bSJed Brown suffix: med_2 643c4762a1bSJed Brown requires: med 64430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cylinder.med -dm_view 645c4762a1bSJed Brown test: 646c4762a1bSJed Brown suffix: med_3 647c4762a1bSJed Brown requires: med 648c4762a1bSJed Brown TODO: MED 649c4762a1bSJed Brown nsize: 3 65030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cylinder.med -dist_dm_distribute -petscpartitioner_type simple -dm_view 651c4762a1bSJed Brown 652c4762a1bSJed Brown # Test shape quality 653c4762a1bSJed Brown test: 654c4762a1bSJed Brown suffix: test_shape 655c4762a1bSJed Brown requires: ctetgen 65630602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dim 3 -dm_refine_hierarchy 3 -dm_plex_check_all -dm_plex_check_cell_shape 657c4762a1bSJed Brown 658c4762a1bSJed Brown # Test simplex to tensor conversion 659c4762a1bSJed Brown test: 660c4762a1bSJed Brown suffix: s2t2 661c4762a1bSJed Brown requires: triangle 662012bc364SMatthew 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 663c4762a1bSJed Brown 664c4762a1bSJed Brown test: 665c4762a1bSJed Brown suffix: s2t3 666c4762a1bSJed Brown requires: ctetgen 667012bc364SMatthew 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 668c4762a1bSJed Brown 66930602db0SMatthew G. Knepley # Test cylinder 67030602db0SMatthew G. Knepley testset: 67130602db0SMatthew G. Knepley args: -dm_plex_shape cylinder -dm_plex_check_all -dm_view 672c4762a1bSJed Brown test: 673c4762a1bSJed Brown suffix: cylinder 67430602db0SMatthew G. Knepley args: -ref_dm_refine 1 675c4762a1bSJed Brown test: 676c4762a1bSJed Brown suffix: cylinder_per 67761a622f3SMatthew G. Knepley args: -dm_plex_cylinder_bd periodic -ref_dm_refine 1 -ref_dm_refine_remap 0 678c4762a1bSJed Brown test: 679c4762a1bSJed Brown suffix: cylinder_wedge 68061a622f3SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_interpolate 0 -dm_plex_cell tensor_triangular_prism -dm_view vtk: 681c4762a1bSJed Brown test: 682c4762a1bSJed Brown suffix: cylinder_wedge_int 683c4762a1bSJed Brown output_file: output/ex1_cylinder_wedge.out 68461a622f3SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_cell tensor_triangular_prism -dm_view vtk: 685c4762a1bSJed Brown 686c4762a1bSJed Brown test: 687c4762a1bSJed Brown suffix: box_2d 68830602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 2 -dm_plex_check_all -dm_view 689c4762a1bSJed Brown 690c4762a1bSJed Brown test: 691c4762a1bSJed Brown suffix: box_2d_per 69230602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 2 -dm_plex_check_all -dm_view 693c4762a1bSJed Brown 694c4762a1bSJed Brown test: 695c4762a1bSJed Brown suffix: box_2d_per_unint 69630602db0SMatthew 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 697c4762a1bSJed Brown 698c4762a1bSJed Brown test: 699c4762a1bSJed Brown suffix: box_3d 70030602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dim 3 -dm_plex_simplex 0 -ref_dm_refine 3 -dm_plex_check_all -dm_view 701c4762a1bSJed Brown 702c4762a1bSJed Brown test: 703c4762a1bSJed Brown requires: triangle 704c4762a1bSJed Brown suffix: box_wedge 70561a622f3SMatthew 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 706c4762a1bSJed Brown 707c4762a1bSJed Brown testset: 708c4762a1bSJed Brown requires: triangle 709012bc364SMatthew 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 710c4762a1bSJed Brown test: 711c4762a1bSJed Brown suffix: box_wedge_s2t 712c4762a1bSJed Brown test: 713c4762a1bSJed Brown nsize: 3 71430602db0SMatthew G. Knepley args: -dist_dm_distribute -petscpartitioner_type simple 715c4762a1bSJed Brown suffix: box_wedge_s2t_parallel 716c4762a1bSJed Brown 717c4762a1bSJed Brown # Test GLVis output 71830602db0SMatthew G. Knepley testset: 71930602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_interpolate 0 720c4762a1bSJed Brown test: 721c4762a1bSJed Brown suffix: glvis_2d_tet 72230602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_periodic.msh -dm_plex_gmsh_periodic 0 -dm_view glvis: 723c4762a1bSJed Brown test: 724c4762a1bSJed Brown suffix: glvis_2d_tet_per 72530602db0SMatthew 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 726c4762a1bSJed Brown test: 727c4762a1bSJed Brown suffix: glvis_3d_tet 72830602db0SMatthew 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: 72930602db0SMatthew G. Knepley testset: 73030602db0SMatthew G. Knepley args: -dm_coord_space 0 73130602db0SMatthew G. Knepley test: 73230602db0SMatthew G. Knepley suffix: glvis_2d_tet_per_mfem 73330602db0SMatthew 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: 73430602db0SMatthew G. Knepley test: 73530602db0SMatthew G. Knepley suffix: glvis_2d_quad 73630602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -dm_plex_box_faces 3,3 -dm_view glvis: 73730602db0SMatthew G. Knepley test: 73830602db0SMatthew G. Knepley suffix: glvis_2d_quad_per 73930602db0SMatthew 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 74030602db0SMatthew G. Knepley test: 74130602db0SMatthew G. Knepley suffix: glvis_2d_quad_per_mfem 74230602db0SMatthew 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 743c4762a1bSJed Brown test: 744c4762a1bSJed Brown suffix: glvis_3d_tet_per 74530602db0SMatthew 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 746c4762a1bSJed Brown test: 747c4762a1bSJed Brown suffix: glvis_3d_tet_per_mfem 748c4762a1bSJed Brown TODO: broken 74930602db0SMatthew 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: 750c4762a1bSJed Brown test: 751c4762a1bSJed Brown suffix: glvis_3d_hex 75230602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_simplex 0 -dm_plex_box_faces 3,3,3 -dm_view glvis: 753c4762a1bSJed Brown test: 754c4762a1bSJed Brown suffix: glvis_3d_hex_per 75530602db0SMatthew 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 756c4762a1bSJed Brown test: 757c4762a1bSJed Brown suffix: glvis_3d_hex_per_mfem 75830602db0SMatthew 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 75930602db0SMatthew G. Knepley test: 76030602db0SMatthew G. Knepley suffix: glvis_2d_hyb 76130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_triquad.msh -dm_view glvis: -viewer_glvis_dm_plex_enable_boundary 76230602db0SMatthew G. Knepley test: 76330602db0SMatthew G. Knepley suffix: glvis_3d_hyb 76430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_tetwedge.msh -dm_view glvis: -viewer_glvis_dm_plex_enable_boundary 76530602db0SMatthew G. Knepley test: 76630602db0SMatthew G. Knepley suffix: glvis_3d_hyb_s2t 767012bc364SMatthew 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 768c4762a1bSJed Brown 769c4762a1bSJed Brown # Test P4EST 770c4762a1bSJed Brown testset: 771c4762a1bSJed Brown requires: p4est 77230602db0SMatthew 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 773c4762a1bSJed Brown test: 774c4762a1bSJed Brown suffix: p4est_periodic 77530602db0SMatthew 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 776c4762a1bSJed Brown test: 777c4762a1bSJed Brown suffix: p4est_periodic_3d 77830602db0SMatthew 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 779c4762a1bSJed Brown test: 780c4762a1bSJed Brown suffix: p4est_gmsh_periodic 78130602db0SMatthew 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 782c4762a1bSJed Brown test: 783c4762a1bSJed Brown suffix: p4est_gmsh_surface 78430602db0SMatthew 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 785c4762a1bSJed Brown test: 786c4762a1bSJed Brown suffix: p4est_gmsh_surface_parallel 787c4762a1bSJed Brown nsize: 2 78830602db0SMatthew 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 789c4762a1bSJed Brown test: 790c4762a1bSJed Brown suffix: p4est_hyb_2d 79130602db0SMatthew 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 792c4762a1bSJed Brown test: 793c4762a1bSJed Brown suffix: p4est_hyb_3d 79430602db0SMatthew 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 795c4762a1bSJed Brown test: 796c4762a1bSJed Brown requires: ctetgen 797c4762a1bSJed Brown suffix: p4est_s2t_bugfaces_3d 79830602db0SMatthew 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 799c4762a1bSJed Brown test: 800c4762a1bSJed Brown suffix: p4est_bug_overlapsf 801c4762a1bSJed Brown nsize: 3 80230602db0SMatthew 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 803c4762a1bSJed Brown test: 804c4762a1bSJed Brown suffix: p4est_redistribute 805c4762a1bSJed Brown nsize: 3 8065a107427SMatthew 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 807c4762a1bSJed Brown test: 808c4762a1bSJed Brown suffix: p4est_gmsh_s2t_3d 80930602db0SMatthew G. Knepley args: -conv_seq_1_dm_forest_initial_refinement 1 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 810c4762a1bSJed Brown test: 811c4762a1bSJed Brown suffix: p4est_gmsh_s2t_3d_hash 81230602db0SMatthew 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 813c4762a1bSJed Brown test: 814c4762a1bSJed Brown requires: long_runtime 815c4762a1bSJed Brown suffix: p4est_gmsh_periodic_3d 81630602db0SMatthew 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 817c4762a1bSJed Brown 818c4762a1bSJed Brown testset: 819c4762a1bSJed Brown requires: p4est 820c4762a1bSJed Brown nsize: 6 82130602db0SMatthew G. Knepley args: -dm_coord_space 0 -test_p4est_par -conv_par_2_dm_plex_check_all -conv_par_1_dm_forest_minimum_refinement 1 -conv_par_1_dm_forest_partition_overlap 0 -dist_dm_distribute 822c4762a1bSJed Brown test: 82354fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 824c4762a1bSJed Brown suffix: p4est_par_periodic 82530602db0SMatthew 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 826c4762a1bSJed Brown test: 82754fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 828c4762a1bSJed Brown suffix: p4est_par_periodic_3d 82930602db0SMatthew 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 830c4762a1bSJed Brown test: 83154fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 832c4762a1bSJed Brown suffix: p4est_par_gmsh_periodic 83330602db0SMatthew 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 834c4762a1bSJed Brown test: 835c4762a1bSJed Brown suffix: p4est_par_gmsh_surface 83630602db0SMatthew 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 837c4762a1bSJed Brown test: 838c4762a1bSJed Brown suffix: p4est_par_gmsh_s2t_3d 83930602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 1 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 840c4762a1bSJed Brown test: 84154fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 842c4762a1bSJed Brown suffix: p4est_par_gmsh_s2t_3d_hash 84330602db0SMatthew 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 844c4762a1bSJed Brown test: 845c4762a1bSJed Brown requires: long_runtime 846c4762a1bSJed Brown suffix: p4est_par_gmsh_periodic_3d 84730602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 0 -conv_par_1_dm_forest_maximum_refinement 1 -conv_par_1_dm_p4est_refine_pattern hash -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/mesh-3d-box-innersphere.msh 848c4762a1bSJed Brown 849c4762a1bSJed Brown testset: 850c4762a1bSJed Brown requires: p4est 851c4762a1bSJed Brown nsize: 6 85230602db0SMatthew 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 853c4762a1bSJed Brown test: 854c4762a1bSJed Brown suffix: p4est_par_ovl_periodic 85530602db0SMatthew 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 856c4762a1bSJed Brown #TODO Mesh cell 201 is inverted, vol = 0. (FVM Volume. Is it correct? -> Diagnostics disabled) 857c4762a1bSJed Brown test: 858c4762a1bSJed Brown suffix: p4est_par_ovl_periodic_3d 85930602db0SMatthew 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 860c4762a1bSJed Brown test: 861c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_periodic 86230602db0SMatthew 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 863c4762a1bSJed Brown test: 864c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_surface 86530602db0SMatthew 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 866c4762a1bSJed Brown test: 867c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_s2t_3d 86830602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 1 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 869c4762a1bSJed Brown test: 870c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_s2t_3d_hash 87130602db0SMatthew 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 872c4762a1bSJed Brown test: 873c4762a1bSJed Brown requires: long_runtime 874c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_periodic_3d 87530602db0SMatthew 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 876c4762a1bSJed Brown test: 877c4762a1bSJed Brown suffix: p4est_par_ovl_hyb_2d 87830602db0SMatthew 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 879c4762a1bSJed Brown test: 880c4762a1bSJed Brown suffix: p4est_par_ovl_hyb_3d 88130602db0SMatthew 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 882c4762a1bSJed Brown 883c4762a1bSJed Brown test: 884c4762a1bSJed Brown TODO: broken 885c4762a1bSJed Brown requires: p4est 886c4762a1bSJed Brown nsize: 2 887c4762a1bSJed Brown suffix: p4est_bug_labels_noovl 88830602db0SMatthew 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 889c4762a1bSJed Brown 890c4762a1bSJed Brown test: 891c4762a1bSJed Brown requires: p4est 892c4762a1bSJed Brown nsize: 2 893c4762a1bSJed Brown suffix: p4est_bug_distribute_overlap 89430602db0SMatthew 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 895c4762a1bSJed Brown args: -dm_post_overlap_view 896c4762a1bSJed Brown 897c4762a1bSJed Brown test: 898595782ffSMatthew G. Knepley suffix: ref_alfeld2d_0 899595782ffSMatthew G. Knepley requires: triangle 900012bc364SMatthew 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 901595782ffSMatthew G. Knepley test: 902595782ffSMatthew G. Knepley suffix: ref_alfeld3d_0 903595782ffSMatthew G. Knepley requires: ctetgen 904012bc364SMatthew 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 905595782ffSMatthew G. Knepley 90609c713e7SStefano Zampini # Boundary layer refiners 90709c713e7SStefano Zampini test: 90809c713e7SStefano Zampini suffix: ref_bl_1 909d410b0cfSMatthew 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 91009c713e7SStefano Zampini test: 91109c713e7SStefano Zampini suffix: ref_bl_2_tri 91209c713e7SStefano Zampini requires: triangle 9138c4475acSStefano Zampini args: -dm_coord_space 0 -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 91409c713e7SStefano Zampini test: 91509c713e7SStefano Zampini suffix: ref_bl_3_quad 916d410b0cfSMatthew 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 91709c713e7SStefano Zampini test: 91809c713e7SStefano Zampini suffix: ref_bl_spheresurface_extruded 91909c713e7SStefano Zampini nsize : 4 9208c4475acSStefano Zampini 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 -final_diagnostics -ref_dm_refine 1 -ref_dm_plex_transform_type refine_boundary_layer -ref_dm_plex_transform_bl_splits 2 92109c713e7SStefano Zampini test: 92209c713e7SStefano Zampini suffix: ref_bl_3d_hyb 92309c713e7SStefano Zampini nsize : 4 924012bc364SMatthew 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 9250e278f6aSMatthew G. Knepley 92630602db0SMatthew G. Knepley testset: 92730602db0SMatthew G. Knepley args: -dm_plex_shape sphere -dm_plex_check_all -dm_view 9280e278f6aSMatthew G. Knepley test: 9290e278f6aSMatthew G. Knepley suffix: sphere_0 93030602db0SMatthew G. Knepley args: 9310e278f6aSMatthew G. Knepley test: 9320e278f6aSMatthew G. Knepley suffix: sphere_1 93330602db0SMatthew G. Knepley args: -ref_dm_refine 2 9340e278f6aSMatthew G. Knepley test: 93568317524SMatthew G. Knepley suffix: sphere_2 93630602db0SMatthew G. Knepley args: -dm_plex_simplex 0 93768317524SMatthew G. Knepley test: 93868317524SMatthew G. Knepley suffix: sphere_3 93930602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 2 94068317524SMatthew G. Knepley 94168317524SMatthew G. Knepley test: 9420e278f6aSMatthew G. Knepley suffix: ball_0 9430e278f6aSMatthew G. Knepley requires: ctetgen 94430602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_shape ball -dm_plex_check_all -dm_view 9450e278f6aSMatthew G. Knepley 9460e278f6aSMatthew G. Knepley test: 9470e278f6aSMatthew G. Knepley suffix: ball_1 9480e278f6aSMatthew G. Knepley requires: ctetgen 94930602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_shape ball -bd_dm_refine 2 -dm_plex_check_all -dm_view 9500e278f6aSMatthew G. Knepley 9513fb88a6bSJed Brown test: 9523fb88a6bSJed Brown suffix: schwarz_p_extrude 9533fb88a6bSJed Brown args: -dm_plex_shape schwarz_p -dm_plex_tps_extent 1,1,1 -dm_plex_tps_layers 1 -dm_plex_tps_thickness .2 -dm_view 954c4762a1bSJed Brown TEST*/ 955