Commit Graph

9480 Commits

Author SHA1 Message Date
Holger Vogt 2c0aabd760 Remove linker warnings (VS2022) 2026-04-25 11:46:35 +02:00
Holger Vogt 1636ca3ce1 Show that the external process 'gnuplot' is running (Windows only) 2026-04-24 23:30:00 +02:00
Holger Vogt 35b487108c Update to notes and error messages
Use stderr or stdout adequately
Reported by Dmitriy
2026-04-24 21:00:51 +02:00
Holger Vogt b0a625a496 Use controlled exit
Bug reported by Dmitriy
2026-04-24 21:00:07 +02:00
Holger Vogt c9aac14fc1 Fix a bug reported by Dmitriy, replace = by == 2026-04-24 20:59:35 +02:00
Holger Vogt bc7eb4fdd4 Show equal x axes 2026-04-24 20:49:14 +02:00
Holger Vogt e6e3d62118 Fix a bug in the SFFM current source, reported by Dmitriy.
Enable TD.
2026-04-24 19:53:45 +02:00
Holger Vogt 24240d0e9a All paths return a value 2026-04-24 19:52:22 +02:00
Holger Vogt 665a4944eb Fix a bug, reported by Dmitriy 2026-04-24 17:58:09 +02:00
Holger Vogt 597358f4a8 remove linker warning. 2026-04-24 15:58:05 +02:00
Paul Campbell 5490c3c33d ngspice crashes in eprvcd with 3 or more analog parameters.
Fixed by changing the parameter sequence and zeroing the initial array.
2026-04-24 15:28:49 +02:00
Holger Vogt 08accebcd3 Move the memory check to a place where it is called once only per plot 2026-04-24 15:21:34 +02:00
Holger Vogt 215dd0e136 Status display 'shell', if shell command takes its time. 2026-04-24 14:47:15 +02:00
Seth Hillbrand 6bb89dac01 Implement MIFnoise(), the generic noise callback for all XSPICE code
models. Two discovery modes are supported: declarative, where models
define reserved parameter names (noise_voltage, noise_current,
noise_corner, noise_exponent) and get automatic noise sources and
programmatic, where models register sources via cm_noise_add_source()
during MIF_NOI analysis calls.
2026-04-22 08:45:28 +02:00
Seth Hillbrand 5afef46b5c OTA (operational transconductance amplifier) code model as a
reference implementation that exercises the programmatic noise interface.
2026-04-22 08:45:28 +02:00
Holger Vogt 3e4df63d05 Add ota to VC analog project 2026-04-22 08:45:28 +02:00
Seth Hillbrand 013408ac08 Implement MIFnoise(), the generic noise callback for all XSPICE code
models. Two discovery modes are supported: declarative, where models
define reserved parameter names (noise_voltage, noise_current,
noise_corner, noise_exponent) and get automatic noise sources and
programmatic, where models register sources via cm_noise_add_source()
during MIF_NOI analysis calls.

Also add an OTA (operational transconductance amplifier) code model as a
reference implementation that exercises the programmatic noise interface.
2026-04-22 08:45:27 +02:00
Holger Vogt 4614452f19 Info message to stdout, not stderr 2026-04-21 20:01:48 +02:00
grayfox 4cf82e6a52 Fix NULL dereference of getpwuid() result and missing tfree() 2026-04-21 20:00:46 +02:00
Holger Vogt 72f2b8d6e1 Add missing 2026-04-20 22:49:31 +02:00
Holger Vogt da9371a3ef Add missing, fixes bug 839, reported by Mamoru Tasaka 2026-04-20 22:46:45 +02:00
Holger Vogt 668329ca3e PSS updates:
Remove 1e6 factor from lines 647-653: this will re-enable convergence.
Exclude division by pred[i] if it is 0.
If predsum is 0, go out sucessfully.
Improve comments.
Add updates from dctran.
2026-04-20 17:06:53 +02:00
Holger Vogt a3102a7041 Some tiny updates for pss examples 2026-04-20 17:02:10 +02:00
Holger Vogt 21b3131e12 Implement getrusage() with ru_maxrss permanently for Apple ARM. 2026-04-18 13:27:07 +02:00
Holger Vogt 7859aa0db9 Updating the 'available memory' measurement for Apple ARM 64 bit 2026-04-17 17:10:31 +02:00
Holger Vogt 1a621eb08e load both standard and nqs PSP models 2026-04-12 11:53:52 +02:00
Holger Vogt e1bc444380 Update van der Pol oscillator
Add oscillators with .control section
2026-04-12 11:47:14 +02:00
Holger Vogt a2a22c0cee Improve PSS error messages 2026-04-11 14:49:32 +02:00
Holger Vogt 8351188e60 PSS: new breakpoint deletion, copied from dctran.c:
no more endless loop.
Tiny updates to comments
PSSDEBUG flag added
2026-04-11 14:23:20 +02:00
Holger Vogt b9221a07a3 Fix a bug when evaluating -0.5^3.
Use code which has been up to now only applied with LT compatibility.
2026-04-11 14:12:52 +02:00
Holger Vogt afd4eb64ed Fix a bug introduced by yesterday's commit
8abfb5aeb0/
2026-04-07 22:25:27 +02:00
Holger Vogt 8abfb5aeb0 Remove unused ft_gidb
Add debug ft_shvecsearch
Make ft_codemodelerror more verbose.
2026-04-06 14:15:42 +02:00
Keith OHara 0638aaa160 Continue Newton iteration until currents settle.
For each type of device, a *convTest function determines if the
current through that device is converged within tolerance,
and sets CKTnoncon if the current is not yet converged.

ASCRconvTest() erroneously subtracted old current from old,
rather than old from new, when evaluating convergence.

Also, since at least 3f5, the calling function NIconvTest assumed
that the worker functions indicated non-convergence through their
return value, so was ignoring the reports of current nonconvergence.
2026-04-06 00:01:12 +02:00
Holger Vogt 55189b01fe Remove obsolete adms branch 2026-04-04 15:25:06 +02:00
Holger Vogt 864ee815bc Update VSRC and ISRC pulse sources
Enable PW=0, improve 'incomplete' pulse specifications

TR negative or 0 --> TR = ckt->CKTstep
TF negative or 0 --> TF = ckt->CKTstep
if PW not given, but TR and TF --> PW = 0
PW < 0 --> PW = ckt->CKTfinalTime
PER <= 0 --> PER = ckt->CKTfinalTime
2026-04-04 15:23:01 +02:00
Holger Vogt 18cbaad36c Revert "V Pulse delivers erratic outputs, when not parameterized properly."
This reverts commit 7159d6aa4b.
2026-04-04 13:50:43 +02:00
Holger Vogt 5eb1b0a510 Revert "Move comment"
This reverts commit dd2a5fd062.
2026-04-04 13:50:36 +02:00
Brian Taylor 14b94b5f15 Corrections to voltage pulses. 2026-04-04 13:37:32 +02:00
Brian Taylor 38c49fee73 Fix the voltage pulse statements. 2026-04-04 13:37:16 +02:00
Giles Atkinson ae4a05158b Ugly fix for failing MacOS builds on github: move parse-binon.y to the top.
BUILT_SOURCES seems not to work.
2026-04-01 09:53:34 +01:00
Giles Atkinson 82c91abea4 Discard all XSPICE event data when using "-b -r", as there is no way
to access it.  An initial step for FR #105: "Esave + rawfile".
2026-04-01 07:35:20 +01:00
Giles Atkinson e42a9e6b5c Fix excessive forcing to lower-case in pure script files.
Add string comparisons as protected commands so they can be case-sensitive.
2026-04-01 07:35:20 +01:00
Giles Atkinson 3586cbcbea Fix crash when a "*ng_script_with_params" script is called
from a control section.
2026-04-01 07:35:20 +01:00
Giles Atkinson fe8193cdfb Improve S-parameter example: change node names to make plot clearer,
add port impedance parameters to subcircuit and simply string parameter.
2026-04-01 07:35:20 +01:00
Holger Vogt 499c1d3dca We develop towards ngspice-47 2026-03-30 16:08:41 +02:00
Holger Vogt 4feeb94b12 Improve error message, make fprintf independent from OS 2026-03-30 16:03:19 +02:00
Holger Vogt 96404e9939 Exclude memory check for Apple Silicon
Not yet working as getAvailableMemorySize delivers wrong values.
2026-03-30 16:00:32 +02:00
Holger Vogt ebdaf58ec7 Prepare for ngspice-46 2026-03-29 14:13:38 +02:00
dwarning 33b53f9df6 diode: correct charge reporting for soft recovery option 2026-03-27 10:31:46 +01:00
Holger Vogt f227a3abd6 Prevent a crash with shared ngspice when memory is exhausted:
Add a pre-check if available memory is sufficient. If not, bail out.
2026-03-27 10:31:30 +01:00