Fixed a MLK for XSPICE and commented out an unused array
This commit is contained in:
parent
f7a6ccd998
commit
84b114cfd0
|
|
@ -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 */
|
||||||
|
|
|
||||||
|
|
@ -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) ;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue