On 2/28/2012 10:04 AM, Aron Roland wrote:
Hi Bojan,
the PCILU package does not work with mpiaij matrices, same as PCICC. Basically only PCSOR works.
Auch :-( When I saw your reply, I was hoping you will say: "I've found a resolution in the meantime", but you only confirmed my fears. Cheers Bojan
You can install the hypre package then you can use the hypre solvers that also include an ILU PC names BILUT, however I did not had any success to achieve convergence, even if my SPARSKIT ILU-BCGSTAB converges very well.
Hope this helped.
Cheers
Aron
On 02/28/2012 08:47 AM, Bojan Niceno wrote:
Dear all,
Max may be correct, but I encounter the same problem as Aron. Neither PCILU nor PCICC work in parallel for me. Here is the message I get:
[0]PETSC ERROR: --------------------- Error Message ------------------------------------ [0]PETSC ERROR: No support for this operation for this object type! [0]PETSC ERROR: Matrix format mpiaij does not have a built-in PETSc ICC! [0]PETSC ERROR: ------------------------------------------------------------------------ [0]PETSC ERROR: Petsc Release Version 3.2.0, Patch 6, Wed Jan 11 09:28:45 CST 2012 [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.
Portion of the code which I use to set the solver contents follows (I am aiming at CG+ICC combination):
/* Create KPS content */ KSPCreate(PETSC_COMM_WORLD, &ksp); KSPSetType(ksp ,KSPCG);
/* Set operators */ KSPSetOperators(ksp, A, A, DIFFERENT_NONZERO_PATTERN);
/* Linear solver defaults (can be ove-ridden) */ KSPGetPC(ksp, &pc); PCSetType(pc, PCICC); KSPSetTolerances(ksp, 1.e-5, PETSC_DEFAULT, PETSC_DEFAULT, PETSC_DEFAULT);
/* Run-time options (over-rides above) */ KSPSetFromOptions(ksp);
What is going wrong here?
Kind regards,
Bojan
On 2/26/2012 6:17 PM, Matthew Knepley wrote:
On Sun, Feb 26, 2012 at 10:48 AM, Max Rudolph <[email protected] <mailto:[email protected]>> wrote:
MPIAIJ and SEQQIJ matrices are subtypes of the AIJ matrix type. Looking at that table, you should be able to use any of the PCs that supports AIJ and has an X under 'parallel'.
Max is correct. For instance, the most popular general purpose parallel solver is ASM (Additive Schwarz Method), which then has a sequential subsolver for each block, which defaults to ILU.
Matt
Max
On Sun, Feb 26, 2012 at 8:16 AM, Aron Roland <[email protected] <mailto:[email protected]>> wrote:
Dear All,
I hope somebody can help us on this or give at least some clearance.
We have just included PETSc as an solver for our sparse matrix evolving from an unstructured mesh advection scheme.
The problem is that we are using the mpiaij matrix type, since our matrix is naturally sparse. However it seems that PETSc has no PC for this, except the PCSOR, which showed to be not very effective for our problem.
All others give the error msg. of the mail subject, where XXX are the different PC tried.
The manual is a bit diffuse on this e.g.
http://www.mcs.anl.gov/petsc/documentation/linearsolvertable.html
it is claimed that certain PC's are running on aij matrices ... but these are to be defined either as seq. or parallel (mpiaij) matrices. Moreover in the above mentioned list are two columns parallel/seriel, what is the intention of parallel capability when not applicable to matrices stored within the parallel mpiaij framework.
I guess we just not understanding the concept or have some other difficulties of understanding of all this.
Any comments help is welcome
Aron
-- 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
--
--