Fixed a MLK for XSPICE and commented out an unused array

This commit is contained in:
Francesco Lannutti 2023-05-29 19:48:51 +02:00 committed by Holger Vogt
parent f7a6ccd998
commit 84b114cfd0
2 changed files with 12 additions and 12 deletions

View File

@ -980,7 +980,7 @@ typedef struct sKLUmatrix {
unsigned int KLUmatrixNZ ; /* KLU nz */ unsigned int KLUmatrixNZ ; /* KLU nz */
BindElement *KLUmatrixBindStructCOO ; /* KLU COO Binding Structure */ BindElement *KLUmatrixBindStructCOO ; /* KLU COO Binding Structure */
KluLinkedListCOO *KLUmatrixLinkedListCOO ; /* KLU COO in Linked List Format for Initial Parsing */ KluLinkedListCOO *KLUmatrixLinkedListCOO ; /* KLU COO in Linked List Format for Initial Parsing */
unsigned int *KLUmatrixNodeCollapsingOldToNew ; /* KLU Node Collapsing Mapping from New Node to Old Node */ // unsigned int *KLUmatrixNodeCollapsingOldToNew ; /* KLU Node Collapsing Mapping from New Node to Old Node */
unsigned int *KLUmatrixNodeCollapsingNewToOld ; /* KLU Node Collapsing Mapping from New Node to Old Node */ unsigned int *KLUmatrixNodeCollapsingNewToOld ; /* KLU Node Collapsing Mapping from New Node to Old Node */
unsigned int KLUmatrixLinkedListNZ ; /* KLU nz for the Initial Parsing */ unsigned int KLUmatrixLinkedListNZ ; /* KLU nz for the Initial Parsing */
double *KLUmatrixTrashCOO ; /* KLU COO Trash Pointer for Ground Node not Stored in the Matrix */ double *KLUmatrixTrashCOO ; /* KLU COO Trash Pointer for Ground Node not Stored in the Matrix */

View File

@ -208,17 +208,17 @@ void SMPconvertCOOtoCSC (SMPmatrix *Matrix)
} }
/* Look for columns with all structural zeroes, not numerical zeroes - Circuits Matrix are NxN, so checking for columns is sufficient */ /* Look for columns with all structural zeroes, not numerical zeroes - Circuits Matrix are NxN, so checking for columns is sufficient */
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew = (unsigned int *) malloc (Matrix->SMPkluMatrix->KLUmatrixLinkedListNZ * sizeof (unsigned int)) ; unsigned int n = MatrixCOO [Matrix->SMPkluMatrix->KLUmatrixLinkedListNZ - 1].col + 1 ;
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld = (unsigned int *) malloc (Matrix->SMPkluMatrix->KLUmatrixLinkedListNZ * sizeof (unsigned int)) ; // Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew = (unsigned int *) malloc (Matrix->SMPkluMatrix->KLUmatrixLinkedListNZ * sizeof (unsigned int)) ;
for (i = 0 ; i < Matrix->SMPkluMatrix->KLUmatrixLinkedListNZ ; i++) { Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld = (unsigned int *) malloc (MAX (Matrix->SMPkluMatrix->KLUmatrixLinkedListNZ, n + 1) * sizeof (unsigned int)) ;
for (i = 0 ; i < MAX (Matrix->SMPkluMatrix->KLUmatrixLinkedListNZ, n) ; i++) {
// Initialization // Initialization
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew [i] = 0 ; // Pre-Allocation to 0 // Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew [i] = 0 ; // Pre-Allocation to 0
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew [MatrixCOO [i].col] = MatrixCOO [i].col ; // Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew [MatrixCOO [i].col] = MatrixCOO [i].col ;
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld [i] = 0 ; // Pre-Allocation to 0 Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld [i] = 0 ; // Pre-Allocation to 0
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld [MatrixCOO [i].col] = MatrixCOO [i].col ; Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld [MatrixCOO [i].col] = MatrixCOO [i].col ;
} }
unsigned int n = MatrixCOO [Matrix->SMPkluMatrix->KLUmatrixLinkedListNZ - 1].col + 1 ; // Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew [n] = n ;
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew [n] = n ;
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld [n] = n ; Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld [n] = n ;
unsigned int search_index = 0 ; unsigned int search_index = 0 ;
@ -243,7 +243,7 @@ void SMPconvertCOOtoCSC (SMPmatrix *Matrix)
for (i = 0 ; i < Matrix->SMPkluMatrix->KLUmatrixLinkedListNZ ; i++) for (i = 0 ; i < Matrix->SMPkluMatrix->KLUmatrixLinkedListNZ ; i++)
{ {
if (MatrixCOO [i].col > (unsigned int)col_index) { if (MatrixCOO [i].col > (unsigned int)col_index) {
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew [MatrixCOO [i].col] = MatrixCOO [i].col - col_diff + 1 ; // Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew [MatrixCOO [i].col] = MatrixCOO [i].col - col_diff + 1 ;
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld [MatrixCOO [i].col - col_diff + 1] = MatrixCOO [i].col ; Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld [MatrixCOO [i].col - col_diff + 1] = MatrixCOO [i].col ;
MatrixCOO [i].col = MatrixCOO [i].col - col_diff + 1 ; MatrixCOO [i].col = MatrixCOO [i].col - col_diff + 1 ;
} }
@ -1086,7 +1086,7 @@ SMPnewMatrix (SMPmatrix *Matrix, int size)
Matrix->SMPkluMatrix->KLUmatrixIntermediateComplex = NULL ; Matrix->SMPkluMatrix->KLUmatrixIntermediateComplex = NULL ;
Matrix->SMPkluMatrix->KLUmatrixNZ = 0 ; Matrix->SMPkluMatrix->KLUmatrixNZ = 0 ;
Matrix->SMPkluMatrix->KLUmatrixBindStructCOO = NULL ; Matrix->SMPkluMatrix->KLUmatrixBindStructCOO = NULL ;
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew = NULL ; // Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew = NULL ;
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld = NULL ; Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld = NULL ;
Matrix->SMPkluMatrix->KLUmatrixDiag = NULL ; Matrix->SMPkluMatrix->KLUmatrixDiag = NULL ;
@ -1175,7 +1175,7 @@ SMPdestroy (SMPmatrix *Matrix)
free (Matrix->SMPkluMatrix->KLUmatrixIntermediate) ; free (Matrix->SMPkluMatrix->KLUmatrixIntermediate) ;
free (Matrix->SMPkluMatrix->KLUmatrixIntermediateComplex) ; free (Matrix->SMPkluMatrix->KLUmatrixIntermediateComplex) ;
free (Matrix->SMPkluMatrix->KLUmatrixBindStructCOO) ; free (Matrix->SMPkluMatrix->KLUmatrixBindStructCOO) ;
free (Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew) ; // free (Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew) ;
free (Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld) ; free (Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld) ;
free (Matrix->SMPkluMatrix->KLUmatrixTrashCOO) ; free (Matrix->SMPkluMatrix->KLUmatrixTrashCOO) ;
Matrix->SMPkluMatrix->KLUmatrixAp = NULL ; Matrix->SMPkluMatrix->KLUmatrixAp = NULL ;
@ -1185,7 +1185,7 @@ SMPdestroy (SMPmatrix *Matrix)
Matrix->SMPkluMatrix->KLUmatrixIntermediate = NULL ; Matrix->SMPkluMatrix->KLUmatrixIntermediate = NULL ;
Matrix->SMPkluMatrix->KLUmatrixIntermediateComplex = NULL ; Matrix->SMPkluMatrix->KLUmatrixIntermediateComplex = NULL ;
Matrix->SMPkluMatrix->KLUmatrixBindStructCOO = NULL ; Matrix->SMPkluMatrix->KLUmatrixBindStructCOO = NULL ;
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew = NULL ; // Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew = NULL ;
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld = NULL ; Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld = NULL ;
Matrix->SMPkluMatrix->KLUmatrixTrashCOO = NULL ; Matrix->SMPkluMatrix->KLUmatrixTrashCOO = NULL ;
free (Matrix->SMPkluMatrix->KLUmatrixDiag) ; free (Matrix->SMPkluMatrix->KLUmatrixDiag) ;