Commits

Mark Adams  committed f5c9146 Merge

Merge branch 'next' of bitbucket.org:petsc/petsc into madams/sr1

  • Participants
  • Parent commits 2dee3dd, 8e68f79
  • Branches madams/sr1

Comments (4)

      1. Jed Brown

        Matt can do this in the other direction.

        $ git checkout --detach next
        $ git merge madams/sr1
        

        Merging 'next' into your branch just invites the same sort of confusion we had last time.

        1. Mark Adams author

          That confusion was from 1) me not really understanding (the obvious) that you can't slip all of 'next' into 'master' and 2) I did not really realize that I got 'next' from Matt. This will not get requested much less checked in. When it runs against 'master' I will create a new branch from 'master', test it, and add the one file, exXX.c, in one shot. There is no need for a finer grained history on this.

Files changed (5)

File src/dm/impls/plex/plexgeometry.c

         case 4:
           ierr = DMPlexLocatePoint_Simplex_3D_Internal(dm, point, c, &cell);CHKERRQ(ierr);
           break;
-        case 8:
+        case 6:
           ierr = DMPlexLocatePoint_General_3D_Internal(dm, point, c, &cell);CHKERRQ(ierr);
           break;
         default:

File src/dm/impls/plex/plexreorder.c

   /* Ignore globalVertexNumbers, globalCellNumbers */
   /* Remap coordinates */
   {
-    DM           cdm, cdmNew;
-    PetscSection csection, csectionNew;
-    Vec          coordinates, coordinatesNew;
-    PetscScalar *coords, *coordsNew;
-    PetscInt     pStart, pEnd, p;
+    DM              cdm, cdmNew;
+    PetscSection    csection, csectionNew;
+    Vec             coordinates, coordinatesNew;
+    PetscScalar    *coords, *coordsNew;
+    const PetscInt *pperm;
+    PetscInt        pStart, pEnd, p;
 
     ierr = DMGetCoordinateDM(dm, &cdm);CHKERRQ(ierr);
     ierr = DMGetDefaultSection(cdm, &csection);CHKERRQ(ierr);
     ierr = VecGetArray(coordinates, &coords);CHKERRQ(ierr);
     ierr = VecGetArray(coordinatesNew, &coordsNew);CHKERRQ(ierr);
     ierr = PetscSectionGetChart(csectionNew, &pStart, &pEnd);CHKERRQ(ierr);
+    ierr = ISGetIndices(perm, &pperm);CHKERRQ(ierr);
     for (p = pStart; p < pEnd; ++p) {
       PetscInt dof, off, offNew, d;
 
       ierr = PetscSectionGetDof(csectionNew, p, &dof);CHKERRQ(ierr);
       ierr = PetscSectionGetOffset(csection, p, &off);CHKERRQ(ierr);
-      ierr = PetscSectionGetOffset(csectionNew, p, &offNew);CHKERRQ(ierr);
+      ierr = PetscSectionGetOffset(csectionNew, pperm[p], &offNew);CHKERRQ(ierr);
       for (d = 0; d < dof; ++d) coordsNew[offNew+d] = coords[off+d];
     }
+    ierr = ISRestoreIndices(perm, &pperm);CHKERRQ(ierr);
     ierr = VecRestoreArray(coordinates, &coords);CHKERRQ(ierr);
     ierr = VecRestoreArray(coordinatesNew, &coordsNew);CHKERRQ(ierr);
     ierr = DMGetCoordinateDM(*pdm, &cdmNew);CHKERRQ(ierr);

File src/docs/tex/petsc.bib

   note    = {\url{http://www.jstor.org/stable/167570}},
   year    = {1961}
 }
+@misc{Top500,
+  author = {{TOP500 Supercomputer Sites}},
+  url = {http://www.top500.org},
+  year = {2013}
+}

File src/docs/tex/petscapp.bib

   publisher={Springer Netherlands},
   language={English}
 }
-@Article{KnepleyTerrel2012,
+@Article{KnepleyTerrel2013,
   author   = {Matthew G. Knepley and Andy R. Terrel},
   title    = {Finite Element Integration on {GPUs}},
   journal  = {{ACM} Transactions on Mathematical Software},
   volume   = {39},
   number   = {2},
   accepted = {17 April 2012},
-  year     = {2012},
+  year     = {2013},
   abstract = {We present a novel finite element integration method for
               low order elements on GPUs. We achieve more than 100GF
               for element integration on first order discretizations of

File src/vec/is/utils/vsectionis.c

 
   Input Parameter:
 + section - The PetscSection object
-- perm - The point permutation
+- perm - The point permutation, old point p becomes new point perm[p]
 
   Output Parameter:
 . sectionNew - The permuted PetscSection