I followed the instructions given by: http://ngspice.sourceforge.net/ngspice-eeschema.html#intro when I set it up. I'm using Windows 10, so I used the environment variable %USERPROFILE% to get where I was going. From there, I created first one file, then, when that did not work, the other. Here's what I've got: ``` C:\>cd %USERPROFILE% C:\Users\Dave>type .spiceinit * user provided init file set ngbehavior=ps C:\Users\Dave>type spice.rc * user provided init file set ngbehavior=ps C:\Users\Dave> ``` I don't think I've deviated from the instructions. I did restart KiCAD after creating each file. I still get `Error: no such function 'pwrs'`. Here is my netlist for what does not work: > .title KiCad schematic > XU1 Out Net-_R2-Pad1_ Net-_R3-Pad1_ ECC83 > R4 V+ Out 100k > R2 Net-_R2-Pad1_ Net-_C1-Pad1_ 1k > R1 Net-_C1-Pad1_ GND 1Meg > R5 Out GND 1Meg > V2 In GND SIN(0 1 1k) > V1 V+ GND DC 250 AC 0 > C1 Net-_C1-Pad1_ In 0.47u > R3 Net-_R3-Pad1_ GND 1.5k > .save @r4[i] > .save @r2[i] > .save @r1[i] > .save @r5[i] > .save @v2[i] > .save @v1[i] > .save @c1[i] > .save @r3[i] > .save V(In) > .save V(Net-_C1-Pad1_) > .save V(Net-_R2-Pad1_) > .save V(Net-_R3-Pad1_) > .save V(Out) > .save V(V+) > .SUBCKT ECC83 P G K > E1 2 0 VALUE={45+V(P,K)+95.43*V(G,K)} > R1 2 0 1.0K > Gp P K VALUE={1.147E-6*(PWR(V(2),1.5)+PWRS(V(2),1.5))/2} > Cgk G K 1.6P > Cgp G P 1.7P > Cpk P K 0.46P > .ENDS ECC83 > .tran 1m 2m > .end Here is my netlist for what *does* work: > .title KiCad schematic > XU1 Out Net-_R2-Pad1_ Net-_R3-Pad1_ ECC83 > R4 V+ Out 100k > R2 Net-_R2-Pad1_ Net-_C1-Pad1_ 1k > R1 Net-_C1-Pad1_ GND 1Meg > R5 Out GND 1Meg > V2 In GND SIN(0 1 1k) > V1 V+ GND DC 250 AC 0 > C1 Net-_C1-Pad1_ In 0.47u > R3 Net-_R3-Pad1_ GND 1.5k > .save @r4[i] > .save @r2[i] > .save @r1[i] > .save @r5[i] > .save @v2[i] > .save @v1[i] > .save @c1[i] > .save @r3[i] > .save V(In) > .save V(Net-_C1-Pad1_) > .save V(Net-_R2-Pad1_) > .save V(Net-_R3-Pad1_) > .save V(Out) > .save V(V+) > .SUBCKT ECC83 P G K > E1 2 0 VALUE={45+V(P,K)+95.43*V(G,K)} > R1 2 0 1.0K > Gp P K VALUE={1.147E-6*(PWR(V(2),1.5)+SGN(V(2))*PWR(V(2),1.5))/2} > Cgk G K 1.6P > Cgp G P 1.7P > Cpk P K 0.46P > .ENDS ECC83 > .tran 1m 2m > .end The only change between the two netlists is me changing PWRS(V(2),1.5)) to SGN(V(2))*PWR(V(2),1.5)) Perhaps there is something else causing the problem? Is there any way to verify the init file is actually being read on startup? Is there a SPICE equivalent of a console.log()? Both init files have read-write permissions. I can't think of what else it might be.