Thanks. I am using a very old version, the petsc-3.6.1. I will try to update my code to the latest version.

Best,
Rongliang

On 08/26/2016 07:47 PM, Matthew Knepley wrote:
On Fri, Aug 26, 2016 at 5:52 AM, Rongliang Chen <rongliang.c...@gmail.com <mailto:rongliang.c...@gmail.com>> wrote:

    Hi Matt,

    I think there is a typo in the following code (line 633 and 636 in
    plexpreallocate.c).


Those are fixed in the current 'master'. Which branch are you using?

  Thanks,

     Matt

    ==================
      } else {
        /* Only loop over blocks of rows */
        for (r = rStart/bs; r < rEnd/bs; ++r) {
          const PetscInt row = r*bs;
          PetscInt       numCols, cStart, c;

          ierr = PetscSectionGetDof(sectionAdj, row,
    &numCols);CHKERRQ(ierr);
          ierr = PetscSectionGetOffset(sectionAdj, row,
    &cStart);CHKERRQ(ierr);
          for (c = cStart; c < cStart+numCols; ++c) {
            if ((cols[c] >= rStart*bs) && (cols[c] < rEnd*bs)) {
              ++dnz[r-rStart];
              if (cols[c] >= row) ++dnzu[r-rStart]; // I think
    "dnzu[r-rStart]" should be "dnzu[r-rStart/bs]", right?
            } else {
              ++onz[r-rStart];
              if (cols[c] >= row) ++onzu[r-rStart]; // I think
    "onzu[r-rStart]" should be "onzu[r-rStart/bs]" , right?
            }
          }
        }
        for (r = 0; r < (rEnd - rStart)/bs; ++r) {
          dnz[r]  /= bs;
          onz[r]  /= bs;
          dnzu[r] /= bs;
          onzu[r] /= bs;
        }
      }
    ==================

    Best,
    Rongliang

    On 08/18/2016 06:08 PM, Matthew Knepley wrote:
    On Thu, Aug 18, 2016 at 5:05 AM, Rongliang Chen
    <rongliang.c...@gmail.com <mailto:rongliang.c...@gmail.com>> wrote:

        Hi Matt,

        The log of the valgrind is attached. When I run with
        valgrind, the following error message comes up.


    The valgrind log says your code is writing over memory. Fix that
    first.

       Matt

        -------------------------
        [1]PETSC ERROR: --------------------- Error Message
        --------------------------------------------------------------
        [1]PETSC ERROR: Arguments are incompatible
        [1]PETSC ERROR: Cannot change block size 3670016 to 7
        [1]PETSC ERROR: See
        http://www.mcs.anl.gov/petsc/documentation/faq.html
        <http://www.mcs.anl.gov/petsc/documentation/faq.html> for
        trouble shooting.
        [1]PETSC ERROR: Petsc Release Version 3.6.3, Dec, 03, 2015
        [1]PETSC ERROR: ./fsi on a 64bit-debug named rlchen by rlchen
        Thu Aug 18 17:59:43 2016
        [1]PETSC ERROR: Configure options --download-blacs
        --download-scalapack --download-metis --download-parmetis
        --download-exodusii --download-netcdf --download-hdf5
        --with-mpi-dir=/home/rlchen/soft/Program/mpich2-shared
        --with-debugging=1 --download-fblaslapack --with-64-bit-indices
        [1]PETSC ERROR: #1 PetscLayoutSetBlockSize() line 424 in
        /home/rlchen/soft/petsc-3.6.3/src/vec/is/utils/pmap.c
        [1]PETSC ERROR: #2 MatSetBlockSize() line 6920 in
        /home/rlchen/soft/petsc-3.6.3/src/mat/interface/matrix.c
        [1]PETSC ERROR: #3 MatXAIJSetPreallocation() line 282 in
        
/home/rlchen/soft/3D_fluid/FSI/Spmcs-v1.5/Fluid-petsc-3.6/src/application/Fluid/gcreate.c
        ----------------------

        Best regards,
        Rongliang

        On 08/18/2016 05:52 PM, Matthew Knepley wrote:
        Run with valgrind and send the log.

          Thanks,

             Matt

        On Thu, Aug 18, 2016 at 3:59 AM, Rongliang Chen
        <rongliang.c...@gmail.com <mailto:rongliang.c...@gmail.com>>
        wrote:

            Dear All,

            I try to use the block matrix (BAIJ) for the dmplex data
            structure with the option "-dm_mat_type baij" (the block
            size is 7). The code works fine when np = 1 but the
            following error comes up when np>1. And the code also
            works fine for np>1 if I set the block size to be 1. Any
            suggestions are highly appreciated.

            ----------------------------------------------------
            [1]PETSC ERROR: PetscMallocValidate: error detected at
            VecAXPY_Seq() line 89 in
            /home/rlchen/soft/petsc-3.6.3/src/vec/vec/impls/seq/bvec1.c
            [1]PETSC ERROR: Memory at address 0x1332571 is corrupted
            [1]PETSC ERROR: Probably write past beginning or end of
            array
            [1]PETSC ERROR: Last intact block allocated in
            PetscStrallocpy() line 188 in
            /home/rlchen/soft/petsc-3.6.3/src/sys/utils/str.c
            [1]PETSC ERROR: --------------------- Error Message
            --------------------------------------------------------------
            [1]PETSC ERROR: Memory corruption:
            
http://www.mcs.anl.gov/petsc/documentation/installation.html#valgrind
            
<http://www.mcs.anl.gov/petsc/documentation/installation.html#valgrind>
            [1]PETSC ERROR:
            [1]PETSC ERROR: See
            http://www.mcs.anl.gov/petsc/documentation/faq.html
            <http://www.mcs.anl.gov/petsc/documentation/faq.html>
            for trouble shooting.
            [1]PETSC ERROR: Petsc Release Version 3.6.3, Dec, 03, 2015
            [1]PETSC ERROR: ./fsi on a 64bit-debug named rlchen by
            rlchen Thu Aug 18 16:42:34 2016
            [1]PETSC ERROR: Configure options --download-blacs
            --download-scalapack --download-metis
            --download-parmetis --download-exodusii
            --download-netcdf --download-hdf5
            --with-mpi-dir=/home/rlchen/soft/Program/mpich2-shared
            --with-debugging=1 --download-fblaslapack
            --with-64-bit-indices
            [1]PETSC ERROR: #1 PetscMallocValidate() line 136 in
            /home/rlchen/soft/petsc-3.6.3/src/sys/memory/mtr.c
            [1]PETSC ERROR: #2 VecAXPY_Seq() line 89 in
            /home/rlchen/soft/petsc-3.6.3/src/vec/vec/impls/seq/bvec1.c
            [1]PETSC ERROR: #3 VecAXPY() line 640 in
            /home/rlchen/soft/petsc-3.6.3/src/vec/vec/interface/rvector.c
            ---------------------------------------------------

            Best regards,
            Rongliang




-- What most experimenters take for granted before they begin
        their experiments is infinitely more interesting than any
        results to which their experiments lead.
        -- Norbert Wiener




-- What most experimenters take for granted before they begin their
    experiments is infinitely more interesting than any results to
    which their experiments lead.
    -- Norbert Wiener




--
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
-- Norbert Wiener

Reply via email to