Commit Graph

7231 Commits

Author SHA1 Message Date
Holger Vogt c11613d1f7 Fix some memory leaks (Patch provided by Brian Taylor) 2023-08-16 11:14:25 +02:00
Holger Vogt 4864f0a118 Remove crash in CIDER example meclgate.cir 2023-08-16 11:14:25 +02:00
Pascal Kuthe 499634df47 integrate OSDI with KLU 2023-08-16 11:14:25 +02:00
Francesco Lannutti 05aa9f0927 Better fix for previous commit 2023-08-16 11:14:24 +02:00
Francesco Lannutti 13e74751cc Fixed a MLK for XSPICE and commented out an unused array 2023-08-16 11:14:24 +02:00
Francesco Lannutti cab5e8cd37 Added the case of VSRCport to VSRC model for KLU 2023-08-16 11:14:24 +02:00
Holger Vogt d658e0427c Enable compilation with MSVC (alignof seems to be available only for C++) 2023-08-16 11:14:24 +02:00
Francesco Lannutti b08eb2266a Added initial KLU support for node collapsing 2023-08-16 11:14:24 +02:00
Francesco Lannutti 470cd4a514 Fixed KLU SINGULAR matrix handling and messaging 2023-08-16 11:14:24 +02:00
Francesco Lannutti d68e83be78 Fixed VBIC model for KLU
Fixed SMPfindElt messages
2023-08-16 11:14:23 +02:00
Francesco Lannutti 8123fde6f7 Handled properly KLU messages when XSPICE is purely digital 2023-08-16 11:14:23 +02:00
Francesco Lannutti 4200362f42 Fixed Empty Matrix handling in KLU 2023-08-16 11:14:23 +02:00
Francesco Lannutti 937325e2ce Handled an empty circuit with KLU 2023-08-16 11:14:23 +02:00
Francesco Lannutti 4427a1f6dd Rebased upon pre-master branch 2023-08-16 11:14:23 +02:00
Francesco Lannutti ae83b7c807 Added KLU support to HICUM model 2023-08-16 11:14:22 +02:00
Holger Vogt 6b6e9bb7cb Enable log output (warning and error messages) on the Windows GUI 2023-08-16 11:14:22 +02:00
Holger Vogt d6aeb6cd94 Set up the matrix according to branch KLU-6+11-rebase-master-28_10_2020
All cpl example files from ngspice\examples\TransmissionLines are o.k.
2023-08-16 11:14:22 +02:00
Francesco Lannutti 02e7c1c5b0 KLU branch rebased upon master @ 3 Feb 2022
Some merge conflicts have not been solved yet
Please look for >>>> HEAD if you want to solve them
2023-08-16 11:14:22 +02:00
Francesco Lannutti b900527341 Fixed KLU binding for VDMOS 2023-08-16 11:14:21 +02:00
Francesco Lannutti 2bfd22c8f9 Fixed KLU binding for BJT 2023-08-16 11:14:21 +02:00
Francesco Lannutti caf1ee7c47 Fixed a crash when SPARSE is used 2023-08-16 11:14:21 +02:00
Francesco Lannutti 3c15993fe5 Fixed the case when DiagGmin has to not be loaded again and the case when refactoring returns 1 2023-08-16 11:14:21 +02:00
Francesco Lannutti 1ee798ec9d Fixed CKTsetup for KLU when XSPICE is used 2023-08-16 11:14:21 +02:00
Francesco Lannutti 6ccaacaf1d Added the support for KLU to VBIC Self Heating 2023-08-16 11:14:21 +02:00
Francesco Lannutti 12288f7be6 Fixed KLU memory leak during SMPdestroy 2023-08-16 11:14:20 +02:00
Francesco Lannutti 7048a24b74 Added the KLU support to Noise Analysis 2023-08-16 11:14:20 +02:00
Francesco Lannutti 4639e936a3 Fixed the dimension of the COO Trash Can 2023-08-16 11:14:20 +02:00
Francesco Lannutti 73626c62f8 Add KLU support to VDMOS 2023-08-16 11:14:20 +02:00
Holger Vogt 3bb643c8f5 re-enable CIDER with option sparse by setting CKTkluMODE
in new matrix to CKTkluMODE from current circuit.
2023-08-16 11:14:20 +02:00
Holger Vogt 98dd7da1c4 fix a memory leak in ASRC 2023-08-16 11:14:20 +02:00
Francesco Lannutti 613ae18db9 Fixed a memory leak 2023-08-16 11:14:20 +02:00
Holger Vogt 33eec95855 plug a memory leak 2023-08-16 11:14:20 +02:00
Holger Vogt d5434a2df2 fix a memory leak
ckt->CKTmatrix is now malloced, so has to bee freed as well
2023-08-16 11:14:19 +02:00
Francesco Lannutti 967ee13940 Added a comment in NIiter 2023-08-16 11:14:19 +02:00
Francesco Lannutti 1110019ff2 Changed the PivTol in SMPreorder with PivRel 2023-08-16 11:14:19 +02:00
Francesco Lannutti 0b7dc09fc1 Fixed the accounting statistics for SPICE and CIDER about number of elements in KLU 2023-08-16 11:14:19 +02:00
Francesco Lannutti 3b1f5e6122 Changed the Error message in klusmp.c to Information 2023-08-16 11:14:19 +02:00
Francesco Lannutti 88074a23c9 Fixed 2 files due to rebasing KLU branch on the master branch - 8/7/2020 2023-08-16 11:14:19 +02:00
Francesco Lannutti fe89da2b2c 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-08-16 11:14:18 +02:00
Francesco Lannutti 4d00b67b4d Used IF_REAL instead of IF_FLAG 2023-08-16 11:14:18 +02:00
Francesco Lannutti 49f6444957 Added "klu_memgrow_factor" option to control the KLU memory grow factor 2023-08-16 11:14:18 +02:00
Francesco Lannutti 5513f6e5f6 Handled the SINGULAR matrix case in a more clever way! 2023-08-16 11:14:18 +02:00
Francesco Lannutti 658f449c9b Fixed the VSRCbindCSC routine 2023-08-16 11:14:18 +02:00
Francesco Lannutti f487720b10 Fixed BJTbindCSC routine 2023-08-16 11:14:17 +02:00
Francesco Lannutti fbd8d94cdf Fixed again the NIiter loop for KLU 2023-08-16 11:14:17 +02:00
Francesco Lannutti 710341bbfd 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-08-16 11:14:17 +02:00
Francesco Lannutti 72d78a2053 Added the KLU support to ADMS models 2023-08-16 11:14:17 +02:00
Francesco Lannutti 77fa5c06a9 Fixed the KLU returns values for Factorization and ReFactorization.
If the matrix is Numerically Singular, continue the factorization till the end
2023-08-16 11:14:17 +02:00
Francesco Lannutti 8a8adfe451 First KLU support of CIDER TWOD simulations 2023-08-16 11:14:17 +02:00
Francesco Lannutti fdd815183a Fix SMPfindElement for KLU 2023-08-16 11:14:17 +02:00
Francesco Lannutti 11fb209ee6 First KLU support of CIDER ONED simulations 2023-08-16 11:14:16 +02:00
Francesco Lannutti 4c351f51bd Moved the KLU binding structures to be property of the XSPICE connections, instead of XSPICE instances 2023-08-16 11:14:16 +02:00
Francesco Lannutti 534394c0bb First attempt of KLU support for XSPICE 2023-08-16 11:14:16 +02:00
Francesco Lannutti 6b6642fbcf Updating CKTsetup in preparation of XSPICE support 2023-08-16 11:14:16 +02:00
Francesco Lannutti f3127234aa Maintain the KLU related changes under '#ifdef KLU' 2023-08-16 11:14:16 +02:00
Francesco Lannutti a5885f0e95 Compacted the flag for KLU matrix being Real or Complex to one single bit 2023-08-16 11:14:15 +02:00
Francesco Lannutti 43f7bede8f Added the support for .ic statement in KLU mode 2023-08-16 11:14:15 +02:00
Francesco Lannutti f66e06b702 Fixed the KLU binding for BJT 2023-08-16 11:14:15 +02:00
Francesco Lannutti 759fc38647 Commented out some debug printings 2023-08-16 11:14:14 +02:00
Francesco Lannutti 330de64b19 Fixed the two routines for SPARSE (thx to Marcel Hendrix) 2023-08-16 11:14:14 +02:00
rlar e31867ead9 (int) casts, applied to a double which just has been limited to INT_MAX 2023-08-16 11:14:14 +02:00
rlar f690a2d5e9 casting, use (int) sizeof(), to swallow some warnings 2023-08-16 11:14:14 +02:00
rlar eda8b57eb4 use TMALLOC 2023-08-16 11:14:14 +02:00
Francesco Lannutti b87c539435 Handling the general case for an empty CSC matrix during the conversion to CSR format 2023-08-16 11:14:14 +02:00
Francesco Lannutti 8b302dfdab Ordered the COO format also along the columns to have a correct CSR format 2023-08-16 11:14:14 +02:00
Francesco Lannutti 7b0d1ef2ac Fixed the AC part of the Sensitivity Analysis 2023-08-16 11:14:13 +02:00
Francesco Lannutti 7f85b35260 Fixed the CSC to CSR conversion for KLU matrix-vector multiplication 2023-08-16 11:14:13 +02:00
Francesco Lannutti 463e2db25a Fixed Sensibility Analysis for KLU - First Trial 2023-08-16 11:14:13 +02:00
Francesco Lannutti 1099b5452e Avoid crashing during the Sensitivity Analysis in KLU, stating that it isn't supported 2023-08-16 11:14:13 +02:00
Francesco Lannutti 0429238df5 Fixed Sensitivity Analysis integration for KLU 2023-08-16 11:14:13 +02:00
Francesco Lannutti 0823ed4e16 Fixed the sign inversion calculation for the determinant of KLU 2023-08-16 11:14:13 +02:00
Francesco Lannutti e77879ae50 Implement klu_z_print() 2023-08-16 11:14:13 +02:00
Francesco Lannutti 0afda7f89c Implement spMatrix_CSC_dump() 2023-08-16 11:14:13 +02:00
rlar d2562ba82f fix vsrc for pz analysis 2023-08-16 11:14:12 +02:00
Francesco Lannutti 634156844b Use spDeterminant_KLU 2023-08-16 11:14:12 +02:00
Francesco Lannutti 4d37c32a14 Implemented spDeterminant_KLU 2023-08-16 11:14:12 +02:00
Francesco Lannutti 4a32cfe362 Fixed SMPcZeroCol 2023-08-16 11:14:12 +02:00
Francesco Lannutti 4489f2b0b2 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-08-16 11:14:12 +02:00
Francesco Lannutti 0146a6667c other fixes 2023-08-16 11:14:12 +02:00
Francesco Lannutti f25b22e56a Fixed a bug in SMPpreOrder and let KLU digest an empty matrix 2023-08-16 11:14:12 +02:00
Francesco Lannutti dddaab6637 Implemented the Solve Transpose for KLU 2023-08-16 11:14:11 +02:00
Francesco Lannutti 6aece7faf7 Fixed the SMPcSolve routine for KLU 2023-08-16 11:14:11 +02:00
Francesco Lannutti 4a7dd29867 Enhanced KLU to avoid loosing computation cycles. The speedup is quite low, though: ~1% 2023-08-16 11:14:11 +02:00
Francesco Lannutti 15e732dbb4 fix the list of supported devices 2023-08-16 11:14:11 +02:00
rlar e73dae237e Added CPL Model to KLU 2023-08-16 11:14:11 +02:00
Francesco Lannutti 716fa64765 Added HISIMHV2 Model to KLU 2023-08-16 11:14:11 +02:00
Francesco Lannutti 14378755f5 Added ASRC Model to KLU 2023-08-16 11:14:11 +02:00
Francesco Lannutti a47ed5dba4 KLU Integration from scratch #7, devices, bsim4/ (which is bsim4v8) 2023-08-16 11:14:11 +02:00
rlar 717a99b07a KLU Integration from scratch #6, devices, bsim4v7/ 2023-08-16 11:14:10 +02:00
Francesco Lannutti 405f206ba6 Fixed the KLU package to let it correctly compile in libngspice.so 2023-08-16 11:14:10 +02:00
Francesco Lannutti 2dcc83510b KLU Integration from scratch #5, devices 2023-08-16 11:14:10 +02:00
Francesco Lannutti ce18d6846f KLU Integration from scratch #4, changed files 2023-08-16 11:14:10 +02:00
Francesco Lannutti cf5991ae81 KLU Integration from scratch #1, new files 2023-08-16 11:14:10 +02:00
Francesco Lannutti 60b4c3cda7 move include files to src/include/ngspice/ 2023-08-16 11:14:10 +02:00
Francesco Lannutti 23da61873d fix include file directories (will be in src/include/ngspice/) 2023-08-16 11:14:09 +02:00
rlar 71e403652f delete-trailing-whitespace 2023-08-16 11:14:09 +02:00
Francesco Lannutti 9dad1ae0b7 incorporate KLU source files from SuiteSparse-3.7.0.tar.gz 2023-08-16 11:14:09 +02:00
rlar e5c40de9e7 SuiteSparse.org, recipe for incorporation of SuiteSparse-3.7.0.tar.gz 2023-08-16 11:14:09 +02:00
Holger Vogt 2275fb85da add a comment 2023-08-14 23:40:48 +02:00
Holger Vogt 313a0cdf66 Do not set a breakpoint at current time,
as this may lead to trigger a "breakpoint in the past"
message and stop the simulation, depending on double
precision details during comparison.
2023-08-14 15:56:59 +02:00