<div dir="ltr"><div><div><div>Hi All,<br><br></div>The EPSViewer in SLEPc looks weird. I do not understand the viewer logic. For example there is a piece of code in SLEPc (at line 225 of epsview.c):<br><br><i>    if (!ispower) {<br>      if (!eps->ds) { ierr = EPSGetDS(eps,&eps->ds);CHKERRQ(ierr); }<br>      ierr = DSView(eps->ds,viewer);CHKERRQ(ierr);<br>    }<br></i><br><br></div>If eps->ds is NULL, why we are going to create a new one? I just want to view this object. If it is NULL, you should just show me that this object is empty. You could print out: ds: null. <br><br></div><div>If a user wants to develop a new EPS solver, and then register the new EPS to SLEPc. But the user does not want to use DS, and DSView will show some error messages:<br><br><i>[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------<br>[0]PETSC ERROR: Object is in wrong state<br>[0]PETSC ERROR: Requested matrix was not created in this DS<br>[0]PETSC ERROR: See <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html">http://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.<br>[0]PETSC ERROR: Petsc Release Version 3.7.5, unknown <br>[0]PETSC ERROR: ../../../moose_test-opt on a arch-darwin-c-debug named FN604208 by kongf Thu Apr  6 14:22:14 2017<br>[0]PETSC ERROR: #1 DSViewMat() line 149 in /slepc/src/sys/classes/ds/interface/dspriv.c<br>[0]PETSC ERROR: #2 DSView_NHEP() line 47 in/slepc/src/sys/classes/ds/impls/nhep/dsnhep.c<br>[0]PETSC ERROR: #3 DSView() line 772 in/slepc/src/sys/classes/ds/interface/dsbasic.c<br>[0]PETSC ERROR: #4 EPSView() line 227 in /slepc/src/eps/interface/epsview.c<br>[0]PETSC ERROR: #5 PetscObjectView() line 106 in/petsc/src/sys/objects/destroy.c<br>[0]PETSC ERROR: #6 PetscObjectViewFromOptions() line 2808 in /petsc/src/sys/objects/options.c<br>[0]PETSC ERROR: #7 EPSSolve() line 159 in /slepc/src/eps/interface/epssolve.c</i><br><br></div><div><br></div><div><br></div>Fande,<br></div>