I don’t know what you’re doing differently than me. The project I sent you simulates like this, where the curves for each opamp type are identical (overlaying each other).
I can reproduce your results with the OPA1656 when running the simulator development version ngspice-33+. When running ngspice-32, as is distributed with KiCad 5.1.8, then I get Ste’s results. ngspice-33 is o.k. as well.
I have to look into ngspice about what is going on.
It is about selecting the appropriate ngspice compatible replacement for the vswitch model which is used in OPA1656.
In ngspice-33 I have used a code model aswitch. In ngspice-33+ I have used a new code model pswitch, which more closely resembles the original PSPICE model, but obviously is failing with OPA1656. I will have to check if I should revert this selection or improve the pswitch model.
I have done tests with op amps I have got, and then reverted the previous commit: vswitch is now again replaced by aswitch in the ngspice git development branch pre-master.
Does this pre-master version need special procedures for installation?
Currently, I run NGspice 33 in C: Spice64 folder with Windows10 operation system.
** ngspice-33+ : Circuit level simulation program
** The U. C. Berkeley CAD Group
** Copyright 1985-1994, Regents of the University of California.
** Copyright 2001-2020, The ngspice team.
** Please get your ngspice manual from http://ngspice.sourceforge.net/docs.html
** Please file your bug-reports at http://ngspice.sourceforge.net/bugrep.html
** Creation Date: Sun Nov 22 17:38:06 UTC 2020
Doing analysis at TEMP = 27.000000 and TNOM = 27.000000
Reference value : 0.00000e+00
No. of Data Rows : 1
I can confirm your results. ngspice is struggling with this opamp model.
When .ac is simulated, firstly the operating point is determined. Same with transient simulation (.tran). If you watch the transient simulation with this opamp, there are some oscillations until it stabilizes and then the simulation is o.k… No problem for .tran, because one always has a start-up phase (best to be ignored, except if you want to have a dedicated look at power-on). With .ac then we have a problem, op is not yet stable, and you (automatically) start doing the ac simulation.
The model developers obviously never have considered testing their models with ngspice (they use other simulators). So we have to adapt our simulator, without knowing implementation details of the non-open source simulators.
Candidates are at least the vswitch model and the limit function. I will have a look, searching for a universal solution, but this may be not a quick approach.
the different opamps will be used in an audio filter circuit (analog line level crossover)
After doing the EEschematic, the simulation might help in discovering design errors and in estimating performance.
Generic opamp spice models might work to a certain degree.
But once you start looking at noise figures, it would be worth having the manufacturers spice model at work
I agree. If you’re going to do noise analysis, you would probably want the sophisticated model.
If this is the case, then I think until Holger is able to duplicate within ngspice the exact PSPICE behavior causing the discrepancy…you need to use either different opamps or use a different simulator. Your latest project has valid outputs for all three branches when I simulate it in LTspice using the Eeschema netlist export command.