[petsc-users] Question on non-zero pattern
Satish Balay
balay at mcs.anl.gov
Thu Mar 14 14:59:35 CDT 2013
Only if you did MatSetValues(val=0) for those extra locations - the
subsequent assembly will be efficient.
You can alway verify with -info
Satish
On Thu, 14 Mar 2013, Sanjay Govindjee wrote:
> 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
> > >
>
>
More information about the petsc-users
mailing list