Commit Graph

264 Commits

Author SHA1 Message Date
Francesco Lannutti f5aefd7db8 Merge remote branch 'origin/new_kirchhoff-4' into KLU-kirchhoff-4
Conflicts:
	configure.ac
	src/include/ngspice/devdefs.h
	src/include/ngspice/smpdefs.h
	src/maths/sparse/spsmp.c
	src/spicelib/devices/asrc/asrcinit.c
	src/spicelib/devices/bjt/Makefile.am
	src/spicelib/devices/bjt/bjtinit.c
	src/spicelib/devices/bsim1/Makefile.am
	src/spicelib/devices/bsim1/bsim1ext.h
	src/spicelib/devices/bsim1/bsim1init.c
	src/spicelib/devices/bsim2/Makefile.am
	src/spicelib/devices/bsim2/bsim2ext.h
	src/spicelib/devices/bsim2/bsim2init.c
	src/spicelib/devices/bsim3/Makefile.am
	src/spicelib/devices/bsim3/bsim3ext.h
	src/spicelib/devices/bsim3/bsim3init.c
	src/spicelib/devices/bsim3soi_dd/Makefile.am
	src/spicelib/devices/bsim3soi_dd/b3soiddext.h
	src/spicelib/devices/bsim3soi_dd/b3soiddinit.c
	src/spicelib/devices/bsim3soi_dd/b3soiddset.c
	src/spicelib/devices/bsim3soi_fd/Makefile.am
	src/spicelib/devices/bsim3soi_fd/b3soifdext.h
	src/spicelib/devices/bsim3soi_fd/b3soifdinit.c
	src/spicelib/devices/bsim3soi_pd/Makefile.am
	src/spicelib/devices/bsim3soi_pd/b3soipdext.h
	src/spicelib/devices/bsim3soi_pd/b3soipdinit.c
	src/spicelib/devices/bsim3soi_pd/b3soipdset.c
	src/spicelib/devices/bsim3v0/Makefile.am
	src/spicelib/devices/bsim3v0/bsim3v0ext.h
	src/spicelib/devices/bsim3v0/bsim3v0init.c
	src/spicelib/devices/bsim3v1/Makefile.am
	src/spicelib/devices/bsim3v1/bsim3v1ext.h
	src/spicelib/devices/bsim3v1/bsim3v1init.c
	src/spicelib/devices/bsim3v32/Makefile.am
	src/spicelib/devices/bsim3v32/bsim3v32ext.h
	src/spicelib/devices/bsim3v32/bsim3v32init.c
	src/spicelib/devices/bsim4/Makefile.am
	src/spicelib/devices/bsim4/bsim4def.h
	src/spicelib/devices/bsim4/bsim4ext.h
	src/spicelib/devices/bsim4/bsim4init.c
	src/spicelib/devices/bsim4v4/Makefile.am
	src/spicelib/devices/bsim4v4/bsim4v4ext.h
	src/spicelib/devices/bsim4v4/bsim4v4init.c
	src/spicelib/devices/bsim4v5/Makefile.am
	src/spicelib/devices/bsim4v5/b4v5set.c
	src/spicelib/devices/bsim4v5/bsim4v5ext.h
	src/spicelib/devices/bsim4v5/bsim4v5init.c
	src/spicelib/devices/bsim4v6/Makefile.am
	src/spicelib/devices/bsim4v6/bsim4v6ext.h
	src/spicelib/devices/bsim4v6/bsim4v6init.c
	src/spicelib/devices/bsimsoi/Makefile.am
	src/spicelib/devices/bsimsoi/b4soiext.h
	src/spicelib/devices/bsimsoi/b4soiinit.c
	src/spicelib/devices/bsimsoi/b4soiset.c
	src/spicelib/devices/cap/Makefile.am
	src/spicelib/devices/cap/capdefs.h
	src/spicelib/devices/cap/capext.h
	src/spicelib/devices/cap/capinit.c
	src/spicelib/devices/cccs/cccsext.h
	src/spicelib/devices/cccs/cccsinit.c
	src/spicelib/devices/ccvs/ccvsinit.c
	src/spicelib/devices/cpl/cplinit.c
	src/spicelib/devices/csw/cswinit.c
	src/spicelib/devices/dio/Makefile.am
	src/spicelib/devices/dio/diodefs.h
	src/spicelib/devices/dio/dioext.h
	src/spicelib/devices/dio/dioinit.c
	src/spicelib/devices/hfet1/Makefile.am
	src/spicelib/devices/hfet1/hfetext.h
	src/spicelib/devices/hfet1/hfetinit.c
	src/spicelib/devices/hfet2/Makefile.am
	src/spicelib/devices/hfet2/hfet2ext.h
	src/spicelib/devices/hfet2/hfet2init.c
	src/spicelib/devices/hisim2/Makefile.am
	src/spicelib/devices/hisim2/hsm2ext.h
	src/spicelib/devices/hisim2/hsm2init.c
	src/spicelib/devices/hisimhv1/hsmhvext.h
	src/spicelib/devices/hisimhv1/hsmhvinit.c
	src/spicelib/devices/ind/Makefile.am
	src/spicelib/devices/ind/inddefs.h
	src/spicelib/devices/ind/indinit.c
	src/spicelib/devices/isrc/isrcinit.c
	src/spicelib/devices/jfet/Makefile.am
	src/spicelib/devices/jfet/jfetext.h
	src/spicelib/devices/jfet/jfetinit.c
	src/spicelib/devices/jfet/jfetset.c
	src/spicelib/devices/jfet2/Makefile.am
	src/spicelib/devices/jfet2/jfet2ext.h
	src/spicelib/devices/jfet2/jfet2init.c
	src/spicelib/devices/jfet2/jfet2set.c
	src/spicelib/devices/ltra/ltrainit.c
	src/spicelib/devices/mes/Makefile.am
	src/spicelib/devices/mes/mesext.h
	src/spicelib/devices/mes/mesinit.c
	src/spicelib/devices/mes/messetup.c
	src/spicelib/devices/mesa/Makefile.am
	src/spicelib/devices/mesa/mesaext.h
	src/spicelib/devices/mesa/mesainit.c
	src/spicelib/devices/mos1/Makefile.am
	src/spicelib/devices/mos1/mos1ext.h
	src/spicelib/devices/mos1/mos1init.c
	src/spicelib/devices/mos2/Makefile.am
	src/spicelib/devices/mos2/mos2ext.h
	src/spicelib/devices/mos2/mos2init.c
	src/spicelib/devices/mos3/Makefile.am
	src/spicelib/devices/mos3/mos3ext.h
	src/spicelib/devices/mos3/mos3init.c
	src/spicelib/devices/mos6/Makefile.am
	src/spicelib/devices/mos6/mos6ext.h
	src/spicelib/devices/mos6/mos6init.c
	src/spicelib/devices/mos9/Makefile.am
	src/spicelib/devices/mos9/mos9ext.h
	src/spicelib/devices/mos9/mos9init.c
	src/spicelib/devices/res/Makefile.am
	src/spicelib/devices/res/resdefs.h
	src/spicelib/devices/res/resext.h
	src/spicelib/devices/res/resinit.c
	src/spicelib/devices/soi3/Makefile.am
	src/spicelib/devices/soi3/soi3ext.h
	src/spicelib/devices/soi3/soi3init.c
	src/spicelib/devices/sw/swinit.c
	src/spicelib/devices/tra/trainit.c
	src/spicelib/devices/txl/txlinit.c
	src/spicelib/devices/txl/txlsetup.c
	src/spicelib/devices/urc/urcinit.c
	src/spicelib/devices/vbic/Makefile.am
	src/spicelib/devices/vbic/vbicinit.c
	src/spicelib/devices/vccs/vccsinit.c
	src/spicelib/devices/vcvs/vcvsext.h
	src/spicelib/devices/vcvs/vcvsinit.c
	src/spicelib/devices/vsrc/Makefile.am
	src/spicelib/devices/vsrc/vsrcdefs.h
	src/spicelib/devices/vsrc/vsrcext.h
	src/spicelib/devices/vsrc/vsrcinit.c
2013-09-15 20:00:34 +02:00
Francesco Lannutti 2b27524b51 Implemented a new check for the KCL Verification, based on the maximum of the unknown current branches at each voltage node.
Please note that this check introduces the theoretically correct check, but, since achieving this target involves the perfect knowledge of every model,
 we can use this suboptimal and practical check (to be extended with the other possible unknown current branches)
2013-07-15 22:58:38 +02:00
Francesco Lannutti e102ebebe3 Implemented a new check for the KCL Verification, based on the maximum of the unknown current branches at each voltage node.
Please note that this check introduces the theoretically correct check, but, since achieving this target involves the perfect knowledge of every model,
 we can use this suboptimal and practical check (to be extended with the other possible unknown current branches)
2013-07-15 22:56:42 +02:00
Francesco Lannutti a93d51a074 Added a conditional compilation switch for the KCL Verification 2013-07-15 22:56:39 +02:00
Francesco Lannutti 988cf25c24 Created a New Infrastructure for the KCL Verification based on the Linear and Non-Linear Node Method 2013-07-15 22:56:39 +02:00
Francesco Lannutti d1c6492157 Implemented the KCL verification in place of the classical SPICE3 check for the circuit currents
This version modifies every model directly to obtain fvk in a separate vector, instead of using a matrix-vector product
2013-07-15 22:56:36 +02:00
rlar 1e85da2369 simplify #ifdef nesting #4/4 2013-07-14 20:31:05 +02:00
rlar 656db6805d simplify #ifdef nesting #3/4 2013-07-14 20:31:04 +02:00
rlar 1f21bcfbe3 simplify #ifdef nesting #2/4 2013-07-14 20:31:04 +02:00
rlar 950d372e13 simplify #ifdef nesting #1/4 2013-07-14 20:31:04 +02:00
h_vogt b973d32778 shared ngspice, dctran.c fcn to add breakpoints 2013-07-14 18:49:25 +02:00
rlar b19342581b cleanup OUTattributes() invocations
checked for object file invariance
2013-07-14 15:15:38 +02:00
rlar f2343d2fe8 cleanup IFnewUid() invocations
checked for object file invariance
2013-07-14 15:15:04 +02:00
rlar ca90bc647c cleanup OUTpBeginPlot() invocations
checked for object file invariance
2013-07-14 15:11:00 +02:00
rlar 72ddab4213 cleanup comment 2013-07-14 15:07:22 +02:00
rlar f14c42b571 polish `MERROR' macro
checked for object file invariance
2013-07-14 15:00:50 +02:00
rlar 113d4ede7a CKTfndDev(), drop unused argument `modname' which is always NULL 2013-06-30 20:24:21 +02:00
rlar 0cc59b1dc8 cleanup CKTfndDev(), findInstance() invocation 2013-06-30 20:24:13 +02:00
rlar 052898ec27 avoid `(IFuid) 0' cast 2013-06-22 20:52:14 +02:00
rlar d2207784b5 convert K&R function definitions to ansi style 2013-06-22 20:51:33 +02:00
rlar 5288973f74 fix for automatic indention
this part of

> commit f9144f90b3
> Author: pnenzi <pnenzi>
> Date:   Tue May 23 20:04:32 2000 +0000
>
>     Applied Widlok patch

is hostile to automatic indention
2013-06-22 20:50:04 +02:00
h_vogt 2c5b78c18b cktop.c: indentation 2013-06-09 10:20:20 +02:00
h_vogt a205868427 dctran.c breakpoint added for uic, bug no. 3606715 2013-05-20 19:13:27 +02:00
h_vogt 3612ba951c indentation 2013-05-18 14:57:17 +02:00
dwarning 8ea98aea6a cleanings for sens2 code wrt SENSDEBUG printout 2013-04-27 11:01:02 +02:00
dwarning ef7794de2e code for SENSDEBUG fixed 2013-04-23 09:12:42 +02:00
Francesco Lannutti eb9060376c fix sense2, which is unsupported code 2013-04-07 16:21:08 +02:00
Francesco Lannutti c84d46bab5 Added an option to still select SPARSE 1.3 even when KLU is compiled
However, in this case, KLU is selected by default
To enable SPARSE 1.3, please use the following syntax:
.OPTIONS sparse
in NON-capital letters
2013-04-03 16:37:59 +02:00
Francesco Lannutti bfe7a5444c Deleted old parameters due to the New Binding Method 2013-04-03 09:34:41 +02:00
Francesco Lannutti 38947fb651 Experimental changes:
Introduced new binding scheme for RES, CAP, IND, VSRC, (ISRC), BSIM4 models
 to improve speed
 The old method will not work anymore, so please use KLU only if you have
 these models in your circuit and nothing more!
2013-03-27 13:26:42 +01:00
Francesco Lannutti 9e29756a98 Reviewed a bit the way to measure
the size of the Matrix and the
 size of the Number of Non-Zeroes
2013-03-27 13:26:41 +01:00
Francesco Lannutti 88ef8f71fb Added a function called DEVbindCSCComplexToReal
in order to switch back from a Complex Matrix
   to a Real Matrix. This is useful inside the
   AC Analysis. BE CAREFUL that all the files
   involved in this change are generated automatically
   by a script!
  Added a flag that indicates if the matrix is
   Real or Complex
  Revisited AC Analysis using KLU. Now it's possible
   to have any sort of analysis in queue and all
   the jobs will be executed successfully. No more
   Segmentation Faults :)
  Removed the CSC Conversion from CKTop and moved
   to CKTsetup
  Solved some bugs in the KLU-SMP interface
2013-03-27 13:26:41 +01:00
Francesco Lannutti 6225e05b8c Corrected a bug that caused segmentation fault
if the ACCT was called before a simulation
2013-03-27 13:26:41 +01:00
h_vogt 9163ed93a9 dctran.c: better rounding for status report 2013-03-23 17:25:41 +01:00
h_vogt e652a0e48d Separate progress report from having Windows GUI 2013-03-23 11:03:08 +01:00
h_vogt 0ed5862586 ngspice.h: single extern declaration of fcn SetAnalyse 2013-03-23 10:50:23 +01:00
h_vogt 18938c948b HAS_WINDOWS --> HAS_WINGUI
MS Windows compile without GUI possible!
2013-03-23 09:54:44 +01:00
rlar 7b32d828b8 cktdojob.c, bug fix, WANT_SENSE2 specific
`ANALmaxnum' was uninitialized

https://sourceforge.net/tracker/?func=detail&atid=423915&aid=3604609&group_id=38962
2013-02-14 19:00:17 +01:00
rlar 3583277603 use SP_VOLTAGE instead of literal value `3'
(grep "git --no-pager grep -nH -e '->[ \t]*type.*[0-9]'")
2013-02-03 15:52:49 +01:00
rlar 719705adbc retire #define NODE_VOLTAGE, use SP_VOLTAGE instead
(grep "git --no-pager grep -nH -e '\\(SP_\\|NODE_\\)\\(VOLTAGE\\|CURRENT\\)'")
2013-02-03 15:52:49 +01:00
rlar f081cf8606 cleanup, use array operator
checked for object file invariance on linux with
   ./configure --enable-debug=no --enable-maintainer-mode --with-readline=yes --enable-cider --enable-ndev --enable-pss --enable-xspice
2013-01-26 14:40:29 +01:00
rlar 805753d28c avoid leading underscore in preprocessor macros 2013-01-22 21:00:29 +01:00
Francesco Lannutti d448378f58 Fixed a memory leak in dcpss.c on the "err_conv" array 2013-01-12 14:10:21 +01:00
h_vogt 82c5d5b3be dcpss.c: Allow XSPICE usage without excessive debug message 2012-12-30 15:34:24 +01:00
h_vogt 0ecd633334 dcpss.c : compatibility to MS Visual Studio C
vngspice.vcproj, config.h: add PSS to Vc project
2012-12-28 21:19:20 +01:00
Stefano Perticaroli 79bffc78a1 next version of PSS2
which was reviewed and rewritten on branch `PSS-2-try-to-rebase+4'
by Stefano Perticaroli and Francesco Lannutti
2012-12-28 18:15:37 +01:00
rlar 0be61b3e5a remove PSS2 2012-12-28 18:10:05 +01:00
Francesco Lannutti 574d39e29c remove almost empty src/maths/ni/nipred.h 2012-12-25 02:27:04 +01:00
Francesco Lannutti e27d43cd0c remove empty src/maths/ni/*.h include files 2012-12-24 11:28:30 +01:00
h_vogt 237fd538d1 cktntask.c: remove meory leak 2012-12-22 10:39:15 +01:00