Commit Graph

8440 Commits

Author SHA1 Message Date
Francesco Lannutti 85eb55f017 Fixed the two routines for SPARSE (thx to Marcel Hendrix) 2023-07-17 12:46:21 +02:00
rlar e02d51a5a2 (int) casts, applied to a double which just has been limited to INT_MAX 2023-07-17 12:46:00 +02:00
rlar b2df40724e casting, use (int) sizeof(), to swallow some warnings 2023-07-17 12:45:42 +02:00
rlar eec690d475 use TMALLOC 2023-07-17 12:45:23 +02:00
Francesco Lannutti 580f18a27a Handling the general case for an empty CSC matrix during the conversion to CSR format 2023-07-17 12:44:55 +02:00
Francesco Lannutti a3f3c033df Ordered the COO format also along the columns to have a correct CSR format 2023-07-17 12:44:11 +02:00
Francesco Lannutti 4937cf5252 Fixed the AC part of the Sensitivity Analysis 2023-07-17 12:43:49 +02:00
Francesco Lannutti c541da3ea7 Fixed the CSC to CSR conversion for KLU matrix-vector multiplication 2023-07-17 12:43:30 +02:00
Francesco Lannutti fad005eb41 Fixed Sensibility Analysis for KLU - First Trial 2023-07-17 12:42:57 +02:00
Francesco Lannutti fe73196fd3 Avoid crashing during the Sensitivity Analysis in KLU, stating that it isn't supported 2023-07-17 12:42:28 +02:00
Francesco Lannutti 36f94c7c75 Fixed Sensitivity Analysis integration for KLU 2023-07-17 12:41:20 +02:00
Francesco Lannutti a6b3045caa Fixed the sign inversion calculation for the determinant of KLU 2023-07-17 12:40:44 +02:00
Francesco Lannutti 450a297162 Implement klu_z_print() 2023-07-17 12:40:26 +02:00
Francesco Lannutti 28e2a384cc Implement spMatrix_CSC_dump() 2023-07-17 12:39:59 +02:00
rlar 0e6ff95c4c fix vsrc for pz analysis 2023-07-17 12:39:33 +02:00
Francesco Lannutti d6570a1f91 Use spDeterminant_KLU 2023-07-17 12:39:14 +02:00
Francesco Lannutti 974ae6fff1 Implemented spDeterminant_KLU 2023-07-17 12:38:47 +02:00
Francesco Lannutti 31e0664d4c Fixed SMPcZeroCol 2023-07-17 12:38:16 +02:00
Francesco Lannutti c0e5ca2123 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-07-17 12:37:55 +02:00
Francesco Lannutti cacae55129 other fixes 2023-07-17 12:37:33 +02:00
Francesco Lannutti d398c93a00 Fixed a bug in SMPpreOrder and let KLU digest an empty matrix 2023-07-17 12:37:11 +02:00
Francesco Lannutti dd98690043 Implemented the Solve Transpose for KLU 2023-07-17 12:36:41 +02:00
Francesco Lannutti f8ad3e6f70 Fixed the SMPcSolve routine for KLU 2023-07-17 12:36:05 +02:00
Francesco Lannutti df9439ebe4 Enhanced KLU to avoid loosing computation cycles. The speedup is quite low, though: ~1% 2023-07-17 12:35:45 +02:00
Francesco Lannutti a1dc2e7b02 fix the list of supported devices 2023-07-17 12:35:21 +02:00
rlar 6f6febed80 Added CPL Model to KLU 2023-07-17 12:34:52 +02:00
Francesco Lannutti 2546e757b7 Added HISIMHV2 Model to KLU 2023-07-17 12:34:32 +02:00
Francesco Lannutti abcad48c3e Added ASRC Model to KLU 2023-07-17 12:34:19 +02:00
Francesco Lannutti 2ab73076a8 KLU Integration from scratch #7, devices, bsim4/ (which is bsim4v8) 2023-07-17 12:34:02 +02:00
rlar 5599ea601e KLU Integration from scratch #6, devices, bsim4v7/ 2023-07-17 12:33:51 +02:00
Francesco Lannutti bf79b48893 Fixed the KLU package to let it correctly compile in libngspice.so 2023-07-17 12:33:38 +02:00
Francesco Lannutti 8d6734a79b KLU Integration from scratch #5, devices 2023-07-17 12:33:15 +02:00
Francesco Lannutti 60c8843bc1 KLU Integration from scratch #4, changed files 2023-07-17 12:33:05 +02:00
Francesco Lannutti c5f881ae29 KLU Integration from scratch #1, new files 2023-07-17 12:32:45 +02:00
Francesco Lannutti 8f768166b1 move include files to src/include/ngspice/ 2023-07-17 12:32:15 +02:00
Francesco Lannutti 848246f7a1 fix include file directories (will be in src/include/ngspice/) 2023-07-17 12:31:53 +02:00
rlar cfdc0e9866 delete-trailing-whitespace 2023-07-17 12:31:36 +02:00
Francesco Lannutti 1a957b6a3f incorporate KLU source files from SuiteSparse-3.7.0.tar.gz 2023-07-17 12:31:09 +02:00
rlar a431809604 SuiteSparse.org, recipe for incorporation of SuiteSparse-3.7.0.tar.gz 2023-07-17 12:30:44 +02:00
Francesco Lannutti 8b8c3418a4 KLU Integration from scratch #1, examples/klu/Circuits 2023-07-17 12:29:53 +02:00
Brian Taylor 4d8b105b86 Simplify expression nesting depth. 2023-07-15 11:34:09 +02:00
Brian Taylor 251f1e1984 The channel data needs to be freed for some 2D Cider devices. This shows up with some of the examples/cider/parallel circuits. 2023-07-15 11:33:52 +02:00
Holger Vogt d74e43f0f0 Move extern declaration to the top, out of any function.
Thus remove VC2022 compiler warnings.
2023-07-15 11:33:11 +02:00
Brian Taylor 159e185bfe Tidy up sp_shutdown with Cider. 2023-07-15 11:32:52 +02:00
Brian Taylor 51b361bbf0 When Cider models are present, a normal batch mode sp_shutdown (for example, ngspice -b cmosinv.cir) will call com_quit(NULL). This cleans up so that valgrind will find no leaks in Cider devices after sp_shutdown. To disable this feature, set the environment variable CIDER_COM_QUIT="OFF". Even though it really does not matter that Cider memory is cleared just before exit, it makes it cleaner for valgrind checks. 2023-07-15 11:32:37 +02:00
Holger Vogt ba2842b55a Prevent a crash if p==NULL (due to buggy input) 2023-07-15 11:32:26 +02:00
dwarning 794a37339a ifft: in case input array is smaller then output array - fill in the rest with zero to prevent uninitialzed plot variables 2023-07-15 11:32:11 +02:00
dwarning 42b803e5c2 same array size for in- and output in inverse fft function from fftw3 2023-07-15 11:31:59 +02:00
Brian Taylor 25c1c971e5 Fix the Cider memory leaks from setupContacts. TWOdestroy needed to free the contact nodes. 2023-07-15 11:31:48 +02:00
Brian Taylor f39f89ea9b Add DEVmodDelete functions to reduce memoory leaks in Cider models. The model memory was not freed during remcirc or quit. In the future, some of the code duplication could be refactored. The cmosinv.cir is now down to just 1 memory leak. 2023-07-15 11:31:38 +02:00