[petsc-users] On the usage of MatSetValuesBlocked

Matthew Knepley knepley at gmail.com
Fri Nov 4 05:51:42 CDT 2022


On Fri, Nov 4, 2022 at 4:32 AM Edoardo alinovi <edoardo.alinovi at gmail.com>
wrote:

> It is working like a charm now!
>
> Is it mandatory to use VecSetValuesBlocked to assemble the rhs? Does the
> Vec need to be of any other type than VECMPI?
>

SetValuesBlocked() is never required. You can always use the normal
versions, but you would have to supply all the indices, not just the block
indices.

  Thanks,

     Matt


> I am assembling it like this:
>                 brhs(1:3-bdim) = this%Ueqn%bC(iElement,1:3-bdim)
>                 brhs(4-bdim) = this%Peqn%bC(iElement,1)
>                 call VecSetValuesBlocked(this%rhs, 1,
> mesh%cellGlobalAddr(iElement)-1, brhs, INSERT_VALUES, ierr)
>
> But I am getting into troubles:
>
> [0]PETSC ERROR: --------------------- Error Message
> --------------------------------------------------------------
> [0]PETSC ERROR: *PetscSegBufferAlloc_Private*
> [0]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting.
> [0]PETSC ERROR: Petsc Release Version 3.18.0, Sep 30, 2022
> [0]PETSC ERROR: flubio_coupled on a gnu named alienware by edo Fri Nov  4
> 09:31:03 2022
> [0]PETSC ERROR: Configure options PETSC_ARCH=gnu FOPTFLAGS=-O3
> COPTFLAGS=-O3 CXXOPTFLAGS=-O3 -with-debugging=no -download-fblaslapack=1
> -download-superlu_dist -download-mumps -download-hypre -download-metis
> -download-parmetis -download-scalapack -download-ml -download-slepc
> -download-hpddm -download-cmake
> -with-mpi-dir=/home/edo/software/openmpi-4.1.1/build/
> [0]PETSC ERROR: #1 PetscMallocAlign() at
> /home/edo/software/petsc-3.18.0/src/sys/memory/mal.c:55
> [0]PETSC ERROR: #2 PetscSegBufferAlloc_Private() at
> /home/edo/software/petsc-3.18.0/src/sys/utils/segbuffer.c:31
> [0]PETSC ERROR: #3 PetscSegBufferGet() at
> /home/edo/software/petsc-3.18.0/src/sys/utils/segbuffer.c:94
> [1]PETSC ERROR: --------------------- Error Message
> --------------------------------------------------------------
> [1]PETSC ERROR: General MPI error
> [1]PETSC ERROR: MPI error 1 MPI_ERR_BUFFER: invalid buffer pointer
> [1]PETSC ERROR: See https://petsc.org/release/faq/ for trouble shooting.
> [1]PETSC ERROR: Petsc Release Version 3.18.0, Sep 30, 2022
> [1]PETSC ERROR: flubio_coupled on a gnu named alienware by edo Fri Nov  4
> 09:31:03 2022
> [1]PETSC ERROR: Configure options PETSC_ARCH=gnu FOPTFLAGS=-O3
> COPTFLAGS=-O3 CXXOPTFLAGS=-O3 -with-debugging=no -download-fblaslapack=1
> -download-superlu_dist -download-mumps -download-hypre -download-metis
> -download-parmetis -download-scalapack -download-ml -download-slepc
> -download-hpddm -download-cmake
> -with-mpi-dir=/home/edo/software/openmpi-4.1.1/build/
> [1]PETSC ERROR: #1 VecAssemblySend_MPI_Private() at
> /home/edo/software/petsc-3.18.0/src/vec/vec/impls/mpi/pbvec.c:133
> [1]PETSC ERROR: #2 PetscCommBuildTwoSidedFReq_Reference() at
> /home/edo/software/petsc-3.18.0/src/sys/utils/mpits.c:314
> [1]PETSC ERROR: #3 PetscCommBuildTwoSidedFReq() at
> /home/edo/software/petsc-3.18.0/src/sys/utils/mpits.c:526
> [1]PETSC ERROR: [0]PETSC ERROR: #4 VecAssemblyRecv_MPI_Private() at
> /home/edo/software/petsc-3.18.0/src/vec/vec/impls/mpi/pbvec.c:164
> [0]PETSC ERROR: #5 PetscCommBuildTwoSidedFReq_Reference() at
> /home/edo/software/petsc-3.18.0/src/sys/utils/mpits.c:320
> [0]PETSC ERROR: #6 PetscCommBuildTwoSidedFReq() at
> /home/edo/software/petsc-3.18.0/src/sys/utils/mpits.c:526
> [0]PETSC ERROR: #7 VecAssemblyBegin_MPI_BTS() at
> /home/edo/software/petsc-3.18.0/src/vec/vec/impls/mpi/pbvec.c:238
> #4 VecAssemblyBegin_MPI_BTS() at
> /home/edo/software/petsc-3.18.0/src/vec/vec/impls/mpi/pbvec.c:238
> [1]PETSC ERROR: #5 VecAssemblyBegin() at
> /home/edo/software/petsc-3.18.0/src/vec/vec/interface/vector.c:124
> [1]PETSC ERROR: #6 VecAssemblyEnd_MPI_BTS() at
> /home/edo/software/petsc-3.18.0/src/vec/vec/impls/mpi/pbvec.c:337
> [1]PETSC ERROR: #7 VecAssemblyEnd() at
> /home/edo/software/petsc-3.18.0/src/vec/vec/interface/vector.c:158
> [1]PETSC ERROR: #8 VecView() at
> /home/edo/software/petsc-3.18.0/src/vec/vec/interface/vector.c:719
> [0]PETSC ERROR: #8 VecAssemblyBegin() at
> /home/edo/software/petsc-3.18.0/src/vec/vec/interface/vector.c:124
> Vec Object: 2 MPI processes
>
>

-- 
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

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20221104/82ec93ab/attachment.html>


More information about the petsc-users mailing list