Commit Graph

381 Commits

Author SHA1 Message Date
Francesco Lannutti 8c5ab7edcd Handled properly KLU messages when XSPICE is purely digital 2023-05-07 20:23:45 +02:00
Francesco Lannutti e899217d92 Fixed Empty Matrix handling in KLU 2023-05-07 12:16:47 +02:00
Francesco Lannutti 565e364a67 Handled an empty circuit with KLU 2023-05-06 15:59:47 +02:00
Holger Vogt bfc2d62fb0 Enable log output (warning and error messages) on the Windows GUI 2023-05-06 01:49:31 +02:00
Francesco Lannutti eb64a2f05b Fixed a crash when SPARSE is used 2023-05-06 01:49:31 +02:00
Francesco Lannutti 2cad2be098 Fixed the case when DiagGmin has to not be loaded again and the case when refactoring returns 1 2023-05-06 01:49:31 +02:00
Francesco Lannutti 738e088bb3 Fixed KLU memory leak during SMPdestroy 2023-05-06 01:49:31 +02:00
Francesco Lannutti a9af30a233 Fixed the dimension of the COO Trash Can 2023-05-06 01:46:05 +02:00
Francesco Lannutti d71e7c7d90 Fixed a memory leak 2023-05-06 01:46:04 +02:00
Holger Vogt adb58e53fa fix a memory leak
ckt->CKTmatrix is now malloced, so has to bee freed as well
2023-05-06 01:46:04 +02:00
Francesco Lannutti 8721c076bd Added a comment in NIiter 2023-05-06 01:46:04 +02:00
Francesco Lannutti 23e91d22e6 Changed the PivTol in SMPreorder with PivRel 2023-05-06 01:46:04 +02:00
Francesco Lannutti 36dbc7c626 Changed the Error message in klusmp.c to Information 2023-05-06 01:46:04 +02:00
Francesco Lannutti 4c993548ed Getting rid of SPARSE for Initial Circuit Matrix creation. Now KLU is totally independent from SPARSE. This opens up the interface for other solvers as well
SPARSE can still used through '.options sparse', but it isn't possible to switch from KLU to SPARSE and viceversa at run-time
2023-05-06 01:46:04 +02:00
Francesco Lannutti fb9611c49c Added "klu_memgrow_factor" option to control the KLU memory grow factor 2023-05-06 01:46:04 +02:00
Francesco Lannutti 8de9e72f12 Handled the SINGULAR matrix case in a more clever way! 2023-05-06 01:46:04 +02:00
Francesco Lannutti 48572883f9 Fixed again the NIiter loop for KLU 2023-05-06 01:46:04 +02:00
Francesco Lannutti d7f5e3863e Fixed KLU returns values so that NIiter can Factor again, if the matrix is numerically singular from the refactorization
Fixed the NIiter code to perform a factorization without reloading the matrix
2023-05-06 01:46:04 +02:00
Francesco Lannutti af804b3c7d Fixed the KLU returns values for Factorization and ReFactorization.
If the matrix is Numerically Singular, continue the factorization till the end
2023-05-06 01:46:04 +02:00
Francesco Lannutti c564810a77 Fix SMPfindElement for KLU 2023-05-06 01:46:04 +02:00
Francesco Lannutti c4a49cc6d6 First KLU support of CIDER ONED simulations 2023-05-06 01:46:04 +02:00
Francesco Lannutti 1a7fdd192c Added the support for .ic statement in KLU mode 2023-05-06 01:46:04 +02:00
Francesco Lannutti 9c5297f776 Fixed the two routines for SPARSE (thx to Marcel Hendrix) 2023-05-06 01:44:21 +02:00
rlar be4cb5ba94 (int) casts, applied to a double which just has been limited to INT_MAX 2023-05-06 01:44:21 +02:00
rlar 15f09868ba casting, use (int) sizeof(), to swallow some warnings 2023-05-06 01:44:21 +02:00
rlar e7e8ee87f8 use TMALLOC 2023-05-06 01:44:21 +02:00
Francesco Lannutti 9916c557e8 Handling the general case for an empty CSC matrix during the conversion to CSR format 2023-05-06 01:44:21 +02:00
Francesco Lannutti ec7b8cd556 Ordered the COO format also along the columns to have a correct CSR format 2023-05-06 01:44:21 +02:00
Francesco Lannutti 6d936984d6 Fixed the AC part of the Sensitivity Analysis 2023-05-06 01:44:21 +02:00
Francesco Lannutti 0bd6710910 Fixed the CSC to CSR conversion for KLU matrix-vector multiplication 2023-05-06 01:44:21 +02:00
Francesco Lannutti 5c84072fa0 Fixed Sensibility Analysis for KLU - First Trial 2023-05-06 01:44:21 +02:00
Francesco Lannutti 21b9e516ae Fixed Sensitivity Analysis integration for KLU 2023-05-06 01:44:21 +02:00
Francesco Lannutti 69aeed0503 Fixed the sign inversion calculation for the determinant of KLU 2023-05-06 01:44:21 +02:00
Francesco Lannutti e3c1965685 Implement klu_z_print() 2023-05-06 01:44:21 +02:00
Francesco Lannutti 9e6d0f6261 Implement spMatrix_CSC_dump() 2023-05-06 01:44:21 +02:00
Francesco Lannutti 539bc787e9 Use spDeterminant_KLU 2023-05-06 01:43:17 +02:00
Francesco Lannutti de8643d478 Implemented spDeterminant_KLU 2023-05-06 01:43:17 +02:00
Francesco Lannutti 9a8265421e Fixed SMPcZeroCol 2023-05-06 01:43:17 +02:00
Francesco Lannutti 59f120a7bd klu_extract_Udiag, Fixed the PZ Analysis for KLU - Added a missing KLU node in VSRC which exists only in case of PZ Analysis - Other fixes 2023-05-06 01:43:17 +02:00
Francesco Lannutti 19eff5d23f other fixes 2023-05-06 01:43:17 +02:00
Francesco Lannutti 4f15ba2be6 Fixed a bug in SMPpreOrder and let KLU digest an empty matrix 2023-05-06 01:43:17 +02:00
Francesco Lannutti f5278a0890 Implemented the Solve Transpose for KLU 2023-05-06 01:43:17 +02:00
Francesco Lannutti ed76ebf2c1 Fixed the SMPcSolve routine for KLU 2023-05-06 01:43:17 +02:00
Francesco Lannutti 2b02de7a9d Enhanced KLU to avoid loosing computation cycles. The speedup is quite low, though: ~1% 2023-05-06 01:43:17 +02:00
Francesco Lannutti f652403eb1 Fixed the KLU package to let it correctly compile in libngspice.so 2023-05-06 01:43:17 +02:00
Francesco Lannutti 4c9ebb3da0 KLU Integration from scratch #4, changed files 2023-05-06 01:40:55 +02:00
Francesco Lannutti 5ed3091e4e KLU Integration from scratch #1, new files 2023-05-06 01:36:59 +02:00
Francesco Lannutti 5214479211 move include files to src/include/ngspice/ 2023-05-06 01:36:59 +02:00
Francesco Lannutti ef777165e0 fix include file directories (will be in src/include/ngspice/) 2023-05-06 01:36:59 +02:00
rlar be9d8643f1 delete-trailing-whitespace 2023-05-06 01:36:59 +02:00