From 3ee3ab39a9e9df1f1bb6dc4b4c5d72ae330fe3ab Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Mon, 23 Apr 2018 21:45:14 +0200 Subject: [PATCH] Choose better interpolation and default parameters --- src/spicelib/devices/vdmos/vdmosload.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/spicelib/devices/vdmos/vdmosload.c b/src/spicelib/devices/vdmos/vdmosload.c index ffd3a8aaf..7d3980cae 100644 --- a/src/spicelib/devices/vdmos/vdmosload.c +++ b/src/spicelib/devices/vdmos/vdmosload.c @@ -890,13 +890,13 @@ scalef(double nf2, double vgst) static double cweakinv(double slope, double shift, double vgst, double vds, double lambda, double beta, double vt, double mtr) { - vgst += shift * (1 - scalef(2, vgst)); + vgst += shift * (1 - scalef(0.5, vgst)); double n = slope / 2.3 / 0.0256; /* Tsividis, p. 208 */ - double n1 = n + (1 - n) * scalef(2, vgst); /* n < n1 < 1 */ + double n1 = n + (1 - n) * scalef(1, vgst); /* n < n1 < 1 */ double first = log(1 + exp(vgst / (2 * n1 * vt))); double second = log(1 + exp((vgst - vds * mtr * n1) / (2 * n1 * vt))); double cds = - beta * n1 * 2 * vt * vt * (1 + scalef(2, vgst) * lambda * vds) * + beta * n1 * 2 * vt * vt * (1 + scalef(1, vgst) * lambda * vds) * (first * first - second * second); return cds; }