Hi All,
In MatSolve(), there is a piece of code:
* if (mat->errortype) { ierr = PetscInfo1(mat,"MatFactorError
%D\n",mat->errortype);CHKERRQ(ierr); ierr = VecSetInf(x);CHKERRQ(ierr);
} else { ierr = (*mat->ops->solve)(mat,b,x);CHKERRQ(ierr); }*
If a direct solver such as LU or superlu fails to create a factorization,
why we do not stop here and throw out an error message here or earlier?
Now we just let solver keep doing garbage computation, and finally we have
a solution like this:
*Vec Object: 1 MPI processes type: mpiProcess
[0]inf.inf.inf.inf.inf.inf.inf.inf.inf.inf.inf.inf.inf.inf.inf.inf.*
Any particular reason to handle the thing in this way?
Fande,