Hi again,<div>Thanks for all the help.</div><div>Using <span style="font-family:arial,sans-serif;font-size:13px">EPS_TARGET_REAL</span><span style="font-family:arial,sans-serif;font-size:13px"> gives a more consistent behavior. As I mentioned before, my problem with target is that the eigenvalues change during the time-step analysis. I should try to update my target on each time step. However I'm expecting that at some point one of the eigenvalues will "shoot up" when the global instability arrives so I'm not sure that if I make my target keep tracking the initial eigenvalues that I'll be able to pick the one I'm looking for when the instability occurs.</span></div>
<div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:13px">Thanks for the help, I already have enough info to work on for a few days. </span><font face="arial, sans-serif">I really appreciate your availability</font></div>
<div><br></div><div>Best regards,</div><div>Miguel</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Dec 17, 2012 at 3:04 PM, Jose E. Roman <span dir="ltr"><<a href="mailto:jroman@dsic.upv.es" target="_blank">jroman@dsic.upv.es</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">You should not use a target in combination with EPS_LARGEST_REAL. Instead, use EPS_TARGET_REAL or better a user-defined criterion as in ex18.c (note that EPSSetEigenvalueComparison is supported in Fortran but has not been well tested).<br>
<br>
Another comment is that using a target as far as 10000 from the wanted eigenvalues is not a good idea, because the convergence criterion will likely give eigenvalues with high error (especially in the non-Hermitian case). You could try -eps_true_residual but sometimes this has the problem that convergence is not attained.<br>
<br>
If the matrices are not too large, send them to slepc-maint and we will give them a try.<br>
<br>
Jose<br>
<br>
<br>
El 17/12/2012, a las 20:39, Miguel Arriaga escribió:<br>
<div class="HOEnZb"><div class="h5"><br>
> Thanks for the reply,<br>
> I had tried changing the target before but the problem is that the<br>
> eigenvalues will change depending on my target. I'm using Fortran and<br>
> my code looks like this:<br>
> call EPSCreate(PETSC_COMM_WORLD,eps,ierr)<br>
> (MatAssembly stuff here)<br>
> call EPSSetOperators(eps,Kmat,Mmat,ierr)<br>
> call EPSSetProblemType(eps,EPS_GNHEP,ierr)<br>
> call EPSSetWhichEigenpairs(eps,EPS_LARGEST_REAL,ierr)<br>
> call EPSSetTolerances(eps,tol,maxit,ierr)<br>
> call EPSSetDimensions(eps,nev,PETSC_DECIDE,PETSC_DECIDE,ierr)<br>
> call EPSSetFromOptions(eps,ierr)<br>
> call EPSSolve(eps,ierr)<br>
><br>
> Since I don't know where my eigenvalues will be (because they change<br>
> as the material yields) I'm a little concerned with using target.<br>
> Maybe I'm doing something wrong? I noticed that although I set<br>
> EPS_LARGEST_REAL in my code, if I set it again in the command line it<br>
> will change the output. Another thing is that I'm using Shift-Invert<br>
> to look at a Largest Real problem, which although it seemed odd to me,<br>
> it showed a much faster convergence.<br>
><br>
> Below I show some test results I obtained for just the first time step.<br>
><br>
> _Results:<br>
> -I'm asking for 6 eigenvalues and I have a tol of 1E-5<br>
> -Notice that the eigenvalues are different from the purely imaginary I<br>
> got from Matlab and SLEPc without SInvert.<br>
><br>
> BASE = -st_type sinvert -st_ksp_type preonly -st_pc_type lu<br>
> -st_pc_factor_mat_solver_package umfpack (has the mentioned error)<br>
><br>
> BASE -eps_target 0.2<br>
> Global eig 0 Real 8.08057606271894713E-007 Im<br>
> 0.0000000000000000<br>
> Global eig 1 Real 5.88946613699903310E-010 Im<br>
> 1.11478341210332509E-005<br>
> Global eig 2 Real 5.88946613699903310E-010 Im<br>
> -1.11478341210332509E-005<br>
> Global eig 3 Real 1.00727620688800812E-010 Im<br>
> 1.60248025360939258E-010<br>
> Global eig 4 Real 1.00727620688800812E-010 Im<br>
> -1.60248025360939258E-010<br>
> Global eig 5 Real -2.82380008265192828E-010 Im<br>
> 1.27051563295447506E-010<br>
> Global eig 6 Real -2.82380008265192828E-010 Im<br>
> -1.27051563295447506E-010<br>
> Global eig 7 Real -45.307348017077182 Im<br>
> 0.0000000000000000<br>
><br>
> BASE -eps_target 1000<br>
> Global eig 0 Real 1.33590310724684969E-006 Im<br>
> 5.69992625689008225E-003<br>
> Global eig 1 Real 1.33590310724684969E-006 Im<br>
> -5.69992625689008225E-003<br>
> Global eig 2 Real -45.307261982302634 Im<br>
> 0.0000000000000000<br>
> Global eig 3 Real -90.614531192221420 Im<br>
> 0.0000000000000000<br>
> Global eig 4 Real -182.34960882354494 Im<br>
> 0.0000000000000000<br>
> Global eig 5 Real -227.65688316119918 Im 0.0000000000000000<br>
><br>
> BASE -eps_target 10000<br>
> Global eig 0 Real 0.43857832608046010 Im<br>
> 0.0000000000000000<br>
> Global eig 1 Real -0.44680019931001880 Im<br>
> 0.0000000000000000<br>
> Global eig 2 Real -45.307619734525360 Im<br>
> 0.0000000000000000<br>
> Global eig 3 Real -90.609456729185695 Im<br>
> 0.0000000000000000<br>
> Global eig 4 Real -1.23910373804392293E-003 Im<br>
> 1842.6494652654314<br>
> Global eig 5 Real -1.23910373804392293E-003 Im -1842.6494652654314<br>
><br>
> BASE -eps_target 0.2 -eps_largest_real<br>
> Global eig 0 Real 5.88925547218011047E-010 Im<br>
> 1.11479604597693868E-005<br>
> Global eig 1 Real 5.88925547218011047E-010 Im<br>
> -1.11479604597693868E-005<br>
> Global eig 2 Real 3.41273675985576119E-011 Im<br>
> 2.48751366232282650E-011<br>
> Global eig 3 Real 3.41273675985576119E-011 Im<br>
> -2.48751366232282650E-011<br>
> Global eig 4 Real 1.94852467494399662E-012 Im<br>
> 5.58171840043041153E-011<br>
> Global eig 5 Real 1.94852467494399662E-012 Im<br>
> -5.58171840043041153E-011<br>
> Global eig 6 Real -3.06560610230377506E-011 Im<br>
> 2.38634932296064250E-011<br>
> Global eig 7 Real -3.06560610230377506E-011 Im<br>
> -2.38634932296064250E-011<br>
> Global eig 8 Real -3.14280823587864688E-010 Im 0.0000000000000000<br>
><br>
> BASE -eps_target 1000 -eps_largest_real<br>
> Global eig 0 Real 3.41060513164848089E-012 Im<br>
> 1.32716666241605970E-005<br>
> Global eig 1 Real 3.41060513164848089E-012 Im<br>
> -1.32716666241605970E-005<br>
> Global eig 2 Real -3.36171979142818600E-010 Im<br>
> 1842.6504379364101<br>
> Global eig 3 Real -3.36171979142818600E-010 Im<br>
> -1842.6504379364101<br>
> Global eig 4 Real -2.93482571578351781E-009 Im<br>
> 2008.6622800422490<br>
> Global eig 5 Real -2.93482571578351781E-009 Im -2008.6622800422490<br>
><br>
> BASE -eps_target 10000 -eps_largest_real<br>
> Global eig 0 Real 8.44766719455947168E-003 Im<br>
> 0.23198091192374859<br>
> Global eig 1 Real 8.44766719455947168E-003 Im<br>
> -0.23198091192374859<br>
> Global eig 2 Real 2.18278728425502777E-011 Im<br>
> 1842.6504379364712<br>
> Global eig 3 Real 2.18278728425502777E-011 Im<br>
> -1842.6504379364712<br>
> Global eig 4 Real -2.00088834390044212E-011 Im<br>
> 2008.6622800484372<br>
> Global eig 5 Real -2.00088834390044212E-011 Im -2008.6622800484372<br>
><br>
><br>
> Thank you in advance for your help,<br>
> Miguel<br>
<br>
</div></div></blockquote></div><br></div>