static char help[] = "Test load second order gmsh file\n\n"; #include int main(int argc, char **argv) { char filename[256]; DM dm,cdm; PetscFE fe; PetscFE fe_old; PetscBool interpolate = PETSC_TRUE; PetscBool is_set = PETSC_FALSE; PetscReal lo[3], hi[3]; PetscInt i, dim; PetscErrorCode ierr; ierr = PetscInitialize(&argc,&argv,NULL,help);if (ierr) return ierr; ierr = PetscOptionsBegin(PETSC_COMM_WORLD,NULL,"Load gmsh file",NULL);CHKERRQ(ierr); ierr = PetscOptionsString("-filename","Gmsh file name","",filename,filename,sizeof(filename),&is_set);CHKERRQ(ierr); ierr = PetscOptionsBool("-interpolate","Interpolate the loaded mesh (default: TRUE)","",interpolate,&interpolate,NULL);CHKERRQ(ierr); ierr = PetscOptionsEnd();CHKERRQ(ierr); if (is_set) { ierr = DMPlexCreateGmshFromFile(PETSC_COMM_WORLD,filename,interpolate,&dm);CHKERRQ(ierr); ierr = DMGetDimension(dm,&dim);CHKERRQ(ierr); ierr = DMGetBoundingBox(dm,lo,hi);CHKERRQ(ierr); ierr = PetscPrintf(PETSC_COMM_SELF,"Old Bounding Box:\n");CHKERRQ(ierr); for (i=0;i