[petsc-users] petsc-users Digest, Vol 27, Issue 47
Kontsantinos Kontzialis
ckontzialis at lycos.com
Wed Mar 23 20:42:09 CDT 2011
On 03/23/2011 02:48 PM, petsc-users-request at mcs.anl.gov wrote:
> Send petsc-users mailing list submissions to
> petsc-users at mcs.anl.gov
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://lists.mcs.anl.gov/mailman/listinfo/petsc-users
> or, via email, send a message with subject or body 'help' to
> petsc-users-request at mcs.anl.gov
>
> You can reach the person managing the list at
> petsc-users-owner at mcs.anl.gov
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of petsc-users digest..."
>
>
> Today's Topics:
>
> 1. Re: matrix free and preconditioner (Barry Smith)
> 2. MatCreateMPIAIJWithSplitArrays (Alejandro Marcos Arag?n)
> 3. Re: MatCreateMPIAIJWithSplitArrays (Jed Brown)
> 4. Re: VecView doesn't work properly with DA global vectors
> (??????? ???????)
> 5. AMG for PETSc (Nun ion)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 22 Mar 2011 22:29:50 -0500
> From: Barry Smith<bsmith at mcs.anl.gov>
> Subject: Re: [petsc-users] matrix free and preconditioner
> To: PETSc users list<petsc-users at mcs.anl.gov>
> Message-ID:<F61C52D2-56B1-4470-802F-F9D909D33B35 at mcs.anl.gov>
> Content-Type: text/plain; charset=us-ascii
>
>
> Call MatMFFDSetFromOptions(sys.J); after the MatCreateSNESMF().
>
> Your jacobian_matrix() HAS to call MatAssemblyBegin/End() on the first matrix passed into it (this one passed in will be sys.J) as well as whatever it does for the sys.P matrix.
>
> If this does not resolve the problem please let us know.
>
> Barry
>
>
> On Mar 22, 2011, at 9:46 PM, Kontsantinos Kontzialis wrote:
>
>> Dear all,
>>
>> I'm using a matrix free formulation of the Newton-Krylov method.
>> My code is running when I use a constant matrix as a preconditioner.
>> However, when I want to use another matrix (problem specific) I read to the
>> manual that I have to use the -snes_mf_operator option, with
>> appropriately setting
>> snessetjacobian function. I do that in my code as follows:
>> ierr = MatCreateSNESMF(sys.snes,&sys.J);
>> CHKERRQ(ierr);
>> ierr = SNESSetJacobian(sys.snes, sys.J, sys.P, jacobian_matrix,&sys);
>> CHKERRQ(ierr);
>> I have preallocated space for matrix sys.P, but when I start running I
>> get the following error:
>> [1]PETSC ERROR: --------------------- Error Message
>> ------------------------------------
>> [1]PETSC ERROR: Null argument, when expecting valid pointer!
>> [1]PETSC ERROR: Null Object: Parameter # 1!
>> [1]PETSC ERROR:
>> ------------------------------------------------------------------------
>> [1]PETSC ERROR: Petsc Release Version 3.1.0, Patch 7, Mon Dec 20
>>
>> - Ignored:
>> 14:26:37 CST 2010
>> [1]PETSC ERROR: See docs/changes/index.html for recent updates.
>> [1]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
>> [1]PETSC ERROR: See docs/index.html for manual pages.
>> [1]PETSC ERROR:
>> ------------------------------------------------------------------------
>> [1]PETSC ERROR: ./hoac_forth on a linux-gnu named localhost by
>> kontzialis Wed Mar 23 04:42:52 2011
>> [1]PETSC ERROR: Libraries linked from
>> /home/kontzialis/PETSC/petsc-3.1-p7/linux-gnu-c-debug/lib
>> [1]PETSC ERROR: Configure run at Mon Feb 21 14:55:24 2011
>> [1]PETSC ERROR: Configure options --with-debugging=1 --with-cc=mpicc
>> --with-fc=mpif90 --with-shared=1 --with-shared-libraries --wi[0]PETSC
>> ERROR: --------------------- Error Message
>> ------------------------------------
>> [0]PETSC ERROR: Null argument, when expecting valid pointer!
>> [0]PETSC ERROR: Null Object: Parameter # 1!
>> [0]PETSC ERROR:
>> ------------------------------------------------------------------------
>> [0]PETSC ERROR: Petsc Release Version 3.1.0, Patch 7, Mon Dec 20
>> 14:26:37 CST 2010
>> [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: ./hoac_forth on a linux-gnu named localhost by
>> kontzialis Wed Mar 23 04:42:52 2011
>> [0]PETSC ERROR: Libraries linked from
>> /home/kontzialis/PETSC/petsc-3.1-p7/linux-gnu-c-debug/lib
>> [0]PETSC ERROR: Configure run at Mon Feb 21 14:55:24 2011
>> [0]PETSC ERROR: Configure options --with-debugging=1 --with-cc=mpicc
>> --with-fc=mpif90 --with-shared=1 --with-shared-libraries
>> --with-large-file-io=1 --with-precision=double --with-blacs=1
>> --download-blacs=yes --download-f-blas-lapack=yes --with-plapack=1
>> --download-plapack=yes --with-scalapack=1 --download-scalapack=yes
>> --with-superlu=1 --download-superlu=yes --with-superlu_dist=1
>> --download-superlu_dist=yes --with-ml=1 --download-ml=yes
>> --with-umfpack=1 --download-umfpack=yes --with-mpi=1 --download-mpich=1
>> --with-sundials=1 --download-sundials=1 --with-parmetis=1
>> --download-parmetis=1 --with-hypre=1 --download-hypre=1
>> [1]PETSC ERROR:
>> ------------------------------------------------------------------------
>> [1]PETSC ERROR: PetscObjectGetComm() line 34 in src/sys/objects/gcomm.c
>> [1]PETSC ERROR: VecNormBegin() line 495 in src/vec/vec/utils/comb.c
>> [1]PETSC ERROR: MatMFFDCompute_WP() line 73 in src/mat/impls/mffd/wp.c
>> [1]PETSC ERROR: MatMult_MFFD() line 315 in src/mat/impls/mffd/mffd.c
>> [1]PETSC ERROR: MatMult() line 1899 in src/mat/interface/matrix.c
>> [1]PETSC ERROR: PCApplyBAorAB() line 585 in src/ksp/pc/interface/precon.c
>> [1]PETSC ERROR: Gth-large-file-io=1 --with-precision=double
>> --with-blacs=1 --download-blacs=yes --download-f-blas-lapack=yes
>> --with-plapack=1 --download-plapack=yes --with-scalapack=1
>> --download-scalapack=yes --with-superlu=1 --download-superlu=yes
>> --with-superlu_dist=1 --download-superlu_dist=yes --with-ml=1
>> --download-ml=yes --with-umfpack=1 --download-umfpack=yes --with-mpi=1
>> --download-mpich=1 --with-sundials=1 --download-sundials=1
>> --with-parmetis=1 --download-parmetis=1 --with-hypre=1 --download-hypre=1
>> [0]PETSC ERROR:
>> ------------------------------------------------------------------------
>> [0]PETSC ERROR: PetscObjectGetComm() line 34 in src/sys/objects/gcomm.c
>> [0]PETSC ERROR: VecNormBegin() line 495 in src/vec/vec/utils/comb.c
>> [0]PETSC ERROR: MatMFFDCompute_WP() line 73 in src/mat/impls/mffd/wp.c
>> [0]PETSC ERROR: MatMult_MFFD() line 315 in src/mat/impls/mffd/mffd.c
>> [0]PETSC ERROR: MatMult() line 1899 in src/mat/interface/matrix.c
>> [0]PETSC ERROR: PCApplyBAorAB() line 585 in src/ksp/pc/interface/precon.c
>> [0]PETSC ERROR: GMREScycle() line 161 in src/ksp/ksp/impls/gmres/gmres.c
>> [1]PETSC ERROR: KSPSolve_GMRES() line 241 in src/ksp/ksp/impls/gmres/gmres.c
>> [1]PETSC ERROR: KSPSolve() line 396 in src/ksp/ksp/interface/itfunc.c
>> [1]PETSC ERROR: SNES_KSPSolve() line 2944 in src/snes/interface/snes.c
>> [1]PETSC ERROR: SNESSolve_LS() line 191 in src/snes/impls/ls/ls.c
>> [1]PETSC ERROR: SNESSolve() line 2255 in src/snes/interface/snes.c
>> [1]PETSC ERROR: User provided function() line 33 in
>> "unknowndirectory/"../crank_nickolson.c
>> [1]PETSC ERROR: User provided function() line 84 in
>> "unknowndirectory/"../implicit_time.c
>> [1]PETSC ERROR: User provided function() line 1158 in
>> "unknowndirectory/"../hoac.c
>> MREScycle() line 161 in src/ksp/ksp/impls/gmres/gmres.c
>> [0]PETSC ERROR: KSPSolve_GMRES() line 241 in src/ksp/ksp/impls/gmres/gmres.c
>> [0]PETSC ERROR: KSPSolve() line 396 in src/ksp/ksp/interface/itfunc.c
>> [0]PETSC ERROR: SNES_KSPSolve() line 2944 in src/snes/interface/snes.c
>> [0]PETSC ERROR: SNESSolve_LS() line 191 in src/snes/impls/ls/ls.c
>> [0]PETSC ERROR: SNESSolve() line 2255 in src/snes/interface/snes.c
>> [0]PETSC ERROR: User provided function() line 33 in
>> "unknowndirectory/"../crank_nickolson.c
>> [0]PETSC ERROR: User provided function() line 84 in
>> "unknowndirectory/"../implicit_time.c
>> [0]PETSC ERROR: User provided function() line 1158 in
>> "unknowndirectory/"../hoac.c
>>
>> Please help.
>>
>> Costas
>>
>>
>> - Done.
>>
>>
>>
>> matrix free and preconditioner.eml
>> Subject: matrix free and preconditioner
>> From: Kontsantinos Kontzialis<ckontzialis at lycos.com>
>> Date: Wed, 23 Mar 2011 04:43:43 +0200
>> To: petsc-users-request at mcs.anl.gov
>> Dear Petsc team,
>>
>> I'm using a matrix free formulation of the Newton-Krylov method.
>> My code is running when I use a constant matrix as a preconditioner.
>> However, when I want to use another matrix (problem specific) I read to the
>> manual that I have to use the -snes_mf_operator option, with appropriately setting
>> snessetjacobian function. I do that in my code as follows:
>>
>> ierr = MatCreateSNESMF(sys.snes,&sys.J);
>> CHKERRQ(ierr);
>>
>> ierr = SNESSetJacobian(sys.snes, sys.J, sys.P, jacobian_matrix,&sys);
>> CHKERRQ(ierr);
>>
>> I have preallocated space for matrix sys.P, but when I start running I get the following error:
>>
>> [1]PETSC ERROR: --------------------- Error Message ------------------------------------
>> [1]PETSC ERROR: Null argument, when expecting valid pointer!
>> [1]PETSC ERROR: Null Object: Parameter # 1!
>> [1]PETSC ERROR: ------------------------------------------------------------------------
>> [1]PETSC ERROR: Petsc Release Version 3.1.0, Patch 7, Mon Dec 20 14:26:37 CST 2010
>> [1]PETSC ERROR: See docs/changes/index.html for recent updates.
>> [1]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
>> [1]PETSC ERROR: See docs/index.html for manual pages.
>> [1]PETSC ERROR: ------------------------------------------------------------------------
>> [1]PETSC ERROR: ./hoac_forth on a linux-gnu named localhost by kontzialis Wed Mar 23 04:42:52 2011
>> [1]PETSC ERROR: Libraries linked from /home/kontzialis/PETSC/petsc-3.1-p7/linux-gnu-c-debug/lib
>> [1]PETSC ERROR: Configure run at Mon Feb 21 14:55:24 2011
>> [1]PETSC ERROR: Configure options --with-debugging=1 --with-cc=mpicc --with-fc=mpif90 --with-shared=1 --with-shared-libraries --wi[0]PETSC ERROR: --------------------- Error Message ------------------------------------
>> [0]PETSC ERROR: Null argument, when expecting valid pointer!
>> [0]PETSC ERROR: Null Object: Parameter # 1!
>> [0]PETSC ERROR: ------------------------------------------------------------------------
>> [0]PETSC ERROR: Petsc Release Version 3.1.0, Patch 7, Mon Dec 20 14:26:37 CST 2010
>> [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: ./hoac_forth on a linux-gnu named localhost by kontzialis Wed Mar 23 04:42:52 2011
>> [0]PETSC ERROR: Libraries linked from /home/kontzialis/PETSC/petsc-3.1-p7/linux-gnu-c-debug/lib
>> [0]PETSC ERROR: Configure run at Mon Feb 21 14:55:24 2011
>> [0]PETSC ERROR: Configure options --with-debugging=1 --with-cc=mpicc --with-fc=mpif90 --with-shared=1 --with-shared-libraries --with-large-file-io=1 --with-precision=double --with-blacs=1 --download-blacs=yes --download-f-blas-lapack=yes --with-plapack=1 --download-plapack=yes --with-scalapack=1 --download-scalapack=yes --with-superlu=1 --download-superlu=yes --with-superlu_dist=1 --download-superlu_dist=yes --with-ml=1 --download-ml=yes --with-umfpack=1 --download-umfpack=yes --with-mpi=1 --download-mpich=1 --with-sundials=1 --download-sundials=1 --with-parmetis=1 --download-parmetis=1 --with-hypre=1 --download-hypre=1
>> [1]PETSC ERROR: ------------------------------------------------------------------------
>> [1]PETSC ERROR: PetscObjectGetComm() line 34 in src/sys/objects/gcomm.c
>> [1]PETSC ERROR: VecNormBegin() line 495 in src/vec/vec/utils/comb.c
>> [1]PETSC ERROR: MatMFFDCompute_WP() line 73 in src/mat/impls/mffd/wp.c
>> [1]PETSC ERROR: MatMult_MFFD() line 315 in src/mat/impls/mffd/mffd.c
>> [1]PETSC ERROR: MatMult() line 1899 in src/mat/interface/matrix.c
>> [1]PETSC ERROR: PCApplyBAorAB() line 585 in src/ksp/pc/interface/precon.c
>> [1]PETSC ERROR: Gth-large-file-io=1 --with-precision=double --with-blacs=1 --download-blacs=yes --download-f-blas-lapack=yes --with-plapack=1 --download-plapack=yes --with-scalapack=1 --download-scalapack=yes --with-superlu=1 --download-superlu=yes --with-superlu_dist=1 --download-superlu_dist=yes --with-ml=1 --download-ml=yes --with-umfpack=1 --download-umfpack=yes --with-mpi=1 --download-mpich=1 --with-sundials=1 --download-sundials=1 --with-parmetis=1 --download-parmetis=1 --with-hypre=1 --download-hypre=1
>> [0]PETSC ERROR: ------------------------------------------------------------------------
>> [0]PETSC ERROR: PetscObjectGetComm() line 34 in src/sys/objects/gcomm.c
>> [0]PETSC ERROR: VecNormBegin() line 495 in src/vec/vec/utils/comb.c
>> [0]PETSC ERROR: MatMFFDCompute_WP() line 73 in src/mat/impls/mffd/wp.c
>> [0]PETSC ERROR: MatMult_MFFD() line 315 in src/mat/impls/mffd/mffd.c
>> [0]PETSC ERROR: MatMult() line 1899 in src/mat/interface/matrix.c
>> [0]PETSC ERROR: PCApplyBAorAB() line 585 in src/ksp/pc/interface/precon.c
>> [0]PETSC ERROR: GMREScycle() line 161 in src/ksp/ksp/impls/gmres/gmres.c
>> [1]PETSC ERROR: KSPSolve_GMRES() line 241 in src/ksp/ksp/impls/gmres/gmres.c
>> [1]PETSC ERROR: KSPSolve() line 396 in src/ksp/ksp/interface/itfunc.c
>> [1]PETSC ERROR: SNES_KSPSolve() line 2944 in src/snes/interface/snes.c
>> [1]PETSC ERROR: SNESSolve_LS() line 191 in src/snes/impls/ls/ls.c
>> [1]PETSC ERROR: SNESSolve() line 2255 in src/snes/interface/snes.c
>> [1]PETSC ERROR: User provided function() line 33 in "unknowndirectory/"../crank_nickolson.c
>> [1]PETSC ERROR: User provided function() line 84 in "unknowndirectory/"../implicit_time.c
>> [1]PETSC ERROR: User provided function() line 1158 in "unknowndirectory/"../hoac.c
>> MREScycle() line 161 in src/ksp/ksp/impls/gmres/gmres.c
>> [0]PETSC ERROR: KSPSolve_GMRES() line 241 in src/ksp/ksp/impls/gmres/gmres.c
>> [0]PETSC ERROR: KSPSolve() line 396 in src/ksp/ksp/interface/itfunc.c
>> [0]PETSC ERROR: SNES_KSPSolve() line 2944 in src/snes/interface/snes.c
>> [0]PETSC ERROR: SNESSolve_LS() line 191 in src/snes/impls/ls/ls.c
>> [0]PETSC ERROR: SNESSolve() line 2255 in src/snes/interface/snes.c
>> [0]PETSC ERROR: User provided function() line 33 in "unknowndirectory/"../crank_nickolson.c
>> [0]PETSC ERROR: User provided function() line 84 in "unknowndirectory/"../implicit_time.c
>> [0]PETSC ERROR: User provided function() line 1158 in "unknowndirectory/"../hoac.c
>>
>> Please help.
>>
>> Costas
>
>
> ------------------------------
>
> Message: 2
> Date: Wed, 23 Mar 2011 10:59:11 +0100
> From: Alejandro Marcos Arag?n<alejandro.aragon at gmail.com>
> Subject: [petsc-users] MatCreateMPIAIJWithSplitArrays
> To: petsc-users at mcs.anl.gov
> Message-ID:<CD788A44-4862-4E97-9FC0-5CC4FBC937DB at gmail.com>
> Content-Type: text/plain; charset=iso-8859-1
>
> Hi PETSc users,
>
> My code uses a custom sparse matrix format that uses a hashed container for the entries of the matrix. The interface can then create a matrix in compressed row (or compressed column) storage format. That is, it can give me the three arrays needed to represent the sparse matrix in these formats. I would like to use the PETSc parallel solver, so then I thought that it would be good to try the MatCreateMPIAIJWithSplitArrays function so that I don't have to copy the values to the PETSc matrix again.
>
> Now my question to you is that I really don't get the point of having a diagonal and off-diagonal blocks of the sparse matrix. In the compressed row storage format, there is no distinction between these two blocks. Besides, I don't think there is a clear way to determine which is the boundary between these two blocks. Can someone point me how I should use this function, or if there is a better function that can take the three arrays that I have at this point?
>
> Also, since the sparse matrix in each process is the result of a finite element assembly routine, some rows are overlapped among the processes (there are several finite element nodes shared among the processes). At this point using the MatSetValues with the ADD_VALUES flag works fine, but I want to make sure that if I use the MatCreateMPIAIJWithSplitArrays (where I need to set the number of local rows) I can still get this behavior. In other words, if I sum the number of local rows in each process, I get a total number of rows that is greater than the number of global rows because of superposition.
>
> Thank you all,
>
> Alejandro M. Arag?n, Ph.D.
>
> ------------------------------
>
> Message: 3
> Date: Wed, 23 Mar 2011 12:34:36 +0100
> From: Jed Brown<jed at 59A2.org>
> Subject: Re: [petsc-users] MatCreateMPIAIJWithSplitArrays
> To: PETSc users list<petsc-users at mcs.anl.gov>
> Message-ID:
> <AANLkTi=xxnbz5e9tsEkOf2ya9L=36rTyPT3aOQtSULu_ at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> 2011/3/23 Alejandro Marcos Arag?n<alejandro.aragon at gmail.com>
>
>> My code uses a custom sparse matrix format that uses a hashed container for
>> the entries of the matrix. The interface can then create a matrix in
>> compressed row (or compressed column) storage format. That is, it can give
>> me the three arrays needed to represent the sparse matrix in these formats.
>> I would like to use the PETSc parallel solver, so then I thought that it
>> would be good to try the MatCreateMPIAIJWithSplitArrays function so that I
>> don't have to copy the values to the PETSc matrix again.
>>
> Have your hashed format generate CSR rows and insert those one row at a time
> using MatSetValues(). It will be very fast and avoid the copy of using
> MatCreateMPIAIJWithArrays.
>
>
>> Now my question to you is that I really don't get the point of having a
>> diagonal and off-diagonal blocks of the sparse matrix.
>>
> Storing the diagonal and off-diagonal part separately makes MatMult more
> tolerant to network latency and permits block Jacobi preconditioning without
> needing to copy out the local blocks.
>
>
>> In the compressed row storage format, there is no distinction between these
>> two blocks. Besides, I don't think there is a clear way to determine which
>> is the boundary between these two blocks. Can someone point me how I should
>> use this function, or if there is a better function that can take the three
>> arrays that I have at this point?
>>
>> Also, since the sparse matrix in each process is the result of a finite
>> element assembly routine, some rows are overlapped among the processes
>> (there are several finite element nodes shared among the processes). At this
>> point using the MatSetValues with the ADD_VALUES flag works fine, but I want
>> to make sure that if I use the MatCreateMPIAIJWithSplitArrays (where I need
>> to set the number of local rows) I can still get this behavior. In other
>> words, if I sum the number of local rows in each process, I get a total
>> number of rows that is greater than the number of global rows because of
>> superposition.
>>
> Just use MatSetValues(), it will take care of parallel assembly.
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:<http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20110323/ae87ba9e/attachment-0001.htm>
>
> ------------------------------
>
> Message: 4
> Date: Wed, 23 Mar 2011 15:10:18 +0300
> From: ??????? ???????<ram at ibrae.ac.ru>
> Subject: Re: [petsc-users] VecView doesn't work properly with DA
> global vectors
> To: Jed Brown<jed at 59a2.org>
> Cc: PETSc users list<petsc-users at mcs.anl.gov>
> Message-ID:
> <AANLkTimVxeog77HK2DZc2ht48onqVGamJdAJg_pziq_J at mail.gmail.com>
> Content-Type: text/plain; charset="koi8-r"
>
> Thank You, Jed! I'll follow your advice. Now im having some problems with
> using nondefault viewers, but i think i can cope with it. Thanks
>
> 2011/3/22 Jed Brown<jed at 59a2.org>
>
>> On Tue, Mar 22, 2011 at 10:41, ??????? ???????<ram at ibrae.ac.ru> wrote:
>>
>>> Thank You for you answer! Yes now I can see from the output, that VecView
>>> uses natural ordering, but its also very importaint to understand where (on
>>> which processor) elements are finaly stored. If I got it in a right way,
>>> VecView uses natural ordering and gives the WRONG information about actual
>>> distribution of memory among processors.
>>
>> The natural ordering is different from the PETSc ordering. If you want to
>> view the Vec in the order it is stored in, use
>>
>> PetscViewerPushFormat(viewer,PETSC_VIEWER_NATIVE);
>> VecView(X,viewer);
>> PetscViewerPopFormat(viewer);
>>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:<http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20110323/5591a296/attachment-0001.htm>
>
> ------------------------------
>
> Message: 5
> Date: Wed, 23 Mar 2011 07:48:45 -0500
> From: Nun ion<m.skates82 at gmail.com>
> Subject: [petsc-users] AMG for PETSc
> To: petsc-users at mcs.anl.gov
> Message-ID:
> <AANLkTi=E7xN_9+EJiwX4eeSWEDOa8rPPvC4m0V9dPg=r at mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hello all,
>
> I am interested in using AMG for PETSc, where my matrices are complex. I
> looked at the documentation for Hypre and I'm not sure that it supports
> complex arithmetic. I also looked at ML from trilinos, however the only
> work around would be to recast my problem as a real system (doubling the
> MATVEcs). Any suggestions?
>
> Thanks
>
> Mark
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:<http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20110323/f82e22d7/attachment.htm>
>
> ------------------------------
>
> _______________________________________________
> petsc-users mailing list
> petsc-users at mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/petsc-users
>
>
> End of petsc-users Digest, Vol 27, Issue 47
> *******************************************
>
Barry,
It works now. Thank you!
Costas
More information about the petsc-users
mailing list