When I pre-allocated, I preallocated sufficient on and off and off processor memory for all possible non-zero patterns. So I assume that there will not be any mallocs necessary. Or am I mis-understanding how the preallocation works?
-sanjay On 3/14/13 12:52 PM, Satish Balay wrote: > But you might have mallocs with the new nonzero structure. Its proably > more efficient to destroy/create a new mat with the new structure. > > Satish > > On Thu, 14 Mar 2013, Sanjay Govindjee wrote: > >> Found my answer, use >> >> call MatSetOption(Kmat,MAT_NEW_NONZERO_LOCATIONS,PETSC_TRUE,ierr) >> >> after the MatAssemblyEnd( ). >> >> >> On 3/14/13 11:28 AM, Sanjay Govindjee wrote: >>> Is there a mechanism for resetting a matrix's non-zero pattern? >>> >>> In particular, I have a preallocated a matrix, set the values, and >>> assembled it. >>> And used it to solve a problem. >>> >>> Now I would like to zero it, and reassemble it with a different non-zero >>> pattern. >>> Note the matrix has been preallocated so that it can accommodate both >>> non-zero >>> patterns. >>> >>> -sanjay >>
