From 5dd666d5b01b224254473e0be6d369ec29197231 Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Tue, 10 Mar 2026 12:53:15 +0100 Subject: [PATCH] Replace B source by F source (CCCS) Enavle subcircuit approach by #define DEGSUBCKT --- src/frontend/inpdeg.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/frontend/inpdeg.c b/src/frontend/inpdeg.c index 60e051bd7..955c3c6af 100644 --- a/src/frontend/inpdeg.c +++ b/src/frontend/inpdeg.c @@ -26,7 +26,7 @@ static int add_degmodel(struct card* deck, double* result); /* maximum number of models */ #define DEGMODMAX 64 -//#define DEGSUBCKT +#define DEGSUBCKT /* global pointer: results from first tran run */ NGHASHPTR degdatahash = NULL; @@ -470,15 +470,16 @@ static int add_degmodel(struct card* deck, double* result) { } /* gate voltage shift */ if (vts) +// nline[0] = tprintf("Vg%d intern_%s %s %e\n", numvg++, gtok, gtok, result[0]); nline[0] = tprintf("Vg%s intern_%s %s %e\n", intok, gtok, gtok, result[0]); else nline[0] = NULL; /* drain current reduction */ if (currd) { - /* current measurement*/ + /* current measurement at source side */ nline[1] = tprintf("Vm%s intern_%s %s 0\n", intok, stok, stok); - /* parallel drain current */ - nline[2] = NULL; tprintf("B%s %s %s i = i(Vm%s) * %e\n", intok, dtok, stok, intok, currdeg); + /* parallel drain current with CCCS */ + nline[2] = tprintf("F%s %s %s Vm%s %e\n", intok, dtok, stok, intok, currdeg); } else nline[1] = nline[2] = NULL;