11 changed files with 90 additions and 6 deletions
-
2src/spicelib/devices/res/res.c
-
3src/spicelib/devices/res/resask.c
-
6src/spicelib/devices/res/resdefs.h
-
3src/spicelib/devices/res/resmask.c
-
4src/spicelib/devices/res/resmpar.c
-
4src/spicelib/devices/res/resparam.c
-
1src/spicelib/devices/res/ressetup.c
-
15src/spicelib/devices/res/restemp.c
-
2tests/regression/temper/Makefile.am
-
55tests/regression/temper/temper-res-1.cir
-
1tests/regression/temper/temper-res-1.out
@ -0,0 +1,55 @@ |
|||||
|
regression test temper-res-1.cir, TC1 TC2 and TCE |
||||
|
|
||||
|
* check res model TC1 TC2, and TCE parameter |
||||
|
|
||||
|
.model rtest r r=1000 tc1=2m tc2=30u tce=5m |
||||
|
|
||||
|
v1 1 0 dc 5v |
||||
|
r1 1 0 rtest |
||||
|
|
||||
|
v2 2 0 dc 5v |
||||
|
r2 2 0 1k tc1=2m tc2=30u tce=5m |
||||
|
|
||||
|
.control |
||||
|
|
||||
|
let success_count = 0 |
||||
|
|
||||
|
dc temp 10 100 10.0 |
||||
|
|
||||
|
let tc1 = 2m |
||||
|
let tc2 = 30u |
||||
|
let tce = 5m |
||||
|
|
||||
|
let val1 = -v(1)/i(v1) |
||||
|
let val2 = -v(2)/i(v2) |
||||
|
|
||||
|
let tdif = "temp-sweep" - 27.0 |
||||
|
let gold = 1000.0 * ((tc2 * tdif + tc1) * tdif + 1) * (1.01^(tce * tdif)) |
||||
|
|
||||
|
* plot val1 |
||||
|
* plot val1/gold - 1 |
||||
|
* plot val2 |
||||
|
* plot val2/gold - 1 |
||||
|
|
||||
|
let err1 = vecmax(abs(val1/gold - 1)) |
||||
|
let err2 = vecmax(abs(val2/gold - 1)) |
||||
|
|
||||
|
echo "Note: err1 =" $&err1 |
||||
|
echo "Note: err2 =" $&err2 |
||||
|
|
||||
|
if err1 > 1e-14 or err2 > 1e-14 |
||||
|
echo "ERROR: test failed" |
||||
|
else |
||||
|
echo "INFO: success" |
||||
|
let success_count = success_count + 1 |
||||
|
end |
||||
|
|
||||
|
if success_count ne 1 |
||||
|
quit 1 |
||||
|
else |
||||
|
quit 0 |
||||
|
end |
||||
|
|
||||
|
.endc |
||||
|
|
||||
|
.end |
||||
@ -0,0 +1 @@ |
|||||
|
INFO: success |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue