Commit Graph

543 Commits

Author SHA1 Message Date
Holger Vogt 89c03ca640 fix bug no 819, which has been introduced by
d5ef8a366 ("Remove all entries connected to IPC, an outdated (>30 years) method to link ngspice to a now defunct controller (ATESSE).", 2025-10-21)
2026-02-03 14:09:22 +01:00
Holger Vogt 31a8486c03 make nthreads local 2026-02-03 14:08:42 +01:00
Holger Vogt 4d24b18f35 Remove all entries connected to IPC, an outdated (>30 years)
method to link ngspice to a now defunct controller (ATESSE).
2026-02-03 14:07:59 +01:00
Holger Vogt 7fbb4450d4 Improve comments, add note to user. 2026-02-03 14:07:35 +01:00
Holger Vogt 48d28f9f4a Entries to old CLUSTER code removed. 2026-02-03 14:07:15 +01:00
Holger Vogt 5443385ae9 Another update on comments 2026-02-03 14:06:11 +01:00
Holger Vogt d49134df93 Small update on comments. 2026-02-03 14:05:46 +01:00
Holger Vogt 1f2a6f3665 document the goto labels. 2026-02-03 14:05:12 +01:00
Holger Vogt 58380ba1b8 Remove all entries related to CLUSTER,
an old, never finished attempt to run transient in parallel.
2026-02-03 14:04:50 +01:00
Holger Vogt 9fc4435dca Update on comments. 2026-02-03 14:04:36 +01:00
Holger Vogt 7fe6ab5424 Improve error messages. 2026-02-03 14:03:58 +01:00
Giles Atkinson 29ce826cf6 Improve efficiency of linked list search. (See BUG 783). 2025-05-30 12:56:41 +02:00
Holger Vogt c3553396d9 beautify the code 2025-05-24 11:30:05 +02:00
Holger Vogt de7cec1735 AC noise: Update opertating point, if variable 'hertz' is given 2025-05-24 11:24:44 +02:00
Holger Vogt 216f462583 Automtically set optran step time for at least 50 iterations 2025-05-24 11:17:42 +02:00
Árpád Bűrmen d659943d77 Per-device load timing support. 2025-05-24 10:56:33 +02:00
dwarning a6d6a07f79 S to Z matrix conversion by formula instead of Y inversion
low limiting Rn and Cy to prevent division by 0, fix provided by Alessio Cacciatori

there are still problems in Z matrix conversion in specific networks
2025-01-11 09:22:15 +01:00
Holger Vogt e0a7d821e9 Notes go to stdout, not stderr 2025-01-09 13:21:52 +01:00
Giles Atkinson abc3fceb7e Enhance sensitivity analysis with an option to choose the parameters
to be varied.  Shell-style wildcards ("*?") are supported.
2024-12-06 22:44:06 +01:00
Giles Atkinson c30bc423ba Initial fix for Bug 710 -
"The log file appears blank when a VDMOS element is added".
The problen was caused by a crash during sensitivity analysis
caused by selecting parameters for wariation based on their
values.  That is not repeatable between passes.  The fix is to
remove that code, but it causes many more parameters to be used.
2024-12-06 22:43:53 +01:00
Holger Vogt a2b8b0d733 In batch mode: if transient simulation fails with 'Timestep too small',
still fill in the number of points in the raw file.
Fixes bug no 714.
2024-12-06 22:39:34 +01:00
dwarning 7b815c743e intel cc see obsolete }; as empty declaration 2024-12-06 22:35:49 +01:00
Holger Vogt 7ac92bb9fc Bail out when the number of s parameter ports is less than 2. 2024-11-02 22:46:39 +01:00
Brian Taylor e130371410 Added: Error: Pole/zero analysis is not (yet) supported with 'option KLU'.
Use 'option sparse' instead.
2024-11-02 22:41:42 +01:00
briantofleeds 09d352be12 This does not fix noise analysis with klu.
It does add missing { and } when event-driven instances are not present.
Without this change CKTop will always be called again directly in NOISEan even
if CKTop was previously called by EVTop. This matches the intended
behavior before #ifdef KLU was added.
2024-11-02 22:41:21 +01:00
Alessio Cacciatori f300154922 Insert correct conversion sections for KLU matrices 2024-11-02 22:39:50 +01:00
Francesco Lannutti 419e821a09 Fixed KLU conversion to complex for SP Analysis 2024-11-02 22:38:03 +01:00
Brian Taylor 3528156d14 Fix bug #680. Check that src/dest memcpy arguments are non-NULL. 2024-11-02 22:35:57 +01:00
Vogt 606c6d0df7 Notes go to stdout. 2024-11-02 22:32:14 +01:00
Vogt 232101af10 Don't dereference a NULL pointer. 2024-11-02 22:32:03 +01:00
Vogt 34549c4524 Note directed to stdout 2024-11-02 22:31:27 +01:00
Holger Vogt f15a92d997 Revise commit
75c2a3c621/
If the frquency difference is less than a decade, use the old
frequency calculation.
If start and stop frequencies are equal, use a single point only.
2024-06-22 14:22:38 +02:00
Holger Vogt a5bf93d04d 'No OP' is the more important news, update note to the user. 2024-06-22 14:20:15 +02:00
Holger Vogt 1cdacad261 optran 0 0 0 0 0 uic may be used to load initial conditions
(.ic=xxx statements) without staring an op iteration.
2024-05-01 10:32:31 +02:00
dwarning 3684db0126 use limexp to prevent NaN with extreme exponents 2024-05-01 10:30:03 +02:00
dwarning 0fdd412324 format 2024-05-01 10:29:53 +02:00
dwarning e8f1cd4c92 too soon return - break is correct 2024-02-14 14:17:01 +01:00
dwarning 8d64381795 rm confusing comments and formatting 2024-02-14 14:14:15 +01:00
dwarning 1c9f8b6345 two corrections in Ycor and NF formulae 2024-02-12 11:08:35 +01:00
Holger Vogt 5266a7c4bc If there is a successful step, but the goal is not yet reached,
don't start with the minimum value of 1.00005, as this may last
forever. Restart with 3.
2024-01-14 11:16:45 +01:00
Holger Vogt 009249eafe Short title 2023-12-27 12:27:31 +01:00
Holger Vogt c1effe3b33 Just a hack to avoid a crash during sensitivity analysis:
Exclude parameter RCO from sens code, if not given,
as sens sets mods->BJTintCollResistGiven to TRUE, which fails due to
missing memory allocation for the extra nodes.
2023-12-27 12:26:56 +01:00
Holger Vogt ca7c6cce71 Avoid crash, when sensitivity analysis is called 2023-12-27 11:32:31 +01:00
Holger Vogt f307586d89 Formatting 2023-12-27 10:42:07 +01:00
Holger Vogt db5e5b08eb Don't switch display to "op", if called from a dc simulation. 2023-12-22 18:16:26 +01:00
Holger Vogt 03905433bb If compatmode hs is set, don't run an extra iteration with
differing mode settings, but go directly to CKTop().
If other or none compat modes, keep existing behavior, as
for example CIDER example may otherwise slow down significantly.

This is to keep dc sim in accordance with other simulators.
2023-12-22 17:21:55 +01:00
Holger Vogt c53b32ffa8 Plug a potential memory leak 2023-12-19 15:30:44 +01:00
Giles Atkinson 508fad0f55 In dctran.c, call EVTcall_hybrids() (which then calls a subset of
code model instances) only when the current timestep was successful.
That is efficient and means that code models may rely on such calls,
for example a co-simulator may safely advance to the end of the timestep.
The function cm_irreversible() that is mentioned in a comment will be
added in a later commit.
2023-11-26 18:29:03 +00:00
Holger Vogt 2a005292db Sparse 1.3 is the matrix solver if no option (sparse or klu) is given.
KLU is selected by 'option klu'
If both 'option klu' and 'option sparse' are given,
the last one executed determines the solver.
'option sparse=0' de-selects spares, i.e. selects klu.
'option klu=0' de-selects klu, selects sparse.
'option klu=1' has the same meaning as 'option klu'.
'option sparse=1' has the same meaning as 'option sparse'.
2023-11-12 16:32:40 +01:00
Giles Atkinson f6f7319792 Add null-pointer checks to some code that crashed when trying
to .print results from a non-existent analysis.  Also remove the
troublesome .plot and .print lines from two examples.
2023-11-09 12:07:31 +00:00