4 changed files with 176 additions and 0 deletions
-
32examples/inductive-systems/positive-definite-1.cir
-
31examples/inductive-systems/positive-definite-2.cir
-
33examples/inductive-systems/positive-definite-3.cir
-
80examples/inductive-systems/positive-definite-4.cir
@ -0,0 +1,32 @@ |
|||
* indentify non-viable inductive systems (2x2 case) |
|||
|
|||
* (compile (concat "../../../w32/src/ngspice " buffer-file-name) t) |
|||
* (compile (concat "valgrind --track-origins=yes --leak-check=full --show-reachable=yes ../../../w32/src/ngspice " buffer-file-name) t) |
|||
|
|||
.subckt ind2 a1 a2 b1 b2 L11=0 L22=0 L12=0 |
|||
R1 a1 n1 1k |
|||
L1 n1 a2 {L11} |
|||
L2 n2 b2 {L22} |
|||
R2 n2 a2 1k |
|||
K12 L1 L2 {L12/sqrt(abs(L11*L22))} |
|||
.ends |
|||
|
|||
v1 a 0 dc 1 |
|||
R1 a 0 1k |
|||
R2 b 0 1k |
|||
|
|||
Xgood1 a 0 b 0 ind2 L11=1u L22=4u L12=1.98u |
|||
Xbad2 a 0 b 0 ind2 L11=1u L22=4u L12=2.01u |
|||
Xgood3 a 0 b 0 ind2 L11=1u L22=4u L12=-1.98u |
|||
Xbad4 a 0 b 0 ind2 L11=1u L22=4u L12=-2.01u |
|||
|
|||
Xbad5 a 0 b 0 ind2 L11=1u L22=-4u L12=1n |
|||
Xbad6 a 0 b 0 ind2 L11=-1u L22=4u L12=1n |
|||
|
|||
.control |
|||
op |
|||
remcirc |
|||
quit 0 |
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1,31 @@ |
|||
* indentify non-viable inductive systems (3xx case) |
|||
|
|||
* (compile (concat "../../../w32/src/ngspice " buffer-file-name) t) |
|||
* (compile (concat "valgrind --track-origins=yes --leak-check=full --show-reachable=yes ../../../w32/src/ngspice " buffer-file-name) t) |
|||
|
|||
.subckt ind3 a b c L11=10u L22=11u L33=10u K12=0 K13=0 K23=0 |
|||
R1 a n1 1k |
|||
R2 b n2 1k |
|||
R4 c n3 1k |
|||
L1 n1 0 {L11} |
|||
L2 n2 0 {L22} |
|||
L3 n3 0 {L33} |
|||
K12 L1 L2 {K12} |
|||
K13 L1 L3 {K13} |
|||
K23 L2 L3 {K23} |
|||
.ends |
|||
|
|||
Xgood1 a b c ind3 |
|||
Xgood2 a b c ind3 K12=0.96 K23=0.99 K13=0.98 |
|||
Xgood3 a b c ind3 K12=0.96 K23=0.99 K13=0.9898988607 |
|||
Xbad4 a b c ind3 K12=0.96 K23=0.99 K13=0.9898988608 |
|||
Xborder5 a b c ind3 K12=1 K23=1 K13=1 |
|||
Xbad6 a b c ind3 K12=1.01 K23=1 K13=1 |
|||
|
|||
.control |
|||
op |
|||
remcirc |
|||
quit 0 |
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1,33 @@ |
|||
* indentify non-viable inductive systems (4x4 case) |
|||
|
|||
* this excersices the "merging" case in muttemp.c |
|||
|
|||
* (compile (concat "../../../w32/src/ngspice " buffer-file-name) t) |
|||
* (compile (concat "valgrind --track-origins=yes --leak-check=full --show-reachable=yes ../../../w32/src/ngspice " buffer-file-name) t) |
|||
|
|||
.subckt ind4 a b c d L11=0 L22=0 L33=0 L44=0 L12=0 L13=0 L14=0 L23=0 L24=0 L34=0 |
|||
R1 a 1 1k |
|||
R2 b 2 1k |
|||
R3 c 3 1k |
|||
R4 d 4 1k |
|||
L1 a 0 {L11} |
|||
L2 b 0 {L22} |
|||
L3 c 0 {L33} |
|||
L4 d 0 {L44} |
|||
K13 L1 L3 {L13/sqrt(abs(L11*L33))} |
|||
K14 L1 L4 {L14/sqrt(abs(L11*L44))} |
|||
K23 L2 L3 {L23/sqrt(abs(L22*L33))} |
|||
K24 L2 L4 {L24/sqrt(abs(L22*L44))} |
|||
K12 L1 L2 {L12/sqrt(abs(L11*L22))} |
|||
K34 L3 L4 {L34/sqrt(abs(L33*L44))} |
|||
.ends |
|||
|
|||
Xgood1 a b c d ind4 L11=1u L22=4u L33=3u L44=5u L12=1n L13=1n L14=1n L23=1n L24=1n L34=1n |
|||
|
|||
.control |
|||
op |
|||
remcirc |
|||
quit 0 |
|||
.endc |
|||
|
|||
.end |
|||
@ -0,0 +1,80 @@ |
|||
* indentify non-viable inductive systems ("altering" case) |
|||
|
|||
* exercise "alter" and "indverbosity" |
|||
|
|||
* (compile (concat "../../../w32/src/ngspice " buffer-file-name) t) |
|||
* (compile (concat "valgrind --track-origins=yes --leak-check=full --show-reachable=yes ../../../w32/src/ngspice " buffer-file-name) t) |
|||
|
|||
|
|||
V1 x 0 dc=0 ac=1 |
|||
Rx x 1 1 |
|||
R1 2 0 1k |
|||
R2 3 0 1k |
|||
|
|||
L1 1 0 10u |
|||
L2 2 0 11u |
|||
L3 3 0 10u |
|||
|
|||
k12 L1 L2 0 |
|||
k23 L2 L3 0 |
|||
k13 L1 L3 0 |
|||
|
|||
R101 101 0 1k |
|||
L101 101 0 1u |
|||
L102 102 0 2u |
|||
L103 103 0 3u |
|||
K1012 L101 L102 0.1 |
|||
K1013 L101 L103 0.2 |
|||
|
|||
.AC LIN 5k 1k 10MEG |
|||
|
|||
.control |
|||
listing e |
|||
|
|||
echo coupling factors 0 0 0 -- ok |
|||
op |
|||
|
|||
alter k12 0.96 |
|||
alter k23 0.99 |
|||
alter k13 0.98 |
|||
echo coupling factors 0.96 0.98 0.98 -- ok |
|||
op |
|||
|
|||
alter k12 0.96 |
|||
alter k23 0.99 |
|||
alter k13 0.9898988607 |
|||
echo coupling factors 0.96 0.98 0.9898988607 -- ok |
|||
op |
|||
|
|||
alter k12 0.96 |
|||
alter k23 0.99 |
|||
alter k13 0.9898988608 |
|||
echo coupling factors 0.96 0.98 0.9898988608 -- not ok |
|||
op |
|||
|
|||
alter k12 1 |
|||
alter k23 1 |
|||
alter k13 1 |
|||
echo coupling factors 1 1 1 -- not ok |
|||
op |
|||
|
|||
echo coupling factors 1.01 1 1 -- not ok |
|||
alter k12 1.01 |
|||
set indverbosity = 2 |
|||
echo "op with indverbosity=2" |
|||
op |
|||
set indverbosity = 1 |
|||
echo "op with indverbosity=1" |
|||
op |
|||
set indverbosity = 0 |
|||
echo "op with indverbosity=0" |
|||
op |
|||
|
|||
destroy all |
|||
remcirc |
|||
|
|||
quit |
|||
|
|||
.endc |
|||
|
|||
.END |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue