Two simple test files for behavioral RLC sources.
This commit is contained in:
parent
9527a8aa2e
commit
deb7e6651d
|
|
@ -0,0 +1,56 @@
|
|||
.TITLE Test non-linear RLC
|
||||
|
||||
.param lin=0 ape=13 bear=69 giraffe=bear/ape
|
||||
|
||||
Vc ctrl 0 dc=2
|
||||
V1 1 0 dc=0 pulse(0 10 0 1u 1u 10u 20u)
|
||||
|
||||
|
||||
* Implement linear R/L/C with behavioral sources
|
||||
R1 1 2 R='v(ctrl)*1.23' tc1=-10u tc2=-20u
|
||||
L1 2 3 L='v(ctrl)*1m' ic=0 tc1=-10u tc2=-20u
|
||||
.if (lin)
|
||||
C1 3 0 C='v(ctrl)*2.34u' ic=-30 tc1=-10u tc2=-20u
|
||||
.else
|
||||
C1 3 0 C='(1.9+tanh(v(3)))*2.34u' ic=-30 tc1=-10u tc2=-20u
|
||||
.endif
|
||||
Rd 3 0 100T $ For convergence
|
||||
|
||||
* Specify different temperature coefficients
|
||||
R2 1 0 'v(ctrl)*1.23' tc1=-10u tc2=-20u $ both tc1 and tc2
|
||||
R3 1 0 'v(ctrl)*1.23' tc1=-10u $ tc1 but no tc2
|
||||
R4 1 0 'v(ctrl)*1.23' tc2=-20u $ only tc2
|
||||
R5 1 0 'v(ctrl)*1.23' $ no tc
|
||||
|
||||
* Expressions for tc
|
||||
R6 1 0 1001 tc1='-3*100u/4' tc2='sqrt(100)*1.3m'
|
||||
R7 1 0 1001 tc1='-3*100u/4'
|
||||
R8 1 0 1001 tc1='-3*100u/4' tc2='sqrt(100)*1.3m' temp='100+1' dtemp='24*2/4'
|
||||
|
||||
R9 1 0 '1.23*10' tc1='-3*100u/4' tc2='sqrt(100)*1.3m'
|
||||
*bug R10 1 0 'v(ctrl)*1.23*{pi/10}' tc1='-3*100u/4' tc2='sqrt(100)*1.3m'
|
||||
*bug B11 4 0 v = v(ctrl)*{1.23*pi/10} tc1='-3*100u/4' tc2='sqrt(100)*1.3m'
|
||||
Rxx 4 0 1k
|
||||
|
||||
*bug B12 5 0 v = {bear*1.23*pi/ape} tc1='-3*100u/ape' tc2='sqrt(100)*giraffe'
|
||||
L1 5 6 0.1mH
|
||||
C3 6 0 C='1u*25'
|
||||
|
||||
* test for names imbedded in other names
|
||||
V2 nodetc1001 0 2
|
||||
C4 6 0 C='v(nodetc1001)*2u'
|
||||
*bug C5 6 0 C='v(nodetc1001)*2u' tc1='-3*100u/ape' tc2='sqrt(100)*giraffe'
|
||||
|
||||
.tran 1u 1ms uic
|
||||
.options method=trap reltol=1m
|
||||
|
||||
*.inc ngspice.inc
|
||||
.control
|
||||
listing e
|
||||
run
|
||||
set filetype=ascii
|
||||
write testRLC.raw
|
||||
* quit
|
||||
.endc
|
||||
|
||||
.end
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
.TITLE Test non-linear RLC2
|
||||
|
||||
.param ape=13 bear=69 giraffe=bear/ape*1u
|
||||
|
||||
X1 0 1 2 dummy a={3*ape} b={sqrt(bear)} c={giraffe+5}
|
||||
|
||||
Vx nodetc2001 0 dc=2
|
||||
Rx 1 2 1k
|
||||
Bx 1 0 v = {bear*1.23*pi/ape} tc1=-300u tc2=10m
|
||||
|
||||
R1 2 0 R='12+1u*25'
|
||||
R2 2 0 R='24+v(nodetc2001)*2u'
|
||||
R3 2 0 R='36+v(nodetc2001)*2u' tc1=-300u tc2=10m
|
||||
|
||||
C1 2 0 C='1u*25'
|
||||
C2 2 0 C='v(nodetc2001)*2u'
|
||||
C3 2 0 C='v(nodetc2001)*2u' tc1=-300u' tc2=10m
|
||||
|
||||
L1 2 0 L='1u*25'
|
||||
L2 2 x L='v(nodetc2001)*2u'
|
||||
Ri x 0 1
|
||||
L3 2 0 L='v(nodetc2001)*2u' tc1=-300u tc2=10m
|
||||
|
||||
.subckt dummy 0 1 2 a=1 b=2 c=3
|
||||
r1 1 0 {a}
|
||||
r2 2 0 {b}
|
||||
r3 1 2 {c}
|
||||
.ends dummy
|
||||
|
||||
.tran {1u*3} 1ms uic
|
||||
.options method=trap reltol=1m temp=120
|
||||
|
||||
.control
|
||||
listing e
|
||||
run
|
||||
set filetype=ascii
|
||||
write testRLC2.raw
|
||||
.endc
|
||||
|
||||
.end
|
||||
Loading…
Reference in New Issue