Ok, now it works. Thanks for the quick fix, Barry. Christian
> Sorry, there was an error in the case when the preconditioner was >rebuilt with the same nonzero pattern, an internal matrix was >mistakenly freed early. > > Drop the attached src/ksp/ps/impls/redistribute.c and run make in >that directory and it should run correctly. > > Barry > >On Jan 31, 2010, at 7:10 AM, Christian May wrote: > >> Thanks, Matt. The preconditioner is now available, but when I invoke >> it with >> >> -ksp_type preonly -pc_type redistribute -redistribute_ksp_type cg - >> redistribute_pc_type bjacobi -redistribute_sub_pc_type icc >> >> I get the following error: >> >> [0]PETSC ERROR: --------------------- Error Message >> ------------------------------------ >> [0]PETSC ERROR: Invalid argument! >> [0]PETSC ERROR: Wrong type of object: Parameter # 5! >> [0]PETSC ERROR: >> ------------------------------------------------------------------------ >> [0]PETSC ERROR: Petsc Development HG revision: >> cec5db6729c23bbdb9cc80092ac1dc4ccc7e9069 HG Date: Fri Jan 29 >> 22:04:34 2010 -0600 >> [0]PETSC ERROR: See docs/changes/index.html for recent updates. >> [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting. >> [0]PETSC ERROR: See docs/index.html for manual pages. >> [0]PETSC ERROR: >> ------------------------------------------------------------------------ >> [0]PETSC ERROR: ./SPsolver2D-petsc on a linux-gnu named a6256.hpc- >> net.ethz.ch by cmay Sun Jan 31 11:10:52 2010 >> [0]PETSC ERROR: Libraries linked from /cluster/work/phys/cmay/petsc/ >> lib >> [0]PETSC ERROR: Configure run at Sat Jan 30 11:48:43 2010 >> [0]PETSC ERROR: Configure options --prefix=/cluster/work/phys/cmay/ >> petsc/ --with-c++-support --with-precision=double --with-sha >> red=0 --download-superlu_dist=1 --with-superlu_dist --with-parmetis- >> lib="[/cluster/work/phys/cmay/petsc/petsc-3.0.0-p3/external >> packages/ParMetis-3.1.1/libparmetis.a,/cluster/work/phys/cmay/petsc/ >> petsc-3.0.0-p3/externalpackages/ParMetis-3.1.1/libmetis.a]" >> --with-parmetis-include=/cluster/work/phys/cmay/petsc/petsc-3.0.0-p3/ >> externalpackages/ParMetis-3.1.1/ --with-x=0 --with-mpi-di >> r=/cluster/apps/openmpi/1.2.7/x86_64/intel/ --with-fc=0 --download-c- >> blas-lapack=yes >> [0]PETSC ERROR: >> ------------------------------------------------------------------------ >> [0]PETSC ERROR: MatGetSubMatrix() line 6519 in src/mat/interface/ >> matrix.c >> >> >> Thanks >> Christian >> >> >>> Yes, you will need petsc-dev. Note that we will release 3.1 in just >>> a few >>> weeks. >>> >>> Thanks, >>> >>> Matt >>> >>> On Sat, Jan 30, 2010 at 4:57 AM, Christian May <cmay at phys.ethz.ch> >> wrote: >>> >>>> Hi everybody, >>>> >>>> I want to use the redistribute preconditioner to keep a matrix >> symmetric as >>>> explained in the FAQ. However, the source is not contained in my >> up-to-date >>>> installation of petsc-3.0.0-p10. Is this intended? >>>> Do I have to install the development version or how can I obtain >>>> this >>>> additional preconditioner? >>>> >>>> Thanks >>>> Christian >>>> >>>> >>> >>> >-------------- next part -------------- >A non-text attachment was scrubbed... >Name: redistribute.c >Type: application/octet-stream >Size: 14112 bytes >Desc: not available >URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20100131/f4737f64/attachment.obj>
