Brian Taylor
7af862af3d
Enable CIDER with KLU for DC, OP, and TRAN analyses. Small signal AC analysis is not yet supported for CIDER complex valued device KLU matrices. The examples/cider testcases produce printed simulation result values which have slight differences between Sparse and KLU. Differences are probably expected and in a few cases are ~1-2%, sometimes a little more. This should be good enough for most CIDER analyses. Francesco did a good piece of work. Runtimes are significantly shorter with KLU.
2026-02-03 13:55:12 +01:00
Holger Vogt
f9b7455d10
Proper conversion bool to int
2024-12-15 10:27:14 +01:00
Holger Vogt
deb3cd9809
Replace all BOOLEAN, BOOL, _Bool by bool
...
Remove all #undef bool (set in conjunction with #iclude <Windows.h>)
2024-12-15 10:25:28 +01:00
Brian Taylor
0555c5d9c7
Make previous KLU support check more transparent.
2023-11-08 11:49:28 +01:00
Brian Taylor
295f212de8
When CIDER is detected, until KLU works with CIDER, print Error: CIDER simulation is not (yet) supported with 'option klu'. Use 'option sparse' instead. and then call controlled exit(1).
2023-11-08 11:49:22 +01: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
2dcc83510b
KLU Integration from scratch #5 , devices
2023-08-16 11:14:10 +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
dwarning
26979079d4
prevent few compiler warnings
2021-12-13 21:40:15 +01:00
Brian Taylor
36313d59f3
Use the current point number as the single digit index for Cider 2D ascii save files. This conforms to the normal usage with other types of ascii rawfile. The numd parser table entry for ic.file now has the correct IF_STRING type.
2021-09-29 20:28:59 +02:00
Holger Vogt
8eeb924460
CIDER: Enable printing either binary or ascii data output to file.
...
Patch provided by Brian Taylor, see
(https://sourceforge.net/p/ngspice/mailman/message/37309841/ )
2021-07-05 14:31:21 +02:00
Holger Vogt
b7012065ae
remove compiler warning by setting variables to 0
2020-03-15 08:50:58 +01:00
rlar
45a70b3a53
rewrite, use enum instead of #define sequences
...
see branch "rewrite-defines2enum"
2018-04-30 19:23:18 +02:00
rlar
d981fb331b
spicelib/devices/*, drop empty destroy functions
2018-04-15 07:13:06 +02:00
rlar
cd1bbf2003
rewrite, use designated initializer for SPICEdev initialisation
2018-02-21 20:02:00 +01:00
rlar
2c9bfecbad
GENmodel, GENinstance, change layout, #3/4, coccinelle semantic patch
2018-02-17 11:53:05 +01:00
rlar
2dcb79d09c
GENmodel, GENinstance, change layout, #1/4, coccinelle semantic patch
2018-02-17 11:53:01 +01:00
rlar
1befa488f6
DEVdestroy(), change API, #1/2, coccinelle semantic patch
2018-02-17 11:52:58 +01:00
rlar
b29ad51a6c
DEVdestroy(), move code over to DEVmodDelete() and DEVdelete()
...
This patch itself is not valid until all invokers of DEVdestroy()
(currently this is CKTdestroy() exclusively)
are rewritten to invoke DEVmodDelete() and DEVdelete()
2018-02-17 11:52:55 +01:00
rlar
b17ee71576
DEVmodDelete(), change API, #1/2, coccinelle semantic patch
2018-02-17 11:52:51 +01:00
rlar
e0f1e5a3de
DEVdelete(), change API, #1/2, coccinelle semantic patch
2018-02-17 11:52:44 +01:00
rlar
a8e440eabe
whitespace cleanup, comments cleanup, line wrap
2018-02-14 18:53:30 +01:00
rlar
a7cc37b2e2
ifparm, fix numdev too
2017-04-19 19:18:13 +02:00
rlar
00c743c37d
src/spicelib/devices/*/*def*.h, declare external node variables const
...
for almost all other external nodes (notable exception "txl")
src/spicelib/devices/*/*def*.h, declare external node variables const
1) The compiler shall emit an error message if we still mess around
with external node numbers.
2) To mark which elements of the instance struct are meant to be set
externally when parsing the netlist
These "external" node variables are exclusively set via the
overlay struct GENinstance, member GENnode[]
We shall not mess around with these "external" node variables
because it would get rather difficult to avoid bugs considering
re-invocation of the XXXsetup() routine.
This gets interesting for devices with optional ports,
which get copied around depending on the amount of connected ports.
2017-04-12 21:34:02 +02:00
rlar
4d79617cf1
spicelib/devcies/*dest.c, rewrite DEVdestroy() functions
2016-07-30 21:10:32 +02:00
rlar
d298d5cc2f
use memset() instead of deprecated bzero()
2016-07-30 20:58:33 +02:00
rlar
141ed61ec8
use memcpy() instead of deprecated bcopy()
2016-07-30 20:58:19 +02:00
rlar
7aa454e5b4
rewrite, using tprintf()
2014-04-05 19:10:12 +02:00
Henrik Forsten
3794c1eb20
mark end of struct GENmodel overlay
2014-01-19 17:38:32 +01:00
dwarning
bf9ad0bdfd
introduce new SPICEdev operation `DEVsoaCheck()'
2014-01-02 09:32:32 +01:00
rlar
ccb600f3c1
drop `NIL' macro
2013-12-31 16:12:37 +01:00
rlar
14687910d9
rewrite `TSTALLOC()' macro for auto indentation
...
checked for object code invariance
2013-12-31 16:10:34 +01:00
Francesco Lannutti
08ec219417
remove all .cvsignore files
2012-10-26 18:30:14 +02:00
Francesco Lannutti
c23bd59c44
removed ancient PARALLEL_ARCH feature
...
removed variables
ARCHme
ARCHsize
removed functions
SMPcombine()
SMPcCombine()
CKTpartition()
removed files
spcombin.c
cktpartn.c
removed struct slots
STATcombineTime
STATtranCombTime
STATacCombTime
GENowner
<MODEL>owner
2012-10-22 23:06:25 +02:00
rlar
cb0a48801d
introduce AM_CFLAGS = $(STATIC)
2012-07-07 14:51:39 +02:00
rlar
14f884729c
raw_write() always fopen("wb"), even on windows use "\n" line termination
2012-06-12 21:26:29 +02:00
rlar
e598598d70
Reverting "NUMDdump(): add binary mode"
...
This reverts commit 40e8f868da
2012-06-12 21:26:29 +02:00
h_vogt
40e8f868da
NUMDdump(): add binary mode
...
fopen() with wb
write operating point (external state) for true binary output
2012-06-12 21:26:27 +02:00
rlar
afa1371746
#3/6 config.h --> ngspice/config.h, AM_CPPFLAGS
2011-12-27 12:05:51 +00:00
rlar
4ca58067a2
#2/6 config.h --> ngspice/config.h, #include's
2011-12-27 11:33:01 +00:00
rlar
0b5042e7da
remove CVS `Id',`log' etc. keyword incantations
2011-12-13 19:57:45 +00:00
rlar
10346e055c
#1/4 #include <ngspice/...> --> #include "ngspice/..."
2011-12-11 18:05:00 +00:00
rlar
d26015586c
#1/7 use a subdirectory "ngspice" for includes to create a uniq namespace
2011-08-20 17:27:09 +00:00
rlar
23056573d8
code cleanup, drop NULL pointer casts
2011-04-28 15:59:36 +00:00
rlar
05441d5823
Nr 5/5 (x = ...) == NULL , swallow warnings
2010-11-19 18:54:40 +00:00
rlar
ad8ad56955
Nr 3/5 (x = ...) != 0 , swallow warnings
2010-11-19 18:51:03 +00:00
rlar
abb87a6115
rename `IGNORE()' --> `NG_IGNORE()'
2010-11-16 20:38:24 +00:00
rlar
80286e0032
pour `IGNORE()' all over the source
2010-11-16 19:11:32 +00:00
rlar
d0dba768f8
change the type of a bunch of variables from `int' to `size_t'
2010-11-06 20:11:24 +00:00
rlar
f7bd3f56c8
change some model parameters from IF_REAL to IF_INTEGER
2010-11-06 15:16:39 +00:00