[petsc-users] Function to convert a dense matrix holding the cell connectivity to a MPIADJ for use with MatMeshToCellGraph

Jordan Wagner j.wagner at rice.edu
Tue Dec 12 18:30:39 CST 2017


Thanks for the quick reply!

I have been reviewing DMPlex for a few weeks. It looks awesome (I like 
topology :) ); great work. I planned on implementing it in my code 
sooner or later. The problem for me, however, is that I am mainly using 
multi-section CGNS meshes in my code. This currently isn't supported in 
DMPlexCreateCGNS. Though, I guess I could just use 
DMPlexCreateFromCellList. Would that be the route you would recommend 
for creating a DMPlex with a connectivity matrix that I have extracted 
myself from the cgns file?

I've been somewhat contemplating trying to add multi-section capability 
to the DMPlexCreateCGNS function; however, I figured there was a good 
reason why this wasn't already done and assumed would take me way longer 
than you guys who are much more knowledgeable. Would this be something 
worth thinking more about?

Really appreciate it.


On 12/12/2017 03:54 PM, Matthew Knepley wrote:
> Barry wrote this, so he probably knows how to fix it.
>
> Another option is to use DMPlex for your mesh. It will give you the 
> dual if you want.
>
>   Thanks,
>
>      Matt
>
> On Tue, Dec 12, 2017 at 3:44 PM, Jordan Wagner <j.wagner at rice.edu 
> <mailto:j.wagner at rice.edu>> wrote:
>
>     Hi,
>
>     I am trying to use the function MatMeshToCellGraph. I currently
>     have a matrix that holds the cell connectivity of simplex
>     elements. So it is a numCells x 3 matrix where the row corresponds
>     to the cell number and the column is a vertex of that cell. To use
>     this function, it appears I need to get the corresponding
>     adjacency matrix.
>
>     I found the function MatConvert, which I was hoping could be the
>     function I am looking for, but I keep getting a memory error when
>     using it, which I have added at the bottom. Is this the correct
>     function to use to convert my cell connectivity matrix, or do I
>     need to loop through to get the proper offsets (i,j) needed to
>     create the adjacency matrix with MatCreateMPIAdj, as is done in
>     ex11.c?
>
>     Thanks very much for any tips.
>
>
>     [0]PETSC ERROR:
>     ------------------------------------------------------------------------
>     [0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation
>     Violation, probably memory access out of range
>     [0]PETSC ERROR: Try option -start_in_debugger or
>     -on_error_attach_debugger
>     [0]PETSC ERROR: or see
>     http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind
>     <http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind>
>     [0]PETSC ERROR: or try http://valgrind.org on GNU/linux and Apple
>     Mac OS X to find memory corruption errors
>     [0]PETSC ERROR: PetscMallocValidate: error detected at
>     PetscSignalHandlerDefault() line 145 in
>     /home/jordan/petsc/src/sys/error/signal.c
>     [0]PETSC ERROR: Memory [id=0(16)] at address 0x1b4cb80 is
>     corrupted (probably write past end of array)
>     [0]PETSC ERROR: Memory originally allocated in
>     MatConvertFrom_MPIAdj() line 444 in
>     /home/jordan/petsc/src/mat/impls/adj/mpi/mpiadj.c
>     [0]PETSC ERROR: --------------------- Error Message
>     --------------------------------------------------------------
>     [0]PETSC ERROR: Memory corruption:
>     http://www.mcs.anl.gov/petsc/documentation/installation.html#valgrind
>     <http://www.mcs.anl.gov/petsc/documentation/installation.html#valgrind>
>     [0]PETSC ERROR:
>     [0]PETSC ERROR: See
>     http://www.mcs.anl.gov/petsc/documentation/faq.html
>     <http://www.mcs.anl.gov/petsc/documentation/faq.html> for trouble
>     shooting.
>     [0]PETSC ERROR: Petsc Release Version 3.8.2, unknown
>     [0]PETSC ERROR: ./preprocess.exe on a arch-linux2-c-debug named
>     jordan-nest by jordan Tue Dec 12 14:40:02 2017
>     [0]PETSC ERROR: Configure options --with-shared-libraries=1
>     --download-metis --download-parmetis
>     [0]PETSC ERROR: #1 PetscMallocValidate() line 146 in
>     /home/jordan/petsc/src/sys/memory/mtr.c
>     [0]PETSC ERROR: #2 PetscSignalHandlerDefault() line 145 in
>     /home/jordan/petsc/src/sys/error/signal.c
>
>
>
>
>
>
> -- 
> 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.caam.rice.edu/%7Emk51/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20171212/614212c2/attachment.html>


More information about the petsc-users mailing list