[petsc-users] Matrix reuse with changing structure

Smith, Kevin R. Kevin.R.Smith at jhuapl.edu
Tue Mar 15 12:56:28 CDT 2016


Barry - Yeah, I suspected it was doing this. In my original implementation I would get allocation errors. 

Matt - Thanks, I will try this solution out. 

Thanks for your help,

  Kevin

-----Original Message-----
From: Barry Smith [mailto:bsmith at mcs.anl.gov] 
Sent: Tuesday, March 15, 2016 1:48 PM
To: Matthew Knepley
Cc: Smith, Kevin R.; petsc-users at mcs.anl.gov
Subject: Re: [petsc-users] Matrix reuse with changing structure


> On Mar 15, 2016, at 12:28 PM, Matthew Knepley <knepley at gmail.com> wrote:
> 
> On Tue, Mar 15, 2016 at 12:24 PM, Smith, Kevin R. <Kevin.R.Smith at jhuapl.edu> wrote:
> Hello,
> 
>  
> 
> Is it possible to reuse a sparse matrix and not reuse its non-zero structure?   I have a matrix whose sparse structure changes each time. I’m hoping to avoid destroying and allocating new matrices each time the structure changes.

   Sure you can just add new nonzero locations at a later time. But it won't take out any current entries even if they are zero. So effectively the nonzero structure grows over time.

   Barry

> 
> 
> Hmm, I can't find a toplevel API that does this (it would be something like MatReset()). You can get this effect using
> 
>   MatSetType(A, MATSHELL)
>   MatSetType(A, <type you had before>)
> 
> A little messy but it will work.
> 
>   Thanks,
> 
>      Matt
>  
>  
> 
> Thanks,
> 
>   Kevin
> 
> 
> 
> 
> -- 
> 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



More information about the petsc-users mailing list