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

View File

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

View File

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