Reverted the previous commit "Corrected a possible bug..."

This commit is contained in:
Francesco Lannutti 2012-11-02 16:59:31 +01:00 committed by Francesco Lannutti
parent 005f86a00a
commit de5e2accea
2 changed files with 17 additions and 15 deletions

View File

@ -232,14 +232,16 @@ SMPluFac (SMPmatrix *Matrix, double PivTol, double Gmin)
LoadGmin_CSC (Matrix->CKTdiag_CSC, Matrix->CKTkluN, Gmin) ; LoadGmin_CSC (Matrix->CKTdiag_CSC, Matrix->CKTkluN, Gmin) ;
ret = klu_refactor (Matrix->CKTkluAp, Matrix->CKTkluAi, Matrix->CKTkluAx, ret = klu_refactor (Matrix->CKTkluAp, Matrix->CKTkluAi, Matrix->CKTkluAx,
Matrix->CKTkluSymbolic, Matrix->CKTkluNumeric, Matrix->CKTkluCommon) ; Matrix->CKTkluSymbolic, Matrix->CKTkluNumeric, Matrix->CKTkluCommon) ;
if (ret == 1) return (!ret) ;
return 0 ;
else if (ret == 0) // if (ret == 1)
return (E_SINGULAR) ; // return 0 ;
else { // else if (ret == 0)
fprintf (stderr, "KLU Error in re-factor!") ; // return (E_SINGULAR) ;
return 1 ; // else {
} // fprintf (stderr, "KLU Error in re-factor!") ;
// return 1 ;
// }
} else { } else {
spSetReal (Matrix->SPmatrix) ; spSetReal (Matrix->SPmatrix) ;
LoadGmin (Matrix, Gmin) ; LoadGmin (Matrix, Gmin) ;

View File

@ -26,8 +26,8 @@ int
NIiter(CKTcircuit *ckt, int maxIter) NIiter(CKTcircuit *ckt, int maxIter)
{ {
/* Francesco Lannutti - NEED TO PIVOT Fix */ /* Francesco Lannutti - NEED TO PIVOT Fix */
int SMPreorderFromSMPluFac ; // int SMPreorderFromSMPluFac ;
SMPreorderFromSMPluFac = 0 ; // SMPreorderFromSMPluFac = 0 ;
int iterno; int iterno;
int ipass; int ipass;
@ -84,12 +84,12 @@ NIiter(CKTcircuit *ckt, int maxIter)
#endif /* NEWPRED */ #endif /* NEWPRED */
/* Francesco Lannutti - NEED TO PIVOT Fix */ /* Francesco Lannutti - NEED TO PIVOT Fix */
error = 0 ; // error = 0 ;
if (!SMPreorderFromSMPluFac) // if (!SMPreorderFromSMPluFac)
{ // {
error = CKTload (ckt) ; error = CKTload (ckt) ;
iterno++ ; iterno++ ;
} // }
/*printf("loaded, noncon is %d\n",ckt->CKTnoncon);*/ /*printf("loaded, noncon is %d\n",ckt->CKTnoncon);*/
/*fflush(stdout);*/ /*fflush(stdout);*/
@ -156,7 +156,7 @@ NIiter(CKTcircuit *ckt, int maxIter)
if( error == E_SINGULAR ) { if( error == E_SINGULAR ) {
/* Francesco Lannutti - NEED TO PIVOT Fix */ /* Francesco Lannutti - NEED TO PIVOT Fix */
SMPreorderFromSMPluFac = 1 ; // SMPreorderFromSMPluFac = 1 ;
ckt->CKTniState |= NISHOULDREORDER; ckt->CKTniState |= NISHOULDREORDER;
DEBUGMSG(" forced reordering....\n"); DEBUGMSG(" forced reordering....\n");