Fixed the accounting statistics for SPICE and CIDER about number of elements in KLU

This commit is contained in:
Francesco Lannutti 2020-08-09 09:12:53 +02:00 committed by Holger Vogt
parent 3b1f5e6122
commit 0b7dc09fc1
3 changed files with 10 additions and 17 deletions

View File

@ -635,9 +635,7 @@ ONEequilSolve(ONEdevice *pDevice)
return ; // Francesco Lannutti - Fix KLU return values
}
}
printf ("CIDER: KLU to be fixed: spElementCount\n") ;
pDevice->numOrigEquil = 0 ; //pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->lnz + pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->unz
//+ pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->nzoff ;
pDevice->numOrigEquil = (int)pDevice->matrix->SMPkluMatrix->KLUmatrixNZ ;
} else {
pDevice->numOrigEquil = spElementCount (pDevice->matrix->SPmatrix) ;
}
@ -668,7 +666,7 @@ ONEequilSolve(ONEdevice *pDevice)
#ifdef KLU
if (pDevice->matrix->CKTkluMODE) {
pDevice->numFillEquil = pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->lnz + pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->unz
+ pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->nzoff - (int)pDevice->matrix->SMPkluMatrix->KLUmatrixNZ ;
- (int)pDevice->matrix->SMPkluMatrix->KLUmatrixNZ ;
} else {
#endif
@ -781,7 +779,7 @@ ONEbiasSolve(ONEdevice *pDevice, int iterationLimit,
return ; // Francesco Lannutti - Fix KLU return values
}
}
pDevice->numOrigBias = 0 ; // Francesco Lannutti - Fix for KLU
pDevice->numOrigBias = (int)pDevice->matrix->SMPkluMatrix->KLUmatrixNZ ;
} else {
pDevice->numOrigBias = spElementCount(pDevice->matrix->SPmatrix);
}
@ -827,7 +825,7 @@ ONEbiasSolve(ONEdevice *pDevice, int iterationLimit,
#ifdef KLU
if (pDevice->matrix->CKTkluMODE) {
pDevice->numFillBias = pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->lnz + pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->unz
+ pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->nzoff - (int)pDevice->matrix->SMPkluMatrix->KLUmatrixNZ ;
- (int)pDevice->matrix->SMPkluMatrix->KLUmatrixNZ ;
} else {
#endif

View File

@ -549,9 +549,7 @@ int TWOequilSolve(TWOdevice *pDevice)
return E_NOMEM ; // Francesco Lannutti - Fix KLU return values
}
}
printf ("CIDER: KLU to be fixed: spElementCount\n") ;
pDevice->numOrigEquil = 0 ; //pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->lnz + pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->unz
//+ pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->nzoff ;
pDevice->numOrigEquil = (int)pDevice->matrix->SMPkluMatrix->KLUmatrixNZ ;
} else {
pDevice->numOrigEquil = spElementCount (pDevice->matrix->SPmatrix) ;
}
@ -582,7 +580,7 @@ int TWOequilSolve(TWOdevice *pDevice)
#ifdef KLU
if (pDevice->matrix->CKTkluMODE) {
pDevice->numFillEquil = pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->lnz + pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->unz
+ pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->nzoff - (int)pDevice->matrix->SMPkluMatrix->KLUmatrixNZ ;
- (int)pDevice->matrix->SMPkluMatrix->KLUmatrixNZ ;
} else {
#endif
@ -708,9 +706,7 @@ TWObiasSolve(TWOdevice *pDevice, int iterationLimit, BOOLEAN tranAnalysis,
return ; // Francesco Lannutti - Fix KLU return values
}
}
printf ("CIDER: KLU to be fixed: spElementCount\n") ;
pDevice->numOrigBias = 0 ; //pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->lnz + pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->unz
//+ pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->nzoff ;
pDevice->numOrigBias = (int)pDevice->matrix->SMPkluMatrix->KLUmatrixNZ ;
} else {
pDevice->numOrigBias = spElementCount(pDevice->matrix->SPmatrix);
}
@ -756,7 +752,7 @@ TWObiasSolve(TWOdevice *pDevice, int iterationLimit, BOOLEAN tranAnalysis,
#ifdef KLU
if (pDevice->matrix->CKTkluMODE) {
pDevice->numFillBias = pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->lnz + pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->unz
+ pDevice->matrix->SMPkluMatrix->KLUmatrixNumeric->nzoff - (int)pDevice->matrix->SMPkluMatrix->KLUmatrixNZ ;
- (int)pDevice->matrix->SMPkluMatrix->KLUmatrixNZ ;
} else {
#endif

View File

@ -59,7 +59,7 @@ CKTacct(CKTcircuit *ckt, JOB *anal, int which, IFvalue *val)
#ifdef KLU
if (ckt->CKTmatrix->CKTkluMODE)
val->iValue = ckt->CKTmatrix->SMPkluMatrix->KLUmatrixNumeric->lnz + ckt->CKTmatrix->SMPkluMatrix->KLUmatrixNumeric->unz
+ ckt->CKTmatrix->SMPkluMatrix->KLUmatrixNumeric->nzoff - (int)ckt->CKTmatrix->SMPkluMatrix->KLUmatrixNZ ;
- (int)ckt->CKTmatrix->SMPkluMatrix->KLUmatrixNZ ;
else
val->iValue = spFillinCount(ckt->CKTmatrix->SPmatrix);
#else
@ -73,8 +73,7 @@ CKTacct(CKTcircuit *ckt, JOB *anal, int which, IFvalue *val)
if ( ckt->CKTmatrix != NULL ) {
#ifdef KLU
if (ckt->CKTmatrix->CKTkluMODE)
val->iValue = ckt->CKTmatrix->SMPkluMatrix->KLUmatrixNumeric->lnz + ckt->CKTmatrix->SMPkluMatrix->KLUmatrixNumeric->unz
+ ckt->CKTmatrix->SMPkluMatrix->KLUmatrixNumeric->nzoff ;
val->iValue = ckt->CKTmatrix->SMPkluMatrix->KLUmatrixNumeric->lnz + ckt->CKTmatrix->SMPkluMatrix->KLUmatrixNumeric->unz ;
else
val->iValue = spElementCount(ckt->CKTmatrix->SPmatrix);
#else