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 cab5e8cd37
commit 13e74751cc
2 changed files with 12 additions and 12 deletions

View File

@ -980,7 +980,7 @@ typedef struct sKLUmatrix {
unsigned int KLUmatrixNZ ; /* KLU nz */
BindElement *KLUmatrixBindStructCOO ; /* KLU COO Binding Structure */
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 KLUmatrixLinkedListNZ ; /* KLU nz for the Initial Parsing */
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 */
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew = (unsigned int *) malloc (Matrix->SMPkluMatrix->KLUmatrixLinkedListNZ * sizeof (unsigned int)) ;
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld = (unsigned int *) malloc (Matrix->SMPkluMatrix->KLUmatrixLinkedListNZ * sizeof (unsigned int)) ;
for (i = 0 ; i < Matrix->SMPkluMatrix->KLUmatrixLinkedListNZ ; i++) {
unsigned int n = MatrixCOO [Matrix->SMPkluMatrix->KLUmatrixLinkedListNZ - 1].col + 1 ;
// Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew = (unsigned int *) malloc (Matrix->SMPkluMatrix->KLUmatrixLinkedListNZ * sizeof (unsigned int)) ;
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
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew [i] = 0 ; // Pre-Allocation to 0
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew [MatrixCOO [i].col] = MatrixCOO [i].col ;
// Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew [i] = 0 ; // Pre-Allocation to 0
// Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew [MatrixCOO [i].col] = MatrixCOO [i].col ;
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld [i] = 0 ; // Pre-Allocation to 0
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 ;
unsigned int search_index = 0 ;
@ -243,7 +243,7 @@ void SMPconvertCOOtoCSC (SMPmatrix *Matrix)
for (i = 0 ; i < Matrix->SMPkluMatrix->KLUmatrixLinkedListNZ ; i++)
{
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 ;
MatrixCOO [i].col = MatrixCOO [i].col - col_diff + 1 ;
}
@ -1086,7 +1086,7 @@ SMPnewMatrix (SMPmatrix *Matrix, int size)
Matrix->SMPkluMatrix->KLUmatrixIntermediateComplex = NULL ;
Matrix->SMPkluMatrix->KLUmatrixNZ = 0 ;
Matrix->SMPkluMatrix->KLUmatrixBindStructCOO = NULL ;
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew = NULL ;
// Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew = NULL ;
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld = NULL ;
Matrix->SMPkluMatrix->KLUmatrixDiag = NULL ;
@ -1175,7 +1175,7 @@ SMPdestroy (SMPmatrix *Matrix)
free (Matrix->SMPkluMatrix->KLUmatrixIntermediate) ;
free (Matrix->SMPkluMatrix->KLUmatrixIntermediateComplex) ;
free (Matrix->SMPkluMatrix->KLUmatrixBindStructCOO) ;
free (Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew) ;
// free (Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew) ;
free (Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld) ;
free (Matrix->SMPkluMatrix->KLUmatrixTrashCOO) ;
Matrix->SMPkluMatrix->KLUmatrixAp = NULL ;
@ -1185,7 +1185,7 @@ SMPdestroy (SMPmatrix *Matrix)
Matrix->SMPkluMatrix->KLUmatrixIntermediate = NULL ;
Matrix->SMPkluMatrix->KLUmatrixIntermediateComplex = NULL ;
Matrix->SMPkluMatrix->KLUmatrixBindStructCOO = NULL ;
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew = NULL ;
// Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingOldToNew = NULL ;
Matrix->SMPkluMatrix->KLUmatrixNodeCollapsingNewToOld = NULL ;
Matrix->SMPkluMatrix->KLUmatrixTrashCOO = NULL ;
free (Matrix->SMPkluMatrix->KLUmatrixDiag) ;