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 32d0609cedSBarry 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)); 40d0609cedSBarry 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; 56c4762a1bSJed Brown 57c4762a1bSJed Brown PetscFunctionBegin; 589566063dSJacob Faibussowitsch PetscCall(PetscLogEventBegin(user->createMeshEvent,0,0,0,0)); 599566063dSJacob Faibussowitsch PetscCallMPI(MPI_Comm_rank(comm, &rank)); 609566063dSJacob Faibussowitsch PetscCallMPI(MPI_Comm_size(comm, &size)); 619566063dSJacob Faibussowitsch PetscCall(PetscLogStagePush(user->stages[STAGE_LOAD])); 629566063dSJacob Faibussowitsch PetscCall(DMCreate(comm, dm)); 639566063dSJacob Faibussowitsch PetscCall(DMSetType(*dm, DMPLEX)); 649566063dSJacob Faibussowitsch PetscCall(DMPlexDistributeSetDefault(*dm, PETSC_FALSE)); 659566063dSJacob Faibussowitsch PetscCall(DMSetFromOptions(*dm)); 669566063dSJacob Faibussowitsch PetscCall(DMLocalizeCoordinates(*dm)); 67db2bf62eSStefano Zampini 689566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm,NULL,"-init_dm_view")); 699566063dSJacob Faibussowitsch PetscCall(DMGetDimension(*dm, &dim)); 70c4762a1bSJed Brown 71c4762a1bSJed Brown if (testp4est_seq) { 72c4762a1bSJed Brown #if defined(PETSC_HAVE_P4EST) 73c4762a1bSJed Brown DM dmConv = NULL; 74c4762a1bSJed Brown 7519a9de31SVaclav Hapla PetscCall(DMPlexCheck(*dm)); 769566063dSJacob Faibussowitsch PetscCall(DMPlexSetRefinementUniform(*dm, PETSC_TRUE)); 779566063dSJacob Faibussowitsch PetscCall(DMPlexSetTransformType(*dm, DMPLEXREFINETOBOX)); 789566063dSJacob Faibussowitsch PetscCall(DMRefine(*dm, PETSC_COMM_WORLD, &dmConv)); 799566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, NULL)); 80c4762a1bSJed Brown if (dmConv) { 819566063dSJacob Faibussowitsch PetscCall(DMDestroy(dm)); 82c4762a1bSJed Brown *dm = dmConv; 83c4762a1bSJed Brown } 849566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm,NULL,"-initref_dm_view")); 8519a9de31SVaclav Hapla PetscCall(DMPlexCheck(*dm)); 86c4762a1bSJed Brown 87*8fb5bd83SMatthew G. Knepley /* For topologically periodic meshes, we first localize coordinates, 88*8fb5bd83SMatthew G. Knepley and then remove any information related with the 89*8fb5bd83SMatthew G. Knepley automatic computation of localized vertices. 90*8fb5bd83SMatthew G. Knepley This way, refinement operations and conversions to p4est 91*8fb5bd83SMatthew G. Knepley will preserve the shape of the domain in physical space */ 92*8fb5bd83SMatthew G. Knepley PetscCall(DMSetPeriodicity(*dm, NULL, NULL)); 93*8fb5bd83SMatthew G. Knepley 949566063dSJacob Faibussowitsch PetscCall(DMConvert(*dm,dim == 2 ? DMP4EST : DMP8EST,&dmConv)); 95c4762a1bSJed Brown if (dmConv) { 969566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) dmConv, "conv_seq_1_")); 979566063dSJacob Faibussowitsch PetscCall(DMSetFromOptions(dmConv)); 989566063dSJacob Faibussowitsch PetscCall(DMDestroy(dm)); 99c4762a1bSJed Brown *dm = dmConv; 100c4762a1bSJed Brown } 1019566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, "conv_seq_1_")); 1029566063dSJacob Faibussowitsch PetscCall(DMSetUp(*dm)); 1039566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_view")); 1049566063dSJacob Faibussowitsch PetscCall(DMConvert(*dm,DMPLEX,&dmConv)); 105c4762a1bSJed Brown if (dmConv) { 1069566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) dmConv, "conv_seq_2_")); 1079566063dSJacob Faibussowitsch PetscCall(DMPlexDistributeSetDefault(dmConv, PETSC_FALSE)); 1089566063dSJacob Faibussowitsch PetscCall(DMSetFromOptions(dmConv)); 1099566063dSJacob Faibussowitsch PetscCall(DMDestroy(dm)); 110c4762a1bSJed Brown *dm = dmConv; 111c4762a1bSJed Brown } 1129566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, "conv_seq_2_")); 1139566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_view")); 1149566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, NULL)); 115c4762a1bSJed Brown #else 116c4762a1bSJed Brown SETERRQ(PETSC_COMM_WORLD,PETSC_ERR_SUP,"Recompile with --download-p4est"); 117c4762a1bSJed Brown #endif 118c4762a1bSJed Brown } 119c4762a1bSJed Brown 1209566063dSJacob Faibussowitsch PetscCall(PetscLogStagePop()); 121c4762a1bSJed Brown if (!testp4est_seq) { 1229566063dSJacob Faibussowitsch PetscCall(PetscLogStagePush(user->stages[STAGE_DISTRIBUTE])); 1239566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_pre_dist_view")); 1249566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, "dist_")); 1259566063dSJacob Faibussowitsch PetscCall(DMSetFromOptions(*dm)); 1269566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, NULL)); 1279566063dSJacob Faibussowitsch PetscCall(PetscLogStagePop()); 1289566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-distributed_dm_view")); 129c4762a1bSJed Brown } 1309566063dSJacob Faibussowitsch PetscCall(PetscLogStagePush(user->stages[STAGE_REFINE])); 1319566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, "ref_")); 1329566063dSJacob Faibussowitsch PetscCall(DMSetFromOptions(*dm)); 1339566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, NULL)); 1349566063dSJacob Faibussowitsch PetscCall(PetscLogStagePop()); 135c4762a1bSJed Brown 136c4762a1bSJed Brown if (testp4est_par) { 137c4762a1bSJed Brown #if defined(PETSC_HAVE_P4EST) 138c4762a1bSJed Brown DM dmConv = NULL; 139c4762a1bSJed Brown 14019a9de31SVaclav Hapla PetscCall(DMPlexCheck(*dm)); 1419566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_tobox_view")); 1429566063dSJacob Faibussowitsch PetscCall(DMPlexSetRefinementUniform(*dm, PETSC_TRUE)); 1439566063dSJacob Faibussowitsch PetscCall(DMPlexSetTransformType(*dm, DMPLEXREFINETOBOX)); 1449566063dSJacob Faibussowitsch PetscCall(DMRefine(*dm, PETSC_COMM_WORLD, &dmConv)); 1459566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, NULL)); 146c4762a1bSJed Brown if (dmConv) { 1479566063dSJacob Faibussowitsch PetscCall(DMDestroy(dm)); 148c4762a1bSJed Brown *dm = dmConv; 149c4762a1bSJed Brown } 1509566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_tobox_view")); 15119a9de31SVaclav Hapla PetscCall(DMPlexCheck(*dm)); 152c4762a1bSJed Brown 1539566063dSJacob Faibussowitsch PetscCall(DMConvert(*dm,dim == 2 ? DMP4EST : DMP8EST,&dmConv)); 154c4762a1bSJed Brown if (dmConv) { 1559566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) dmConv, "conv_par_1_")); 1569566063dSJacob Faibussowitsch PetscCall(DMSetFromOptions(dmConv)); 1579566063dSJacob Faibussowitsch PetscCall(DMDestroy(dm)); 158c4762a1bSJed Brown *dm = dmConv; 159c4762a1bSJed Brown } 1609566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, "conv_par_1_")); 1619566063dSJacob Faibussowitsch PetscCall(DMSetUp(*dm)); 1629566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_view")); 1639566063dSJacob Faibussowitsch PetscCall(DMConvert(*dm, DMPLEX, &dmConv)); 164c4762a1bSJed Brown if (dmConv) { 1659566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) dmConv, "conv_par_2_")); 1669566063dSJacob Faibussowitsch PetscCall(DMPlexDistributeSetDefault(dmConv, PETSC_FALSE)); 1679566063dSJacob Faibussowitsch PetscCall(DMSetFromOptions(dmConv)); 1689566063dSJacob Faibussowitsch PetscCall(DMDestroy(dm)); 169c4762a1bSJed Brown *dm = dmConv; 170c4762a1bSJed Brown } 1719566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, "conv_par_2_")); 1729566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_view")); 1739566063dSJacob Faibussowitsch PetscCall(PetscObjectSetOptionsPrefix((PetscObject) *dm, NULL)); 174c4762a1bSJed Brown #else 175c4762a1bSJed Brown SETERRQ(PETSC_COMM_WORLD,PETSC_ERR_SUP,"Recompile with --download-p4est"); 176c4762a1bSJed Brown #endif 177c4762a1bSJed Brown } 178c4762a1bSJed Brown 179c4762a1bSJed Brown /* test redistribution of an already distributed mesh */ 180c4762a1bSJed Brown if (user->redistribute) { 181c4762a1bSJed Brown DM distributedMesh; 1820a19bb7dSprj- PetscSF sf; 1830a19bb7dSprj- PetscInt nranks; 184c4762a1bSJed Brown 1859566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_pre_redist_view")); 1869566063dSJacob Faibussowitsch PetscCall(DMPlexDistribute(*dm, 0, NULL, &distributedMesh)); 187c4762a1bSJed Brown if (distributedMesh) { 1889566063dSJacob Faibussowitsch PetscCall(DMGetPointSF(distributedMesh, &sf)); 1899566063dSJacob Faibussowitsch PetscCall(PetscSFSetUp(sf)); 1909566063dSJacob Faibussowitsch PetscCall(DMGetNeighbors(distributedMesh, &nranks, NULL)); 1919566063dSJacob Faibussowitsch PetscCallMPI(MPI_Allreduce(MPI_IN_PLACE, &nranks, 1, MPIU_INT, MPI_MIN, PetscObjectComm((PetscObject)*dm))); 19263a3b9bcSJacob Faibussowitsch PetscCall(PetscViewerASCIIPrintf(PETSC_VIEWER_STDOUT_(PetscObjectComm((PetscObject)*dm)), "Minimum number of neighbors: %" PetscInt_FMT "\n", nranks)); 1939566063dSJacob Faibussowitsch PetscCall(DMDestroy(dm)); 194c4762a1bSJed Brown *dm = distributedMesh; 195c4762a1bSJed Brown } 1969566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_post_redist_view")); 197c4762a1bSJed Brown } 198c4762a1bSJed Brown 199c4762a1bSJed Brown if (user->overlap) { 200c4762a1bSJed Brown DM overlapMesh = NULL; 201c4762a1bSJed Brown 202c4762a1bSJed Brown /* Add the overlap to refined mesh */ 2039566063dSJacob Faibussowitsch PetscCall(PetscLogStagePush(user->stages[STAGE_OVERLAP])); 2049566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_pre_overlap_view")); 2059566063dSJacob Faibussowitsch PetscCall(DMPlexDistributeOverlap(*dm, user->overlap, NULL, &overlapMesh)); 206c4762a1bSJed Brown if (overlapMesh) { 207c4762a1bSJed Brown PetscInt overlap; 2089566063dSJacob Faibussowitsch PetscCall(DMPlexGetOverlap(overlapMesh, &overlap)); 20963a3b9bcSJacob Faibussowitsch PetscCall(PetscViewerASCIIPrintf(PETSC_VIEWER_STDOUT_WORLD, "Overlap: %" PetscInt_FMT "\n", overlap)); 2109566063dSJacob Faibussowitsch PetscCall(DMDestroy(dm)); 211c4762a1bSJed Brown *dm = overlapMesh; 212c4762a1bSJed Brown } 2139566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_post_overlap_view")); 2149566063dSJacob Faibussowitsch PetscCall(PetscLogStagePop()); 215c4762a1bSJed Brown } 216c4762a1bSJed Brown if (user->final_ref) { 217c4762a1bSJed Brown DM refinedMesh = NULL; 218c4762a1bSJed Brown 2199566063dSJacob Faibussowitsch PetscCall(DMPlexSetRefinementUniform(*dm, PETSC_TRUE)); 2209566063dSJacob Faibussowitsch PetscCall(DMRefine(*dm, comm, &refinedMesh)); 221c4762a1bSJed Brown if (refinedMesh) { 2229566063dSJacob Faibussowitsch PetscCall(DMDestroy(dm)); 223c4762a1bSJed Brown *dm = refinedMesh; 224c4762a1bSJed Brown } 225c4762a1bSJed Brown } 226c4762a1bSJed Brown 2279566063dSJacob Faibussowitsch PetscCall(PetscObjectSetName((PetscObject) *dm, "Generated Mesh")); 2289566063dSJacob Faibussowitsch PetscCall(DMViewFromOptions(*dm, NULL, "-dm_view")); 2291baa6e33SBarry Smith if (user->final_diagnostics) PetscCall(DMPlexCheck(*dm)); 2309566063dSJacob Faibussowitsch PetscCall(PetscLogEventEnd(user->createMeshEvent,0,0,0,0)); 231c4762a1bSJed Brown PetscFunctionReturn(0); 232c4762a1bSJed Brown } 233c4762a1bSJed Brown 234c4762a1bSJed Brown int main(int argc, char **argv) 235c4762a1bSJed Brown { 23630602db0SMatthew G. Knepley DM dm; 23730602db0SMatthew G. Knepley AppCtx user; 238c4762a1bSJed Brown 2399566063dSJacob Faibussowitsch PetscCall(PetscInitialize(&argc, &argv, NULL, help)); 2409566063dSJacob Faibussowitsch PetscCall(ProcessOptions(PETSC_COMM_WORLD, &user)); 2419566063dSJacob Faibussowitsch PetscCall(CreateMesh(PETSC_COMM_WORLD, &user, &dm)); 2429566063dSJacob Faibussowitsch PetscCall(DMDestroy(&dm)); 2439566063dSJacob Faibussowitsch PetscCall(PetscFinalize()); 244b122ec5aSJacob Faibussowitsch return 0; 245c4762a1bSJed Brown } 246c4762a1bSJed Brown 247c4762a1bSJed Brown /*TEST 248c4762a1bSJed Brown 249c4762a1bSJed Brown # CTetGen 0-1 250c4762a1bSJed Brown test: 251c4762a1bSJed Brown suffix: 0 252c4762a1bSJed Brown requires: ctetgen 25330602db0SMatthew 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 254c4762a1bSJed Brown test: 255c4762a1bSJed Brown suffix: 1 256c4762a1bSJed Brown requires: ctetgen 25730602db0SMatthew 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 258c4762a1bSJed Brown 259c4762a1bSJed Brown # 2D LaTex and ASCII output 2-9 260c4762a1bSJed Brown test: 261c4762a1bSJed Brown suffix: 2 262c4762a1bSJed Brown requires: triangle 26330602db0SMatthew G. Knepley args: -dm_plex_interpolate 0 -dm_view ascii::ascii_latex 264c4762a1bSJed Brown test: 265c4762a1bSJed Brown suffix: 3 266c4762a1bSJed Brown requires: triangle 26730602db0SMatthew G. Knepley args: -ref_dm_refine 1 -dm_view ascii::ascii_info_detail 268c4762a1bSJed Brown test: 269c4762a1bSJed Brown suffix: 4 270c4762a1bSJed Brown requires: triangle 271c4762a1bSJed Brown nsize: 2 27230602db0SMatthew G. Knepley args: -dm_coord_space 0 -ref_dm_refine 1 -dist_dm_distribute -petscpartitioner_type simple -dm_view ascii::ascii_info_detail 273c4762a1bSJed Brown test: 274c4762a1bSJed Brown suffix: 5 275c4762a1bSJed Brown requires: triangle 276c4762a1bSJed Brown nsize: 2 27730602db0SMatthew G. Knepley args: -dm_coord_space 0 -ref_dm_refine 1 -dist_dm_distribute -petscpartitioner_type simple -dm_view ascii::ascii_latex 278c4762a1bSJed Brown test: 279c4762a1bSJed Brown suffix: 6 28030602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_simplex 0 -dm_view ascii::ascii_info_detail 281c4762a1bSJed Brown test: 282c4762a1bSJed Brown suffix: 7 28330602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_simplex 0 -ref_dm_refine 1 -dm_view ascii::ascii_info_detail 284c4762a1bSJed Brown test: 285c4762a1bSJed Brown suffix: 8 286c4762a1bSJed Brown nsize: 2 28730602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 1 -dist_dm_distribute -petscpartitioner_type simple -dm_view ascii::ascii_latex 288c4762a1bSJed Brown 289c4762a1bSJed Brown # 1D ASCII output 29030602db0SMatthew G. Knepley testset: 29130602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_dim 1 -dm_view ascii::ascii_info_detail -dm_plex_check_all 292c4762a1bSJed Brown test: 293c4762a1bSJed Brown suffix: 1d_0 29430602db0SMatthew G. Knepley args: 295c4762a1bSJed Brown test: 296c4762a1bSJed Brown suffix: 1d_1 29730602db0SMatthew G. Knepley args: -ref_dm_refine 2 298c4762a1bSJed Brown test: 299c4762a1bSJed Brown suffix: 1d_2 30030602db0SMatthew G. Knepley args: -dm_plex_box_faces 5 -dm_plex_box_bd periodic 301c4762a1bSJed Brown 302c4762a1bSJed Brown # Parallel refinement tests with overlap 303c4762a1bSJed Brown test: 304c4762a1bSJed Brown suffix: refine_overlap_1d 305c4762a1bSJed Brown nsize: 2 30630602db0SMatthew 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 307c4762a1bSJed Brown test: 308c4762a1bSJed Brown suffix: refine_overlap_2d 309c4762a1bSJed Brown requires: triangle 310c4762a1bSJed Brown nsize: {{2 8}separate output} 31130602db0SMatthew 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 312c4762a1bSJed Brown 313d410b0cfSMatthew G. Knepley # Parallel extrusion tests 314d410b0cfSMatthew G. Knepley test: 315d410b0cfSMatthew G. Knepley suffix: spheresurface_extruded 316d410b0cfSMatthew G. Knepley nsize : 4 317d410b0cfSMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_shape sphere -dm_extrude 3 -dist_dm_distribute -petscpartitioner_type simple \ 318d410b0cfSMatthew G. Knepley -dm_plex_check_all -dm_view ::ascii_info_detail -dm_plex_view_coord_system spherical 319d410b0cfSMatthew G. Knepley 320d410b0cfSMatthew G. Knepley test: 321d410b0cfSMatthew G. Knepley suffix: spheresurface_extruded_symmetric 322d410b0cfSMatthew G. Knepley nsize : 4 323d410b0cfSMatthew 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 \ 324d410b0cfSMatthew G. Knepley -dm_plex_check_all -dm_view ::ascii_info_detail -dm_plex_view_coord_system spherical 325d410b0cfSMatthew G. Knepley 326c4762a1bSJed Brown # Parallel simple partitioner tests 327c4762a1bSJed Brown test: 328c4762a1bSJed Brown suffix: part_simple_0 329c4762a1bSJed Brown requires: triangle 330c4762a1bSJed Brown nsize: 2 33130602db0SMatthew 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 332c4762a1bSJed Brown test: 333c4762a1bSJed Brown suffix: part_simple_1 334c4762a1bSJed Brown requires: triangle 335c4762a1bSJed Brown nsize: 8 33630602db0SMatthew 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 337c4762a1bSJed Brown 338c4762a1bSJed Brown # Parallel partitioner tests 339c4762a1bSJed Brown test: 340c4762a1bSJed Brown suffix: part_parmetis_0 341c4762a1bSJed Brown requires: parmetis 342c4762a1bSJed Brown nsize: 2 3435a107427SMatthew 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 344c4762a1bSJed Brown test: 345c4762a1bSJed Brown suffix: part_ptscotch_0 346c4762a1bSJed Brown requires: ptscotch 347c4762a1bSJed Brown nsize: 2 3485a107427SMatthew 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 349c4762a1bSJed Brown test: 350c4762a1bSJed Brown suffix: part_ptscotch_1 351c4762a1bSJed Brown requires: ptscotch 352c4762a1bSJed Brown nsize: 8 35330602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 1 -dist_dm_distribute -petscpartitioner_type ptscotch -petscpartitioner_view -petscpartitioner_ptscotch_imbalance 0.1 354c4762a1bSJed Brown 355c4762a1bSJed Brown # CGNS reader tests 10-11 (need to find smaller test meshes) 356c4762a1bSJed Brown test: 357c4762a1bSJed Brown suffix: cgns_0 358c4762a1bSJed Brown requires: cgns 35930602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/tut21.cgns -dm_view 360c4762a1bSJed Brown 361e826b96eSMatthew G. Knepley # ExodusII reader tests 362e826b96eSMatthew G. Knepley testset: 363e826b96eSMatthew G. Knepley args: -dm_plex_boundary_label boundary -dm_plex_check_all -dm_view 364e826b96eSMatthew G. Knepley test: 365e826b96eSMatthew G. Knepley suffix: exo_0 366e826b96eSMatthew G. Knepley requires: exodusii 367e826b96eSMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/sevenside-quad.exo 368e826b96eSMatthew G. Knepley test: 369e826b96eSMatthew G. Knepley suffix: exo_1 370e826b96eSMatthew G. Knepley requires: exodusii 371e826b96eSMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/sevenside-quad-15.exo 372e826b96eSMatthew G. Knepley test: 373e826b96eSMatthew G. Knepley suffix: exo_2 374e826b96eSMatthew G. Knepley requires: exodusii 375e826b96eSMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/squaremotor-30.exo 376e826b96eSMatthew G. Knepley test: 377e826b96eSMatthew G. Knepley suffix: exo_3 378e826b96eSMatthew G. Knepley requires: exodusii 379e826b96eSMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/blockcylinder-50.exo 380e826b96eSMatthew G. Knepley test: 381e826b96eSMatthew G. Knepley suffix: exo_4 382e826b96eSMatthew G. Knepley requires: exodusii 383e826b96eSMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/simpleblock-100.exo 384e826b96eSMatthew G. Knepley 385c4762a1bSJed Brown # Gmsh mesh reader tests 38630602db0SMatthew G. Knepley testset: 38730602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_view 38830602db0SMatthew G. Knepley 389c4762a1bSJed Brown test: 390c4762a1bSJed Brown suffix: gmsh_0 391c4762a1bSJed Brown requires: !single 39230602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 393c4762a1bSJed Brown test: 394c4762a1bSJed Brown suffix: gmsh_1 395c4762a1bSJed Brown requires: !single 39630602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.msh 397c4762a1bSJed Brown test: 398c4762a1bSJed Brown suffix: gmsh_2 399c4762a1bSJed Brown requires: !single 40030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_bin.msh 401c4762a1bSJed Brown test: 402c4762a1bSJed Brown suffix: gmsh_3 403c4762a1bSJed Brown nsize: 3 404c4762a1bSJed Brown requires: !single 40530602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.msh -dist_dm_distribute -petscpartitioner_type simple 406c4762a1bSJed Brown test: 407c4762a1bSJed Brown suffix: gmsh_4 408c4762a1bSJed Brown nsize: 3 409c4762a1bSJed Brown requires: !single 41030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_bin.msh -dist_dm_distribute -petscpartitioner_type simple 411c4762a1bSJed Brown test: 412c4762a1bSJed Brown suffix: gmsh_5 413c4762a1bSJed Brown requires: !single 41430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_quad.msh 415c4762a1bSJed Brown # TODO: it seems the mesh is not a valid gmsh (inverted cell) 416c4762a1bSJed Brown test: 417c4762a1bSJed Brown suffix: gmsh_6 418c4762a1bSJed Brown requires: !single 41930602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_bin_physnames.msh -final_diagnostics 0 420c4762a1bSJed Brown test: 421c4762a1bSJed Brown suffix: gmsh_7 42230602db0SMatthew 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 423c4762a1bSJed Brown test: 424c4762a1bSJed Brown suffix: gmsh_8 42530602db0SMatthew 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 426c4762a1bSJed Brown testset: 42730602db0SMatthew 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 428c4762a1bSJed Brown test: 429c4762a1bSJed Brown suffix: gmsh_9 430c4762a1bSJed Brown test: 431c4762a1bSJed Brown suffix: gmsh_9_periodic_0 432c4762a1bSJed Brown args: -dm_plex_gmsh_periodic 0 433c4762a1bSJed Brown testset: 43430602db0SMatthew 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 435c4762a1bSJed Brown test: 436c4762a1bSJed Brown suffix: gmsh_10 437c4762a1bSJed Brown test: 438c4762a1bSJed Brown suffix: gmsh_10_periodic_0 439c4762a1bSJed Brown args: -dm_plex_gmsh_periodic 0 440c4762a1bSJed Brown testset: 44130602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_periodic.msh -dm_view ::ascii_info_detail -dm_plex_check_all -ref_dm_refine 1 442c4762a1bSJed Brown test: 443c4762a1bSJed Brown suffix: gmsh_11 444c4762a1bSJed Brown test: 445c4762a1bSJed Brown suffix: gmsh_11_periodic_0 446c4762a1bSJed Brown args: -dm_plex_gmsh_periodic 0 447c4762a1bSJed Brown # TODO: it seems the mesh is not a valid gmsh (inverted cell) 448c4762a1bSJed Brown test: 449c4762a1bSJed Brown suffix: gmsh_12 450c4762a1bSJed Brown nsize: 4 451c4762a1bSJed Brown requires: !single mpiio 45230602db0SMatthew 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 453c4762a1bSJed Brown test: 454c4762a1bSJed Brown suffix: gmsh_13_hybs2t 455c4762a1bSJed Brown nsize: 4 456012bc364SMatthew 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 457c4762a1bSJed Brown test: 458c4762a1bSJed Brown suffix: gmsh_14_ext 459c4762a1bSJed Brown requires: !single 460d410b0cfSMatthew 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 461c4762a1bSJed Brown test: 462c4762a1bSJed Brown suffix: gmsh_14_ext_s2t 463c4762a1bSJed Brown requires: !single 464d410b0cfSMatthew 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 465c4762a1bSJed Brown test: 466c4762a1bSJed Brown suffix: gmsh_15_hyb3d 46730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_tetwedge.msh -dm_view -dm_plex_check_all 468c4762a1bSJed Brown test: 469c4762a1bSJed Brown suffix: gmsh_15_hyb3d_vtk 47030602db0SMatthew 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 471c4762a1bSJed Brown test: 472c4762a1bSJed Brown suffix: gmsh_15_hyb3d_s2t 473012bc364SMatthew 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 474c4762a1bSJed Brown test: 475c4762a1bSJed Brown suffix: gmsh_16_spheresurface 476c4762a1bSJed Brown nsize : 4 47730602db0SMatthew 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 478c4762a1bSJed Brown test: 479c4762a1bSJed Brown suffix: gmsh_16_spheresurface_s2t 480c4762a1bSJed Brown nsize : 4 481012bc364SMatthew 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 482c4762a1bSJed Brown test: 483c4762a1bSJed Brown suffix: gmsh_16_spheresurface_extruded 484c4762a1bSJed Brown nsize : 4 485d410b0cfSMatthew 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 486c4762a1bSJed Brown test: 487c4762a1bSJed Brown suffix: gmsh_16_spheresurface_extruded_s2t 488c4762a1bSJed Brown nsize : 4 489d410b0cfSMatthew 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 490c4762a1bSJed Brown test: 491c4762a1bSJed Brown suffix: gmsh_17_hyb3d_interp_ascii 49230602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_hexwedge.msh -dm_view -dm_plex_check_all 493c4762a1bSJed Brown test: 494c4762a1bSJed Brown suffix: exodus_17_hyb3d_interp_ascii 495c4762a1bSJed Brown requires: exodusii 49630602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_hexwedge.exo -dm_view -dm_plex_check_all 497c4762a1bSJed Brown 498c4762a1bSJed Brown # Legacy Gmsh v22/v40 ascii/binary reader tests 499c4762a1bSJed Brown testset: 500c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_legacy.out 50130602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_view ::ascii_info_detail -dm_plex_check_all 502c4762a1bSJed Brown test: 503c4762a1bSJed Brown suffix: gmsh_3d_ascii_v22 50430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii.msh2 505c4762a1bSJed Brown test: 506c4762a1bSJed Brown suffix: gmsh_3d_ascii_v40 50730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii.msh4 508c4762a1bSJed Brown test: 509c4762a1bSJed Brown suffix: gmsh_3d_binary_v22 51030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary.msh2 511c4762a1bSJed Brown test: 512c4762a1bSJed Brown suffix: gmsh_3d_binary_v40 513c4762a1bSJed Brown requires: long64 51430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary.msh4 515c4762a1bSJed Brown 516c4762a1bSJed Brown # Gmsh v41 ascii/binary reader tests 517c4762a1bSJed Brown testset: # 32bit mesh, sequential 51881a1af93SMatthew G. Knepley args: -dm_coord_space 0 -dm_view ::ascii_info_detail -dm_plex_check_all -dm_plex_gmsh_mark_vertices 519c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_32.out 520c4762a1bSJed Brown test: 521c4762a1bSJed Brown suffix: gmsh_3d_ascii_v41_32 52230602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii-32.msh 523c4762a1bSJed Brown test: 524c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_32 52530602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-32.msh 526c4762a1bSJed Brown test: 527c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_32_mpiio 528dfd57a17SPierre Jolivet requires: defined(PETSC_HAVE_MPIIO) 52930602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-32.msh -viewer_binary_mpiio 5308cd392daSMatthew G. Knepley test: 5318cd392daSMatthew G. Knepley suffix: gmsh_quad_8node 5328cd392daSMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-qua-8node.msh \ 53381a1af93SMatthew G. Knepley -dm_view -dm_plex_check_all -dm_plex_gmsh_mark_vertices 5348cd392daSMatthew G. Knepley test: 5358cd392daSMatthew G. Knepley suffix: gmsh_hex_20node 5368cd392daSMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-hex-20node.msh \ 53781a1af93SMatthew G. Knepley -dm_view -dm_plex_check_all -dm_plex_gmsh_mark_vertices 538c4762a1bSJed Brown testset: # 32bit mesh, parallel 53981a1af93SMatthew 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 540c4762a1bSJed Brown nsize: 2 541c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_32_np2.out 542c4762a1bSJed Brown test: 543c4762a1bSJed Brown suffix: gmsh_3d_ascii_v41_32_np2 54430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii-32.msh 545c4762a1bSJed Brown test: 546c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_32_np2 54730602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-32.msh 548c4762a1bSJed Brown test: 549c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_32_np2_mpiio 550dfd57a17SPierre Jolivet requires: defined(PETSC_HAVE_MPIIO) 55130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-32.msh -viewer_binary_mpiio 552c4762a1bSJed Brown testset: # 64bit mesh, sequential 55381a1af93SMatthew G. Knepley args: -dm_coord_space 0 -dm_view ::ascii_info_detail -dm_plex_check_all -dm_plex_gmsh_mark_vertices 554c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_64.out 555c4762a1bSJed Brown test: 556c4762a1bSJed Brown suffix: gmsh_3d_ascii_v41_64 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 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_mpiio 563dfd57a17SPierre 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 testset: # 64bit mesh, parallel 56681a1af93SMatthew 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 567c4762a1bSJed Brown nsize: 2 568c4762a1bSJed Brown output_file: output/ex1_gmsh_3d_64_np2.out 569c4762a1bSJed Brown test: 570c4762a1bSJed Brown suffix: gmsh_3d_ascii_v41_64_np2 57130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-ascii-64.msh 572c4762a1bSJed Brown test: 573c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_64_np2 57430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-64.msh 575c4762a1bSJed Brown test: 576c4762a1bSJed Brown suffix: gmsh_3d_binary_v41_64_np2_mpiio 577dfd57a17SPierre Jolivet requires: defined(PETSC_HAVE_MPIIO) 57830602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/gmsh-3d-binary-64.msh -viewer_binary_mpiio 579c4762a1bSJed Brown 580c4762a1bSJed Brown # Fluent mesh reader tests 581c4762a1bSJed Brown # TODO: Geometry checks fail 582c4762a1bSJed Brown test: 583c4762a1bSJed Brown suffix: fluent_0 584c4762a1bSJed Brown requires: !complex 58530602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.cas -dm_view -final_diagnostics 0 586c4762a1bSJed Brown test: 587c4762a1bSJed Brown suffix: fluent_1 588c4762a1bSJed Brown nsize: 3 589c4762a1bSJed Brown requires: !complex 59030602db0SMatthew 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 591c4762a1bSJed Brown test: 592c4762a1bSJed Brown suffix: fluent_2 593c4762a1bSJed Brown requires: !complex 59430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cube_5tets_ascii.cas -dm_view -final_diagnostics 0 595c4762a1bSJed Brown test: 596c4762a1bSJed Brown suffix: fluent_3 597c4762a1bSJed Brown requires: !complex 598c4762a1bSJed Brown TODO: Fails on non-linux: fseek(), fileno() ? https://gitlab.com/petsc/petsc/merge_requests/2206#note_238166382 59930602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cube_5tets.cas -dm_view -final_diagnostics 0 600c4762a1bSJed Brown 601c4762a1bSJed Brown # Med mesh reader tests, including parallel file reads 602c4762a1bSJed Brown test: 603c4762a1bSJed Brown suffix: med_0 604c4762a1bSJed Brown requires: med 60530602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.med -dm_view 606c4762a1bSJed Brown test: 607c4762a1bSJed Brown suffix: med_1 608c4762a1bSJed Brown requires: med 609c4762a1bSJed Brown nsize: 3 61030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square.med -dist_dm_distribute -petscpartitioner_type simple -dm_view 611c4762a1bSJed Brown test: 612c4762a1bSJed Brown suffix: med_2 613c4762a1bSJed Brown requires: med 61430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cylinder.med -dm_view 615c4762a1bSJed Brown test: 616c4762a1bSJed Brown suffix: med_3 617c4762a1bSJed Brown requires: med 618c4762a1bSJed Brown TODO: MED 619c4762a1bSJed Brown nsize: 3 62030602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/cylinder.med -dist_dm_distribute -petscpartitioner_type simple -dm_view 621c4762a1bSJed Brown 622c4762a1bSJed Brown # Test shape quality 623c4762a1bSJed Brown test: 624c4762a1bSJed Brown suffix: test_shape 625c4762a1bSJed Brown requires: ctetgen 62630602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dim 3 -dm_refine_hierarchy 3 -dm_plex_check_all -dm_plex_check_cell_shape 627c4762a1bSJed Brown 628c4762a1bSJed Brown # Test simplex to tensor conversion 629c4762a1bSJed Brown test: 630c4762a1bSJed Brown suffix: s2t2 631c4762a1bSJed Brown requires: triangle 632012bc364SMatthew 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 633c4762a1bSJed Brown 634c4762a1bSJed Brown test: 635c4762a1bSJed Brown suffix: s2t3 636c4762a1bSJed Brown requires: ctetgen 637012bc364SMatthew 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 638c4762a1bSJed Brown 63930602db0SMatthew G. Knepley # Test cylinder 64030602db0SMatthew G. Knepley testset: 64130602db0SMatthew G. Knepley args: -dm_plex_shape cylinder -dm_plex_check_all -dm_view 642c4762a1bSJed Brown test: 643c4762a1bSJed Brown suffix: cylinder 64430602db0SMatthew G. Knepley args: -ref_dm_refine 1 645c4762a1bSJed Brown test: 646c4762a1bSJed Brown suffix: cylinder_per 64761a622f3SMatthew G. Knepley args: -dm_plex_cylinder_bd periodic -ref_dm_refine 1 -ref_dm_refine_remap 0 648c4762a1bSJed Brown test: 649c4762a1bSJed Brown suffix: cylinder_wedge 65061a622f3SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_interpolate 0 -dm_plex_cell tensor_triangular_prism -dm_view vtk: 651c4762a1bSJed Brown test: 652c4762a1bSJed Brown suffix: cylinder_wedge_int 653c4762a1bSJed Brown output_file: output/ex1_cylinder_wedge.out 65461a622f3SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_cell tensor_triangular_prism -dm_view vtk: 655c4762a1bSJed Brown 656c4762a1bSJed Brown test: 657c4762a1bSJed Brown suffix: box_2d 65830602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 2 -dm_plex_check_all -dm_view 659c4762a1bSJed Brown 660c4762a1bSJed Brown test: 661c4762a1bSJed Brown suffix: box_2d_per 66230602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 2 -dm_plex_check_all -dm_view 663c4762a1bSJed Brown 664c4762a1bSJed Brown test: 665c4762a1bSJed Brown suffix: box_2d_per_unint 66630602db0SMatthew 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 667c4762a1bSJed Brown 668c4762a1bSJed Brown test: 669c4762a1bSJed Brown suffix: box_3d 67030602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dim 3 -dm_plex_simplex 0 -ref_dm_refine 3 -dm_plex_check_all -dm_view 671c4762a1bSJed Brown 672c4762a1bSJed Brown test: 673c4762a1bSJed Brown requires: triangle 674c4762a1bSJed Brown suffix: box_wedge 67561a622f3SMatthew 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 676c4762a1bSJed Brown 677c4762a1bSJed Brown testset: 678c4762a1bSJed Brown requires: triangle 679012bc364SMatthew 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 680c4762a1bSJed Brown test: 681c4762a1bSJed Brown suffix: box_wedge_s2t 682c4762a1bSJed Brown test: 683c4762a1bSJed Brown nsize: 3 68430602db0SMatthew G. Knepley args: -dist_dm_distribute -petscpartitioner_type simple 685c4762a1bSJed Brown suffix: box_wedge_s2t_parallel 686c4762a1bSJed Brown 687c4762a1bSJed Brown # Test GLVis output 68830602db0SMatthew G. Knepley testset: 68930602db0SMatthew G. Knepley args: -dm_coord_space 0 -dm_plex_interpolate 0 690c4762a1bSJed Brown test: 691c4762a1bSJed Brown suffix: glvis_2d_tet 69230602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/square_periodic.msh -dm_plex_gmsh_periodic 0 -dm_view glvis: 693c4762a1bSJed Brown test: 694c4762a1bSJed Brown suffix: glvis_2d_tet_per 69530602db0SMatthew 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 696c4762a1bSJed Brown test: 697c4762a1bSJed Brown suffix: glvis_3d_tet 69830602db0SMatthew 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: 69930602db0SMatthew G. Knepley testset: 70030602db0SMatthew G. Knepley args: -dm_coord_space 0 70130602db0SMatthew G. Knepley test: 70230602db0SMatthew G. Knepley suffix: glvis_2d_tet_per_mfem 70330602db0SMatthew 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: 70430602db0SMatthew G. Knepley test: 70530602db0SMatthew G. Knepley suffix: glvis_2d_quad 70630602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -dm_plex_box_faces 3,3 -dm_view glvis: 70730602db0SMatthew G. Knepley test: 70830602db0SMatthew G. Knepley suffix: glvis_2d_quad_per 70930602db0SMatthew 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 71030602db0SMatthew G. Knepley test: 71130602db0SMatthew G. Knepley suffix: glvis_2d_quad_per_mfem 71230602db0SMatthew 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 713c4762a1bSJed Brown test: 714c4762a1bSJed Brown suffix: glvis_3d_tet_per 71530602db0SMatthew 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 716c4762a1bSJed Brown test: 717c4762a1bSJed Brown suffix: glvis_3d_tet_per_mfem 718c4762a1bSJed Brown TODO: broken 71930602db0SMatthew 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: 720c4762a1bSJed Brown test: 721c4762a1bSJed Brown suffix: glvis_3d_hex 72230602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_simplex 0 -dm_plex_box_faces 3,3,3 -dm_view glvis: 723c4762a1bSJed Brown test: 724c4762a1bSJed Brown suffix: glvis_3d_hex_per 72530602db0SMatthew 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 726c4762a1bSJed Brown test: 727c4762a1bSJed Brown suffix: glvis_3d_hex_per_mfem 72830602db0SMatthew 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 72930602db0SMatthew G. Knepley test: 73030602db0SMatthew G. Knepley suffix: glvis_2d_hyb 73130602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_triquad.msh -dm_view glvis: -viewer_glvis_dm_plex_enable_boundary 73230602db0SMatthew G. Knepley test: 73330602db0SMatthew G. Knepley suffix: glvis_3d_hyb 73430602db0SMatthew G. Knepley args: -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_tetwedge.msh -dm_view glvis: -viewer_glvis_dm_plex_enable_boundary 73530602db0SMatthew G. Knepley test: 73630602db0SMatthew G. Knepley suffix: glvis_3d_hyb_s2t 737012bc364SMatthew 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 738c4762a1bSJed Brown 739c4762a1bSJed Brown # Test P4EST 740c4762a1bSJed Brown testset: 741c4762a1bSJed Brown requires: p4est 74230602db0SMatthew 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 743c4762a1bSJed Brown test: 744c4762a1bSJed Brown suffix: p4est_periodic 74530602db0SMatthew 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 746c4762a1bSJed Brown test: 747c4762a1bSJed Brown suffix: p4est_periodic_3d 74830602db0SMatthew 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 749c4762a1bSJed Brown test: 750c4762a1bSJed Brown suffix: p4est_gmsh_periodic 75130602db0SMatthew 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 752c4762a1bSJed Brown test: 753c4762a1bSJed Brown suffix: p4est_gmsh_surface 75430602db0SMatthew 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 755c4762a1bSJed Brown test: 756c4762a1bSJed Brown suffix: p4est_gmsh_surface_parallel 757c4762a1bSJed Brown nsize: 2 75830602db0SMatthew 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 759c4762a1bSJed Brown test: 760c4762a1bSJed Brown suffix: p4est_hyb_2d 76130602db0SMatthew G. Knepley args: -conv_seq_1_dm_forest_initial_refinement 0 -conv_seq_1_dm_forest_maximum_refinement 1 -conv_seq_1_dm_p4est_refine_pattern hash -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/hybrid_triquad.msh 762c4762a1bSJed Brown test: 763c4762a1bSJed Brown suffix: p4est_hyb_3d 76430602db0SMatthew 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 765c4762a1bSJed Brown test: 766c4762a1bSJed Brown requires: ctetgen 767c4762a1bSJed Brown suffix: p4est_s2t_bugfaces_3d 76830602db0SMatthew 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 769c4762a1bSJed Brown test: 770c4762a1bSJed Brown suffix: p4est_bug_overlapsf 771c4762a1bSJed Brown nsize: 3 77230602db0SMatthew 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 773c4762a1bSJed Brown test: 774c4762a1bSJed Brown suffix: p4est_redistribute 775c4762a1bSJed Brown nsize: 3 7765a107427SMatthew 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 777c4762a1bSJed Brown test: 778c4762a1bSJed Brown suffix: p4est_gmsh_s2t_3d 77930602db0SMatthew G. Knepley args: -conv_seq_1_dm_forest_initial_refinement 1 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 780c4762a1bSJed Brown test: 781c4762a1bSJed Brown suffix: p4est_gmsh_s2t_3d_hash 78230602db0SMatthew 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 783c4762a1bSJed Brown test: 784c4762a1bSJed Brown requires: long_runtime 785c4762a1bSJed Brown suffix: p4est_gmsh_periodic_3d 78630602db0SMatthew 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 787c4762a1bSJed Brown 788c4762a1bSJed Brown testset: 789c4762a1bSJed Brown requires: p4est 790c4762a1bSJed Brown nsize: 6 79130602db0SMatthew 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 792c4762a1bSJed Brown test: 79354fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 794c4762a1bSJed Brown suffix: p4est_par_periodic 79530602db0SMatthew 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 796c4762a1bSJed Brown test: 79754fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 798c4762a1bSJed Brown suffix: p4est_par_periodic_3d 79930602db0SMatthew 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 800c4762a1bSJed Brown test: 80154fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 802c4762a1bSJed Brown suffix: p4est_par_gmsh_periodic 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/square_periodic.msh 804c4762a1bSJed Brown test: 805c4762a1bSJed Brown suffix: p4est_par_gmsh_surface 80630602db0SMatthew 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 807c4762a1bSJed Brown test: 808c4762a1bSJed Brown suffix: p4est_par_gmsh_s2t_3d 80930602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 1 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 810c4762a1bSJed Brown test: 81154fcfd0cSMatthew G. Knepley TODO: interface cones do not conform 812c4762a1bSJed Brown suffix: p4est_par_gmsh_s2t_3d_hash 81330602db0SMatthew 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 814c4762a1bSJed Brown test: 815c4762a1bSJed Brown requires: long_runtime 816c4762a1bSJed Brown suffix: p4est_par_gmsh_periodic_3d 81730602db0SMatthew 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 818c4762a1bSJed Brown 819c4762a1bSJed Brown testset: 820c4762a1bSJed Brown requires: p4est 821c4762a1bSJed Brown nsize: 6 82230602db0SMatthew 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 823c4762a1bSJed Brown test: 824c4762a1bSJed Brown suffix: p4est_par_ovl_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 #TODO Mesh cell 201 is inverted, vol = 0. (FVM Volume. Is it correct? -> Diagnostics disabled) 827c4762a1bSJed Brown test: 828c4762a1bSJed Brown suffix: p4est_par_ovl_periodic_3d 82930602db0SMatthew 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 830c4762a1bSJed Brown test: 831c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_periodic 83230602db0SMatthew 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 833c4762a1bSJed Brown test: 834c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_surface 83530602db0SMatthew 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 836c4762a1bSJed Brown test: 837c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_s2t_3d 83830602db0SMatthew G. Knepley args: -conv_par_1_dm_forest_initial_refinement 1 -dm_plex_filename ${wPETSC_DIR}/share/petsc/datafiles/meshes/doublet-tet.msh 839c4762a1bSJed Brown test: 840c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_s2t_3d_hash 84130602db0SMatthew 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 842c4762a1bSJed Brown test: 843c4762a1bSJed Brown requires: long_runtime 844c4762a1bSJed Brown suffix: p4est_par_ovl_gmsh_periodic_3d 84530602db0SMatthew 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 846c4762a1bSJed Brown test: 847c4762a1bSJed Brown suffix: p4est_par_ovl_hyb_2d 84830602db0SMatthew 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 849c4762a1bSJed Brown test: 850c4762a1bSJed Brown suffix: p4est_par_ovl_hyb_3d 85130602db0SMatthew 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 852c4762a1bSJed Brown 853c4762a1bSJed Brown test: 854c4762a1bSJed Brown TODO: broken 855c4762a1bSJed Brown requires: p4est 856c4762a1bSJed Brown nsize: 2 857c4762a1bSJed Brown suffix: p4est_bug_labels_noovl 85830602db0SMatthew 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 859c4762a1bSJed Brown 860c4762a1bSJed Brown test: 861c4762a1bSJed Brown requires: p4est 862c4762a1bSJed Brown nsize: 2 863c4762a1bSJed Brown suffix: p4est_bug_distribute_overlap 86430602db0SMatthew 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 865c4762a1bSJed Brown args: -dm_post_overlap_view 866c4762a1bSJed Brown 867c4762a1bSJed Brown test: 868595782ffSMatthew G. Knepley suffix: ref_alfeld2d_0 869595782ffSMatthew G. Knepley requires: triangle 870012bc364SMatthew 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 871595782ffSMatthew G. Knepley test: 872595782ffSMatthew G. Knepley suffix: ref_alfeld3d_0 873595782ffSMatthew G. Knepley requires: ctetgen 874012bc364SMatthew 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 875595782ffSMatthew G. Knepley 87609c713e7SStefano Zampini # Boundary layer refiners 87709c713e7SStefano Zampini test: 87809c713e7SStefano Zampini suffix: ref_bl_1 879d410b0cfSMatthew 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 88009c713e7SStefano Zampini test: 88109c713e7SStefano Zampini suffix: ref_bl_2_tri 88209c713e7SStefano Zampini requires: triangle 8838c4475acSStefano 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 88409c713e7SStefano Zampini test: 88509c713e7SStefano Zampini suffix: ref_bl_3_quad 886d410b0cfSMatthew 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 88709c713e7SStefano Zampini test: 88809c713e7SStefano Zampini suffix: ref_bl_spheresurface_extruded 88909c713e7SStefano Zampini nsize : 4 8908c4475acSStefano 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 89109c713e7SStefano Zampini test: 89209c713e7SStefano Zampini suffix: ref_bl_3d_hyb 89309c713e7SStefano Zampini nsize : 4 894012bc364SMatthew 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 8950e278f6aSMatthew G. Knepley 89630602db0SMatthew G. Knepley testset: 89730602db0SMatthew G. Knepley args: -dm_plex_shape sphere -dm_plex_check_all -dm_view 8980e278f6aSMatthew G. Knepley test: 8990e278f6aSMatthew G. Knepley suffix: sphere_0 90030602db0SMatthew G. Knepley args: 9010e278f6aSMatthew G. Knepley test: 9020e278f6aSMatthew G. Knepley suffix: sphere_1 90330602db0SMatthew G. Knepley args: -ref_dm_refine 2 9040e278f6aSMatthew G. Knepley test: 90568317524SMatthew G. Knepley suffix: sphere_2 90630602db0SMatthew G. Knepley args: -dm_plex_simplex 0 90768317524SMatthew G. Knepley test: 90868317524SMatthew G. Knepley suffix: sphere_3 90930602db0SMatthew G. Knepley args: -dm_plex_simplex 0 -ref_dm_refine 2 91068317524SMatthew G. Knepley 91168317524SMatthew G. Knepley test: 9120e278f6aSMatthew G. Knepley suffix: ball_0 9130e278f6aSMatthew G. Knepley requires: ctetgen 91430602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_shape ball -dm_plex_check_all -dm_view 9150e278f6aSMatthew G. Knepley 9160e278f6aSMatthew G. Knepley test: 9170e278f6aSMatthew G. Knepley suffix: ball_1 9180e278f6aSMatthew G. Knepley requires: ctetgen 91930602db0SMatthew G. Knepley args: -dm_plex_dim 3 -dm_plex_shape ball -bd_dm_refine 2 -dm_plex_check_all -dm_view 9200e278f6aSMatthew G. Knepley 9213fb88a6bSJed Brown test: 9223fb88a6bSJed Brown suffix: schwarz_p_extrude 9233fb88a6bSJed 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 924c4762a1bSJed Brown TEST*/ 925