[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Invalid argument! - not a permutation!



OK...that is useful thanks.

If you don't mind just one more question...I notice that the MatLUFactorSymbolic() routine now executes with one processor but complains when I run > 2 processors. The actual error message is:

[1]PETSC ERROR: No support for this operation for this object type!
[1]PETSC ERROR: Matrix type mpiaij  symbolic LU!

Is this because the default LU factorisation routine isn't parallel...I just assumed parallel superlu would be picked up automatically (it is compiled into my PETSc build) ?

Tim.

Barry Smith wrote:
  I have added this information to the error message that gets printed.

   Barry


On Thu, 25 Oct 2007, Matthew Knepley wrote:

I think you need to tell use that the IS is a permutation:

http://www-unix.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-current/docs/manualpages/IS/ISSetPermutation.html

   Matt

On 10/25/07, Tim Stitt <timothy.stitt@xxxxxxxx> wrote:
Hi all,

Following on from some help I got a few days ago with respect to
MatLUFactorSymbolic() usage in Fortran...I think I now have all the
parts in place but keep getting the following runtime error upon execution:

[0]PETSC ERROR: --------------------- Error Message
------------------------------------
[0]PETSC ERROR: Invalid argument!
[0]PETSC ERROR: not a permutation!
...
[0]PETSC ERROR:
------------------------------------------------------------------------
[0]PETSC ERROR: ISInvertPermutation() line 183 in
src/vec/is/interface/index.c
[0]PETSC ERROR: MatLUFactorSymbolic_SeqAIJ() line 276 in
src/mat/impls/aij/seq/aijfact.c
[0]PETSC ERROR: MatLUFactorSymbolic() line 2178 in
src/mat/interface/matrix.c
[localhost.localdomain:24730] MPI_ABORT invoked on rank 0 in
communicator MPI_COMM_WORLD with errorcode 62

Here is the portion of  the offending code (I think):

  call MatAssemblyBegin(A,MAT_FINAL_ASSEMBLY,error);CHKERRQ(error)
  call MatAssemblyEnd(A,MAT_FINAL_ASSEMBLY,error);CHKERRQ(error)
  call ISCreateGeneral(PETSC_COMM_WORLD,order,columnIndices,
indexSet,error);CHKERRQ(error)
  call MatFactorInfoInitialize(info,error);CHKERRQ(error)
  call
MatLUFactorSymbolic(A,indexSet,indexSet,info,factorMat,error);CHKERRQ(error)

order - number of rows/columns in square matrix A
columnIndices - 1D array containing values 0-->order-1

All types are set correctly as far as I can tell.

Can anyone suggest why the execution falls over during the
MatLUFactorSymbolic() call?

Thanks again,

Tim.

--
Dr. Timothy Stitt <timothy_dot_stitt_at_ichec.ie>
HPC Application Consultant - ICHEC (www.ichec.ie)

Dublin Institute for Advanced Studies
5 Merrion Square - Dublin 2 - Ireland

+353-1-6621333 (tel) / +353-1-6621477 (fax)






--
Dr. Timothy Stitt <timothy_dot_stitt_at_ichec.ie>
HPC Application Consultant - ICHEC (www.ichec.ie)

Dublin Institute for Advanced Studies
5 Merrion Square - Dublin 2 - Ireland

+353-1-6621333 (tel) / +353-1-6621477 (fax)