Direct LU solver
Amit.Itagi at seagate.com
Amit.Itagi at seagate.com
Fri Feb 29 12:22:00 CST 2008
owner-petsc-users at mcs.anl.gov wrote on 02/29/2008 10:14:20 AM:
> On Fri, Feb 29, 2008 at 8:23 AM, <Amit.Itagi at seagate.com> wrote:
> > Matt/Hong/Satish,
> >
> > My toy-problem would run with the command line options. However, the
> > in-code options were still giving a problem. I also found that I had a
> > Petsc version compiled with the debugging flag off. On recompiling
Petsc by
> > turning the debugging flag on, the in-code options worked. I am
wondering
> > about the cause for this behavior.
>
> I am sure this is a misinterpretation. The code just does not work that
way.
> Something you have not notices changed between those versions of your
code.
> When you say "giving a problem", I assume you mean the option does not
take
> effect. The most common cause is a misunderstanding of the mechanism. If
you
> call a function to set something, but subsequently call
> SetFromOptions(), it will
> be overridden by command line arguments
>
> Matt
>
Hi,
My woes continue. Based on the earlier discussions, I implemented the
matrix as
//=========================================================================
// Option 1
ierr=MatCreate(PETSC_COMM_WORLD,&A); CHKERRQ(ierr);
ierr=MatSetSizes(A,1,1,2,2); CHKERRQ(ierr);
/* Option 2
PetscInt d_nnz=1, o_nnz=1;
ierr=MatCreateMPIAIJ(PETSC_COMM_WORLD,1,1,2,2,0,&d_nnz,0,&o_nnz,&A);
CHKERRQ(ierr);
*/
/* Option 3
ierr=MatCreateMPIAIJ(PETSC_COMM_WORLD,1,1,2,2,0,PETSC_NULL,0,PETSC_NULL,&A);
CHKERRQ(ierr);
*/
ierr=MatSetType(A,MATSUPERLU_DIST); CHKERRQ(ierr);
ierr=MatSetFromOptions(A); CHKERRQ(ierr);
// (After this, I set the values and do the assembly). I then use the
direct LU solver.
//============================================================================
Note: I have a simple 2 by 2 matrix (with non-zero values in all 4 places).
If I use "option 1" (based on Satish's email), the program executes
successfully. If instead of "option 1", I use "option 2" or "option 3", I
get a crash.
If I am not mistaken, options 1 and 3 are the same. Option 2, additionally,
does a pre-allocation. Am I correct ?
Thanks
Rgds,
Amit
More information about the petsc-users
mailing list