On Tue, Jun 8, 2010 at 12:33 AM, Andreas Hauffe <span dir="ltr"><<a href="mailto:andreas.hauffe@tu-dresden.de">andreas.hauffe@tu-dresden.de</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Dear all,<br>
<br>
I want to solve a linear System with a symmetric positive definite matrix. I<br>
use the external package MUMPS as solver with the following commands<br>
<br>
call KSPCreate(PETSC_COMM_WORLD,ksp,ierr)<br>
call KSPSetOperators(ksp,mat,mat,DIFFERENT_NONZERO_PATTERN,ierr)<br>
call KSPSetType(ksp,KSPPREONLY,ierr)<br>
call KSPGetPC(ksp,prec,ierr)<br>
call PCSetType(prec,PCCHOLESKY,ierr)<br>
call PCFactorSetMatSolverPackage(prec,MAT_SOLVER_MUMPS,ierr)<br>
call KSPSetFromOptions(ksp,ierr)<br>
call KSPSolve(ksp,vec1,vec2,ierr)<br>
<br>
and give the option "-mat_mumps_sym 1" (symmetric positive definite).<br>
<br>
If I run the program with one MPI-process everything works fine. For a low<br>
number of unknows it also works for more MPI-processes. If I increase the<br>
number of unknows (>50000) and use more then one MPI-process on one or more<br>
host, I get a MUMPS error that the matrix is singular. With one MPI-process<br>
everything is still fine. The critical value for the number of unknows<br>
depends also on the use of the debug-version or non-debug-version of PETSc.<br>
If I do not use the option "-mat_mumps_sym 1" everything also works.<br></blockquote><div><br></div><div>It sounds like your matrix is not actually symmetric on multiple processes:</div><div><br></div><div><a href="http://www.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-current/docs/manualpages/Mat/MatIsSymmetric.html">http://www.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-current/docs/manualpages/Mat/MatIsSymmetric.html</a></div>
<div><br></div><div> Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Right now the finite element assembling process (MatSetValue) is only done<br>
with rank 0. So the hole matrix gets all its values only from rank 0.<br>
<br>
Could someone explain this behaviour? Where is my error?<br>
<br>
Btw, I am currently using PETSc 3.0 since I work with SLEPc as well.<br>
<br>
Thank you very much,<br>
--<br>
Andreas Hauffe<br>
<br>
----------------------------------------------------------------------------------------------------<br>
Technische Universität Dresden<br>
Institut für Luft- und Raumfahrttechnik / Institute of Aerospace Engineering<br>
Lehrstuhl für Luftfahrzeugtechnik / Chair of Aircraft Engineering<br>
<br>
D-01062 Dresden<br>
Germany<br>
<br>
phone : (++49)351 463 38496<br>
fax : (++49)351 463 37263<br>
mail : <a href="mailto:andreas.hauffe@tu-dresden.de">andreas.hauffe@tu-dresden.de</a><br>
Website : <a href="http://tu-dresden.de/mw/ilr/lft" target="_blank">http://tu-dresden.de/mw/ilr/lft</a><br>
----------------------------------------------------------------------------------------------------<br>
</blockquote></div><br><br clear="all"><br>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener<br>