<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" style="font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif">
<p>Hi Jose,</p>
<p>I don't think that my PETSc configuration doesn't have MUMPS. I configured that myself. I also got the output from this if-else code section</p>
<p><font size="2"><span style="font-size:10pt">ierr = PetscPrintf(PETSC_COMM_WORLD, "PETSC_HAVE_MUMPS\n");CHKERRQ(ierr);</span></font><br>
</p>
<p> </p>
<p>which works from inside of the if-else section.</p>
<p><br>
</p>
<p>Please take a look at the configuration info from the error output also:</p>
<p><br>
</p>
<p></p>
<div>[0]PETSC ERROR: Configure options --COPTFLAGS=-O2 -no-ipo -g -qopt-report=5 -dynamic --CXXOPTFLAGS=-O2 -no-ipo -g -qopt-report=5 -dynamic --FOPTFLAGS=-O2 -no-ipo -g -qopt-report=5 -dynamic --with-mpiexec=srun --with-cc=cc --with-clib-autodetect=0 --with-cxx=CC
 --with-cxxlib-autodetect=0 --with-debugging=0 --with-fc=ftn --with-fortranlib-autodetect=0 --with-mpiexec=srun --with-shared-libraries=0 --with-x=0 LIBS=-lstdc++ PETSC_ARCH=arch-edison-opt64-intel --download-mumps --download-ptscotch --download-scalapack --download-metis
 --download-parmetis<br>
</div>
<p></p>
<p><br>
</p>
<p><br>
</p>
<p>Thanks,</p>
<p>M Hassan<br>
</p>
<p><br>
</p>
<p><br>
</p>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Jose E. Roman <jroman@dsic.upv.es><br>
<b>Sent:</b> Sunday, July 24, 2016 1:46:28 PM<br>
<b>To:</b> Hassan Md Mahmudulla<br>
<b>Cc:</b> petsc-users@mcs.anl.gov<br>
<b>Subject:</b> Re: [petsc-users] EPSKrylovSchurSetDetectZeros() not working</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">The PETSc configuration you are using (PETSC_ARCH) does not have MUMPS. You have to add the appropiate options to PETSc's configure script.<br>
<br>
> El 24 jul 2016, a las 21:31, Hassan Md Mahmudulla <mhassan@miners.utep.edu> escribió:<br>
> <br>
> Hi Jose, <br>
> Here is the part of the code:<br>
> <br>
>   ierr = STSetType(st,STSINVERT);CHKERRQ(ierr);<br>
> <br>
>   ierr = STGetKSP(st,&ksp);CHKERRQ(ierr);<br>
>   ierr = KSPSetType(ksp,KSPPREONLY);CHKERRQ(ierr);<br>
>   ierr = KSPGetPC(ksp,&pc);CHKERRQ(ierr);<br>
>   ierr = PCSetType(pc,PCCHOLESKY);CHKERRQ(ierr);<br>
> <br>
> #if defined(PETSC_HAVE_MUMPS)<br>
> #if defined(PETSC_USE_COMPLEX)<br>
>   SETERRQ(PETSC_COMM_WORLD,PETSC_ERR_SUP,"Spectrum slicing with MUMPS is not available for complex scalars");<br>
> #endif<br>
>   ierr = PetscPrintf(PETSC_COMM_WORLD, "PETSC_HAVE_MUMPS\n");CHKERRQ(ierr);<br>
>   ierr = EPSKrylovSchurSetDetectZeros(eps,PETSC_TRUE);CHKERRQ(ierr);  /* enforce zero detection */<br>
>   ierr = PCFactorSetMatSolverPackage(pc,MATSOLVERMUMPS);CHKERRQ(ierr);<br>
>   /*<br>
>      Add several MUMPS options (currently there is no better way of setting this in program):<br>
>      '-mat_mumps_icntl_13 1': turn off ScaLAPACK for matrix inertia<br>
>      '-mat_mumps_icntl_24 1': detect null pivots in factorization (for the case that a shift is equal to an eigenvalue)<br>
>      '-mat_mumps_cntl_3 <tol>': a tolerance used for null pivot detection (must be larger than machine epsilon)<br>
> <br>
>      Note: depending on the interval, it may be necessary also to increase the workspace:<br>
>      '-mat_mumps_icntl_14 <percentage>': increase workspace with a percentage (50, 100 or more)<br>
>   */<br>
>   ierr = PetscOptionsInsertString(NULL,"-mat_mumps_icntl_13 1 -mat_mumps_icntl_24 1 -mat_mumps_cntl_3 1e-12");CHKERRQ(ierr);<br>
> #endif<br>
> <br>
>   /*<br>
>      Set solver parameters at runtime<br>
>   */<br>
>   ierr = EPSSetFromOptions(eps);CHKERRQ(ierr);<br>
> <br>
> I am using MUMPS. Actually it's the example I said before. I didn't modify it that much.<br>
> <br>
> <br>
> M Hassan<br>
<br>
</div>
</span></font>
</body>
</html>